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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Beugnard, A.: Is MDA achievable without a proper definition of late binding? In: UML Workshop in Software Model Engineering (WiSME) (2002)
Castagna, G.: Covariance and contravariance: conflict without a cause. ACM TOPLAS 17(3), 431–447 (1995)
Chambers, C.: Predicate Classes. In: Nierstrasz, O. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 268–296. Springer, Heidelberg (1993)
DeLine, R., Fähnrich, M.: Typestates for Objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 465–490. Springer, Heidelberg (2004)
Drossopoulou, S., Damiani, F., Dezani-Ciancaglini, M., Giannini, P.: More dynamic object reclassification: FickleII. ACM Trans. Program. Lang. Syst. 24(2), 153–191 (2002)
Ernst, M., Kaplan, C., Chambers, C.: Predicate Dispatching: A Unified Theory of Dispatch. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 186–211. Springer, Heidelberg (1998)
Edwards, J., Jackson, D., Torlak, E.: A type system for object models. In: Proc. of the 12th ACM SIGSOFT Int. Symp. on Foundations of Software Engineering, pp. 189–199. ACM Press, New York (2004)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Gogolla, M., Drosten, K., Lipeck, U.W., Ehrich, H.D.: Algebraic and Operational Semantics of Specifications Allowing Exceptions and Errors. Theor. Comput. Sci. 34, 289–313 (1984)
Goguen, J.A., Diaconescu, R.: An Oxford Survey of Order Sorted Algebra. Mathematical Structures in Computer Science 4(3), 363–392 (1994)
Meseguer, J., Goguen, J.A.: Order-sorted algebra solves the constructor-selector, multiple representation, and coercion problems. Information and Computation 103(1), 114–158 (1993)
Milstein, T.: Practical Predicate Dispatch. In: OOPSLA. Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 345–364 (2004)
Mosses, P.D.: The Use of Sorts in Algebraic Specifications. In: COMPASS/ADT, pp. 66–92 (1991)
Nierstrasz, O.: Regular types for active objects. In: OOPSLA. Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 1–15 (1993)
OMG Unified Modeling Language: Superstructure Version 2.0 (2005)
Paech, B., Rumpe, B.: A new concept of refinement used for behaviour modelling with automata. In: Naftalin, M., Bertran, M., Denvir, T. (eds.) FME 1994. LNCS, vol. 873, pp. 154–174. Springer, Heidelberg (1994)
Salzman, L., Aldrich, J.: Prototypes with Multiple Dispatch: An Expressive and Dynamic Object Model. In: ECOOP, pp. 312–336 (2005)
Shang, D.L.: Covariant deep subtyping reconsidered. SIGPLAN Notices 30(5), 21–28 (1995)
Steimann, F.: A radical revision of UML’s role concept. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 194–209. Springer, Heidelberg (2000)
Steimann, F., Kühne, T.: A radical reduction of UML’s core semantics. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 34–48. Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Steimann, F., Kühne, T. (2007). Piecewise Modelling with State Subtypes. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds) Model Driven Engineering Languages and Systems. MODELS 2007. Lecture Notes in Computer Science, vol 4735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75209-7_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-75209-7_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75208-0
Online ISBN: 978-3-540-75209-7
eBook Packages: Computer ScienceComputer Science (R0)