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
- website
- http://repos.modelrealization.com/cgi-bin/fossil/mrtools/wiki?name=RoseaPage
- website
- http://chiselapp.com/user/mangoa01/repository/mrtools/wiki?name=RoseaPage
- current release
- 1.7
- release time
- 2017-08-26
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.