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:
http://repos.modelrealization.com/cgi-bin/fossil/mrtools/doc/trunk/rosea/doc/rosea.pdf%|%Literate Program Documentation http://repos.modelrealization.com/cgi-bin/fossil/mrtools/doc/trunk/rosea/doc/rosea.html%|%Manual Page Documentation http://repos.modelrealization.com/cgi-bin/fossil/mrtools/doc/trunk/rosea/doc/paper/paper/confpaper.pdf%|%Tcl 2015 Paper on ROSEA
http://repos.modelrealization.com/cgi-bin/fossil/mrtools/doc/trunk/rosea/examples/mellor-balcer/simplebookstore.pdf%|%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.