2 research outputs found
Piecewise Modelling with State Subtypes
Abstract. Models addressing both structure and behaviour of a system are usually quite complex. Much of the complexity is caused by the necessity to distinguish between different cases, such as legal vs. illegal constellations of objects, typical vs. rare scenarios, and normal vs. exceptional flows of control. The result is an explosion of cases causing large and deeply nested case analyses. While those based on the kinds of objects involved can be tackled with standard dynamic dispatch, possibilities for differentiations based on the state of objects have not yet been considered for modelling. We show how the handling of class and state-induced distinctions can be unified under a common subtyping scheme, and how this scheme allows the simplification of models by splitting them into piecewise definitions. Using a running example, we demonstrate the potential of our approach and explain how it serves the consistent integration of static and dynamic specifications.
SPin – A Fujaba Plugin for Architecture Stratification
SPin is a plugin for Fujaba that provides basic support for architecture stratification. It enables Fujaba models to be annotated with refinement directives which may then automatically be executed by the plugin. The corresponding refinement transformations may be defined with a combination of story driven modeling and Java coding. These transformations affect both model and associated code, and may be defined interactively, i.e., do not require Fujaba to be shutdown and started up again. In this paper we describe the purpose of the plugin, how to use it, its realization, and some supporting functionality