-
Key: ESSENCE2-19
-
Status: open
-
Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
-
Summary:
Issues
The following text may need refinement, uses the passive voice, and uses the past tense.
- https://issues.omg.org/browse/ESSENCE2-2 - Passive Voice
- https://issues.omg.org/browse/ESSENCE2-3 - Present Tense
- https://issues.omg.org/browse/ESSENCE2-5 - Streamline text
Original Text
Methods, practices and the Essence Kernel itself are defined using the Essence Language. The Essence Language is a domain-specific language for practices and methods (where in turn a typical domain for those is engineering as expressed by the Essence Kernel), which has a static base (syntax and well-formedness rules) to allow the effective definition of kernels, methods and practices, and additional dynamic features (operational semantics) to enable usage, and adaptation.
teams. The first objective led to the definition of both textual and graphical syntax as well as to the development of a concept of views in the latter. This way, teams can represent methods in exactly the way that suits their purposes best. By providing both textual and graphical syntax, nobody is forced to use a graphical notation in situations where textual notation is easier to handle, and vice versa. By providing a concept of views, nobody is forced to show a complete graphical representation in situations where a partial graphical representation of a method is sufficient.
The second objective led to the definition of dynamic semantics for methods. This way, a method is more than a static definition of what to do, but an active guide for a team's way-of-working. At any point in time in a running engineering endeavor, the method can be consulted and it will return advice on what to do next. Moreover, the method can be tweaked at any point in time and will still return (possibly alternate) advice on what to do next for the same situation.
The Essence Language emphasizes intuitive and concrete graphical syntax over formal semantics. This does not mean that the semantics are not as important or necessary. However, the description should be provided in a language that can be easily understood by the vast developer community whose interests are to quickly understand and use the language, rather than caring about the beauty of the language design. Hence, Essence pays extreme attention to syntax.
Suggestion
Methods, practices, and the Essence Kernel are defined and described using the Essence Language. The Essence Language is a domain-specific language for defining and describing practices and methods. In contrast, the Essence Kernel defines and describes a particular engineering domain, such as software engineering. The Essence Kernel is a static base (syntax and well-formedness rules), allowing for the effective definition of kernels, methods and practices, and additional dynamic features (operational semantics) to enable usage and adaptation.
The language design is driven by two main objectives: making methods visible and useful to teams. The first objective leads to the definition of textual and graphical syntax and the development of a concept of views in the latter. This way, teams represent methods exactly that suit their purposes best. By providing both textual and graphical syntax, nobody is forced to use a graphical notation in situations where textual notation is easier to handle, and vice versa. By providing a concept of view, nobody is forced to show a complete graphical representation in situations where a partial graphical representation of a method is sufficient.
The second objective leads to the definition of dynamic semantics for methods. In this way, a method becomes more than a static definition of what to do; it is an active guide for a team's work. At any point during an engineering endeavor, the method is consulted to provide advice on what to do next. Furthermore, the method is tweakable at any moment and still offers (possibly alternate) advice on what to do next in the same situation.
The Essence Language emphasizes intuitive and concrete graphical syntax over formal semantics. This does not imply that semantics are unimportant or unnecessary. However, the description should be provided in a language easily understood by the vast developer community, whose primary interest is quickly understanding and using the language rather than appreciating the elegance of its design. Hence, Essence pays extreme attention to syntax.
-
Reported: Essence 2.0b1 — Thu, 15 Aug 2024 22:14 GMT
-
Updated: Mon, 9 Sep 2024 16:18 GMT
ESSENCE2 — Improve readbility of the Role of the Language
- Key: ESSENCE2-19
- OMG Task Force: Essence 2.0 FTF