Abstract
The UML dynamic model is described using notions like state, event or active object that current object-oriented languages don’t support. When the implementation is not done using a state machine interpreter, these notions had to be translated into the target language. This work aims to study how to translate as automatically as possible UML state diagrams into current objectoriented languages (OOLs), distinguishing sequential and concurrent execution. This translation requires to map UML notions onto OOLs ones, to adapt the abstract state machine, and to add information to state diagrams. Behavior inheritance is a key problem, and both theoretical and practical solutions are examined to ensure behavior substitutability. Then, two main ways for state representation are compared from the inheritance point of view, and automatic code generation is discussed.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Agha G., Actors: a Model of Concurrent Computation in Distributed Systems, MIT Press, Cambridge, 1986
S.D. Brookes and C.A.R Hoare and A.W. Roscoe, “A Theory of Communicating Sequential Processes”, Journal of the ACM, Vol 31(3), 1984, p.560–599
R. Cleaveland, J. Parrow, B. Steffen, “The Concurrency Workbench: A Semantics Based Tool for the Verification of Concurrent Systems”, ACM Trans. on Programming Languages and Systems, Vol.15(1), 1993, p.36–72
Cook S., Daniels J., Designing Object Systems, Prentice Hall, 1994
K.K. Dhara, G.T. Leavens, “Forcing Behavioral Subtyping Through Specification Inheritance”, Proc. Int. conf. on Software Engineering, 1996, pp258–267
J.C. Fernandez, L. Mounier, “On the Fly Verification of behavioural Equivalences and Preorders”. Workshop on Computer-Aided Verification, Springer Verlag, LNCS 575, 1991
Gamma E., Helm R., Johnson R., Vlissides J., “Design Patterns: Elements of Reusable Object-Oriented Software.”, Addison Wesley, 1994.
Harel D., “Statecharts: A Visual Formalism for Complex Systems”, Science of Computer Programming, 1987, p.231–274
Harel D., Gery E., “Executable Object Modeling with Statecharts”, IEEE Computers, July 1997, Vol 30(7), pp31–42
C.A.R. Hoare, Communicating Sequential Processes, Prentice-Hall, 1985
Java Documentation, Sun Microsystems
D. G. Kafura and R. G. Lavender. “Concurrent Object-Oriented Languages and the Inheritance Anomaly”, in Parallel Computers: Theory and Practice, IEEE Press, 1995, pp.165–198
H. Lecoeuche, J.L. Sourrouille, “Introducing states in the object model.”, Proc. TOOLS’93 USA, p.69–81
B.H. Liskov, J.M. Wing, “A Behavioural Notion of Subtyping”, ACM Trans. On Programming Languages and Systems, Vol 16(6), 1994, p.1811–1841
Matsuoka S., Taura K., Yonezawa A., “Highly Efficient and Encapsulated Re-use of Synchronization Code in Concurrent O-O Languages”, OOPSLA’93, ACM Sigplan Notices, 1993 pp. 109–126.
B. Meyer, Object Oriented Software Construction, Prentice Hall, 1988
O. Nierstrasz. “Regular types for active objects”, OOPSLA’93, ACM Sigplan notices 1993, Vol. 28(10), p.1–15
B. Paech, B. Rumpe, “A new Concept of Refinement used for Behaviour Modelling with Automata”, Formal Methods Europe, Springer Verlag, LNCS 873, p.154–175
Papathomas M., “Concurrency in Object-Oriented Programming Languages”, In. Object-Oriented Software Composition, Prentice Hall, 1995, pp.31–68
J. Rumbaugh, “Controlling code. How to implement dynamic models”, JOOP, Vol.6(2), 1993, pp.25–30
J.L. Sourrouille, “Should subclasses inherit of all states and transitions?”, Report on Object Analysis and Design, Vol 2(6), 1996, p.19–21
J.L. Sourrouille, “A framework for the definition of behaviour inheritance”, JOOP, Vol 9(1), 1996, p.17–21
Sourrouille J.L., “Une sémantique pour l’héritage de comportement”, LMO’97, 1997, pp.131–146
B. Stroustrup, The C++ Programming Language, Addison-Wesley, 2nd edition, 1992
C. Tomlinson and V. Singh. “Inheritance and synchronization with enabled-sets”, OOPSLA’89, ACM Sigplan Notices, 1989, pp. 103–112
“OMG Unified Modeling Language Specification (draft)”, Version 1.3, March 1999.
E.Y. Wang, H.A. Richter, B.H.C. Cheng, “Formalizing and Integrating the Dynamic Model within OMT”, Proc. ACM ICSE 1997, p.45–55
P. Wegner and S. Zdonik, “Inheritance as an Incremental Modification Mechanism or What Like Is and Isn’t Like”, Proc. ECOOP 1988, Springer Verlag, p.55–77
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sourrouille, J.L. (1999). UML Behavior: Inheritance and Implementation in Current Object-Oriented Languages. In: France, R., Rumpe, B. (eds) «UML»’99 — The Unified Modeling Language. UML 1999. Lecture Notes in Computer Science, vol 1723. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46852-8_33
Download citation
DOI: https://doi.org/10.1007/3-540-46852-8_33
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66712-4
Online ISBN: 978-3-540-46852-3
eBook Packages: Springer Book Archive