Updated 2017-06-05 17:04:39 by gam

ROSEA is a Tcl package that is a suitable target for translating executable software models into Tcl programs. From the executable model point of view, ROSEA maps model level concepts onto Tcl language constructs. Translation is accomplished by describing the executable model in a domain specific language. Afterwards, a code generator creates data used by a run time component to execute the modeled system.

From the Tcl point of view, ROSEA is an object system based on namespace ensembles and uses TclRAL to store class data. The ROSEA object system includes direct support for:

  • Referential integrity checks with transparent transactions on the class model.
  • Declarative specification of state models that are associated with a class.
  • Singleton state models used to serialize competitive relationships.
  • Signaling events between state models.
  • Navigating relationships between classes to find the related instances.
  • Class based operations
  • Instance based operations

Attributes  edit

current release
release time

Documentation  edit

   Literate Program Documentation
   Manual Page Documentation
   Tcl 2015 Paper on ROSEA

Examples  edit

   Online Bookstore Example

APN This is pretty impressive, both the software and the documentation. Is this used in production or more of a research project?

GAM Rosea is the result of a long time interest of mine in more formal methods of software development. I have several users of rosea that use it for production software and, of course, I use it myself.