Combined Modelling and Programming Support for Composite States and Extensible State Machines

Kjetil Andresen, Birger Møller-Pedersen, Ragnhild Kobro Runde

2015

Abstract

Most modelling languages support full state machine modelling, including especially composite states. Existing approaches to programming with states (state design patterns) either represent composite states by means of inheritance between state classes, or do not support composite states, and instead use inheritance for specialization of extensible state machines. In this paper, we present 1) a state design pattern using delegation to support composite states and inheritance together with virtual classes to support extensible state machines, and 2) a framework, implemented in Java, which also supports history and entry/exit actions. Together, these form the basis for developing support for state machines in a combined modelling and programming language.

References

  1. Aldrich, J., J. Sunshine, S. Darpa and Z. Sparks (2009). Typestate-Oriented Programming. Onward 09, OOPSLÍ09, Orlando, Florida, USA.
  2. Chin, B. and T. Millstein (2008). An Extensible State Machine Pattern for Interactive Applications. ECOOP 2008. J. Vitek.
  3. Gamma, E., R. Helm, R. Johnson and J. Vlissides (1995). Design Patterns: Elements of Reusable ObjectOriented Software, Addison-Wesley.
  4. Harel, D. (1987). "Statecharts: A visual formalism for complex systems." Science of Computer Programming 8(3).
  5. Hewitt, C., P. Bishop and R. Steiger (1973). A Universal Modular Actor Formalism for Artificial Intelligence. International Joint Conference on Artificial Intelligence.
  6. ITU (2011). Z.100 series, Specification and Description Language.
  7. Lieberman, H. (1986). "Using prototypical objects to implement shared behavior in object-oriented systems." ACM SIGPLAN Notices 21(11): 214-223.
  8. Madsen, O. L. (1999). "Towards integration of state machines and object-oriented languages." Technology of Object-Oriented Languages and Systems: 261-274.
  9. Madsen, O. L. and B. Møller-Pedersen (1989). Virtual Classes-A Powerful Mechanism in Object-Oriented Programming. OOPSLA'89 - Object-Oriented Programming, Systems Languages and Applications, New Orleans, Louisiana, ACM Press.
  10. Madsen, O. L. and B. Møller-Pedersen (2010). A Unified Approach to Modeling and Programming. MoDELS 2010, Oslo, Springer.
  11. OMG (2011). UML - Unified Modelling Language.
  12. Sterkin, A. (2008). State-Oriented Programming. Muliparadigm Programming with Object-Oriented Languages.
  13. Sunshine, J., K. Naden, S. Stork, J. Aldrich and É. Tanter (2011). First-Class State Change in Plaid. OOPSLA'11, Portland, Oregon, USA, ACM.
  14. Taivalsaari, A. (1993). "Object-Oriented Programming with Modes." Journal of Object-Oriented Programming 6(3): 25-32.
Download


Paper Citation


in Harvard Style

Andresen K., Møller-Pedersen B. and Runde R. (2015). Combined Modelling and Programming Support for Composite States and Extensible State Machines . In Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-083-3, pages 231-238. DOI: 10.5220/0005237302310238


in Bibtex Style

@conference{modelsward15,
author={Kjetil Andresen and Birger Møller-Pedersen and Ragnhild Kobro Runde},
title={Combined Modelling and Programming Support for Composite States and Extensible State Machines},
booktitle={Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2015},
pages={231-238},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005237302310238},
isbn={978-989-758-083-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Combined Modelling and Programming Support for Composite States and Extensible State Machines
SN - 978-989-758-083-3
AU - Andresen K.
AU - Møller-Pedersen B.
AU - Runde R.
PY - 2015
SP - 231
EP - 238
DO - 10.5220/0005237302310238