Situ proposes a human centered, dynamic reasoning framework for domain experts to evolve their software. It formally models the relationship between externally observed situation sequences and the rapid evolution of that software system, using real-time usage information from users and contextual capturing on the behavior of a software system relative to its runtime environment. Situ f is a continuing effort under Situ framework [1]. In this effort, a domain specific, functional programming language named Situ f is presented from its design, semantics and a feasibility test through theoretical validation. The targeted users of this language mainly include domain experts and engineers who are versed in the major concepts and paradigms regarding human-centric situations. As argued there, human-centric situations are vitally important to infer a user's intention and therefore, to drive software service evolution. Situ f is designed particularly to encourage domain experts and engineers to think and work with situations. An attribute grammar based approach is developed so that through Situ f , relevant real-time contexts can be systematically aggregated around situations. A computational semantics is offered to precisely describe the runtime behavior of a Situ f program. While the Situ f language serves as the critical centerpiece of this work, its functioning necessarily requires environmental support from Situ elements outside the language itself, such that altogether they give rise to a Situ oriented system. This environment, named Situ f-based environment, is also introduced.