Skip to main content

Piecewise Modelling with State Subtypes

  • Conference paper
  • 1462 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4735))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Beugnard, A.: Is MDA achievable without a proper definition of late binding? In: UML Workshop in Software Model Engineering (WiSME) (2002)

    Google Scholar 

  2. Castagna, G.: Covariance and contravariance: conflict without a cause. ACM TOPLAS 17(3), 431–447 (1995)

    Article  Google Scholar 

  3. Chambers, C.: Predicate Classes. In: Nierstrasz, O. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 268–296. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  4. DeLine, R., Fähnrich, M.: Typestates for Objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 465–490. Springer, Heidelberg (2004)

    Google Scholar 

  5. Drossopoulou, S., Damiani, F., Dezani-Ciancaglini, M., Giannini, P.: More dynamic object reclassification: FickleII. ACM Trans. Program. Lang. Syst. 24(2), 153–191 (2002)

    Article  Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  9. 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)

    Article  MATH  MathSciNet  Google Scholar 

  10. Goguen, J.A., Diaconescu, R.: An Oxford Survey of Order Sorted Algebra. Mathematical Structures in Computer Science 4(3), 363–392 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  11. 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)

    Article  MATH  MathSciNet  Google Scholar 

  12. Milstein, T.: Practical Predicate Dispatch. In: OOPSLA. Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 345–364 (2004)

    Google Scholar 

  13. Mosses, P.D.: The Use of Sorts in Algebraic Specifications. In: COMPASS/ADT, pp. 66–92 (1991)

    Google Scholar 

  14. Nierstrasz, O.: Regular types for active objects. In: OOPSLA. Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 1–15 (1993)

    Google Scholar 

  15. OMG Unified Modeling Language: Superstructure Version 2.0 (2005)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. Salzman, L., Aldrich, J.: Prototypes with Multiple Dispatch: An Expressive and Dynamic Object Model. In: ECOOP, pp. 312–336 (2005)

    Google Scholar 

  18. Shang, D.L.: Covariant deep subtyping reconsidered. SIGPLAN Notices 30(5), 21–28 (1995)

    Article  MathSciNet  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gregor Engels Bill Opdyke Douglas C. Schmidt Frank Weil

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics