The architecture of a UML virtual machine

Dirk Riehle, Steven Fraleigh, Dirk Bucka-Lassen, Nosa Omorogbe
2001 Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications - OOPSLA '01  
Current software development tools let developers model a software system and generate code from the models to execute the system. However, generating code and installing a non-trivial system induces a time delay between changing the model and executing it that makes rapid model prototyping awkward if not impossible. This paper presents the architecture of a virtual machine for UML that interprets UML models without any intermediate code-generation step. As its main contribution, the paper
more » ... how to embed UML in a metalevel architecture so that a key requirement of model-based systems, the causal connection property between models and model instances, is always guaranteed. With this architecture, changes to a model have immediate effects on its execution, providing users with rapid feedback about the model's structure and behavior. This approach supports model innovation better than today's code-generation approaches. • Easier-to-understand system and up-to-date documentation. Because design and implementation are always in sync, so is the documentation. The system is easier to understand and better documented. However, code-generation does not solve all the problems. In particular, it has the following drawback: • Delay between model change and model instance execution. Generating code from models, compiling this code, shutting down the existing system, installing and configuring the new system, and starting it up can take from minutes to hours. This time delay makes exploration and simulation of new models with immediate user feedback awkward if not impossible, thereby significantly hindering the innovative exploration of the model solution space. The resulting models easily become sub-optimal. This paper presents the architecture of a virtual machine for UML. The virtual machine represents the modeling language (UML), the models described using UML, and the model instances as firstclass entities. For executing a model, the virtual machine instanti-Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
doi:10.1145/504282.504306 dblp:conf/oopsla/RiehleFBO01 fatcat:oszon5k63jenfnmrcclnpmtquy