CML

Term

CML

Aliases

-

Abbreviation

Cozy Modeling Language

Definition

CML (Cozy Modeling Language) is the SimpleModeling formal modeling language for describing the Executable Model portion of an Object Model that connects to program generation and execution.

SimpleModeling

CML formalizes executable Model Elements such as Objects, Types, Relationships, responsibilities, Constraints, States, Operations, Events, Services, and StateMachines. Cozy analyzes CML and transforms it into Scala-centered program structures, configuration, documentation, and other artifacts. A CML Type and a Scala Type are not identical concepts; they are mapped during realization.

Execution Example Models such as Interactions are outside the scope of current CML. Reviewed Objects, Services, Operations, Events, StateMachines, and Constraints from Use Case Scenarios and execution examples are projected into the CML Executable Model. Concrete ordering and decisions among participants remain traceable to the execution examples and Use Case Realization Model.

CML does not represent an entire SimpleModeling Model by itself. The Knowledge and Literate Models and the execution-example portion of the Object Model remain in their canonical forms and connect to the CML Executable Model through Glossary identities and trace relationships.

simplemodeling-lib

simplemodeling-lib is not a tool that generates CML; it provides the semantic runtime vocabulary shared by code generated from CML and handwritten code. A CML Parameter Constraint is normalized to OCL-derived predicates and realized at the protocol boundary as a Value Domain composed of Schema Data Type, Multiplicity, and Constraints.

  • Object Model

  • Executable Model

  • Execution Example Model

  • Interaction

  • Collaboration

  • Service

  • Operation

  • Event

  • StateMachine

  • Literate Model

  • Knowledge Model

  • Cozy

  • Type

  • SimpleModeling Library