Abstract
Precise modeling with UML and OCL traditionally focuses on structural model features like class invariants. OCL also allows the developer to handle behavioral aspects in form of operation pre- and postconditions. However, behavioral UML models like statecharts have rarely been integrated into UML and OCL modeling tools. This paper discusses an approach that combines precise structure and behavior modeling: Class diagrams together with class invariants restrict the model structure and protocol state machines constrain the model behavior. Protocol state machines can take advantage of OCL in form of OCL state invariants and OCL guards and postconditions for state transitions. Protocol state machines can cover complete object lifecycles in contrast to operation pre- and postconditions which only affect single operation calls. The paper reports on the chosen UML language features and their implementation in a UML and OCL validation and verification tool.
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
Abstract Solutions Ltd: Executable UML (xUML). Internet (2012), http://www.kc.com/XUML/
Börger, E., Cavarra, A., Riccobene, E.: Modeling the Dynamics of UML State Machines. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 223–241. Springer, Heidelberg (2000)
Büttner, F., Gogolla, M.: Modular Embedding of the Object Constraint Language into a Programming Language. In: Simao, A., Morgan, C. (eds.) SBMF 2011. LNCS, vol. 7021, pp. 124–139. Springer, Heidelberg (2011)
Drusinsky, D.: tak Shing, M.: Using UML Statecharts with Knowledge Logic Guards. In: Schürr and Selic [30], pp. 586–590 (2009)
Flake, S., Müller, W.: Formal semantics of static and temporal state-oriented OCL constraints. Software and System Modeling 2(3), 164–186 (2003)
Geiger, L., Zündorf, A.: Statechart Modeling with Fujaba. Electr. Notes Theor. Comput. Sci. 127(1), 37–49 (2005)
Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL Models in USE by Automatic Snapshot Generation. Journal on Software and System Modeling 4(4), 386–398 (2005)
Gogolla, M., Büttner, F., Richters, M.: USE: A UML-Based Specification Environment for Validating UML and OCL. Science of Computer Programming 69, 27–34 (2007)
Gutiérrez, M.E.B., Barrio-Solórzano, M., Quintero, C.E.C., de la Fuente, P.: UML Automatic Verification Tool with Formal Methods. Electr. Notes Theor. Comput. Sci. 127(4), 3–16 (2005)
Hamann, L., Gogolla, M., Kuhlmann, M.: OCL-Based Runtime Monitoring of JVM Hosted Applications. In: Cabot, J., Clariso, R., Gogolla, M., Wolff, B. (eds.) Proc. Workshop OCL and Textual Modelling (OCL 2011). ECEASST, Electronic Communications (2011), journal.ub.tu-berlin.de/eceasst/issue/view/56
Hamann, L., Hofrichter, O., Gogolla, M.: OCL-Based Runtime Monitoring of Applications with Protocol State Machines. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 384–399. Springer, Heidelberg (2012)
Hamann, L., Vidács, L., Gogolla, M., Kuhlmann, M.: Abstract Runtime Monitoring with USE. In: Ferenc, R., Mens, T., Cleve, A. (eds.) Proc. CSMR 2012 (2012)
Harel, D., Kugler, H.: The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML) - Preliminary Version. In: Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) INT 2004. LNCS, vol. 3147, pp. 325–354. Springer, Heidelberg (2004)
Hennicker, R., Knapp, A., Baumeister, H.: Semantics of OCL Operation Specifications. Electr. Notes Theor. Comput. Sci. 102, 111–132 (2004)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press (2006)
Kleppe, A., Warmer, J.: Extending OCL to Include Actions. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 440–450. Springer, Heidelberg (2000)
Kleppe, A., Warmer, J.: The Semantics of the OCL Action Clause. In: Clark, T., Warmer, J. (eds.) Object Modeling with the OCL. LNCS, vol. 2263, pp. 213–227. Springer, Heidelberg (2002)
Kolovos, D., Rose, L., Paige, R.: The Epsilon Book. Internet (2012), http://www.eclipse.org/epsilon/doc/book
Kuhlmann, M., Hamann, L., Gogolla, M.: Extensive Validation of OCL Models by Integrating SAT Solving into USE. In: Bishop, J., Vallecillo, A. (eds.) TOOLS 2011. LNCS, vol. 6705, pp. 290–306. Springer, Heidelberg (2011)
Lano, K., Clark, D.: Semantics and Refinement of Behavior State Machines. In: Cordeiro, J., Filipe, J. (eds.) ICEIS, vol. (3-1), pp. 42–49 (2008)
Lano, K., Clark, D.: Axiomatic Semantics of State Machines, pp. 179–203. John Wiley & Sons, Inc. (2009)
Lano, K., Kolahdouz-Rahimi, S.: UML RSDS Model Transformation and Model-Driven Development Tools. Internet (2012), http://www.dcs.kcl.ac.uk/staff/kcl/uml2web
Mellor, S.J., Balcer, M.: Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley (2002)
Moffett, Y., Beaulieu, A., Dingel, J.: Verifying UML-RT Protocol Conformance Using Model Checking. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 410–424. Springer, Heidelberg (2011)
Ng, P.: A Concept Lattice Approach for Requirements Validation with UML State Machine Model. In: SERA, pp. 393–400. IEEE Computer Society (2007)
OMG (ed.): UML Superstructure 2.4.1. Object Management Group (OMG) (August 2011), http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF
OMG (ed.): Object Constraint Language 2.3.1. Object Management Group (OMG) (January 2012), http://www.omg.org/spec/OCL/2.3.1/
Porres, I., Rauf, I.: From Nondeterministic UML Protocol Statemachines to Class Contracts. In: ICST, pp. 107–116. IEEE Computer Society (2010)
Roldán, M., Durán, F.: Dynamic Validation of OCL Constraints with mOdCL. ECEASST 44 (2011)
Schürr, A., Selic, B. (eds.): MODELS 2009. LNCS, vol. 5795. Springer, Heidelberg (2009)
Seifert, D.: Conformance Testing Based on UML State Machines. In: Liu, S., Maibaum, T.S.E., Araki, K. (eds.) ICFEM 2008. LNCS, vol. 5256, pp. 45–65. Springer, Heidelberg (2008)
Shen, W., Compton, K.J., Huggins, J.: A UML Validation Toolset Based on Abstract State Machines. In: ASE, pp. 315–318. IEEE Computer Society (2001)
Shlaer, S., Mellor, S.J.: Object Lifecycles: Modeling the World in States. Yourdon Press, EngleWood Cliffs (1992)
Shlaer, S., Mellor, S.J.: Object-Oriented Systems Analysis: Modelling the World in Data. Yourdon Press, EngleWood Cliffs (1992)
Wang, Y., Zhang, Z., Yao, D.D., Qu, B., Guo, L.: Inferring Protocol State Machine from Network Traces: A Probabilistic Approach. In: Lopez, J., Tsudik, G. (eds.) ACNS 2011. LNCS, vol. 6715, pp. 1–18. Springer, Heidelberg (2011)
Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Object Technology Series. Addison-Wesley, Reading (2003)
Weißleder, S.: Influencing Factors in Model-Based Testing with UML State Machines: Report on an Industrial Cooperation. In: Schürr and Selic [30], pp. 211–225 (2009)
Yue, T., Ali, S., Briand, L.C.: Automated Transition from Use Cases to UML State Machines to Support State-Based Testing. In: France, R.B., Küster, J.M., Bordbar, B., Paige, R.F. (eds.) ECMFA 2011. LNCS, vol. 6698, pp. 115–131. Springer, Heidelberg (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hamann, L., Hofrichter, O., Gogolla, M. (2012). On Integrating Structure and Behavior Modeling with OCL. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds) Model Driven Engineering Languages and Systems. MODELS 2012. Lecture Notes in Computer Science, vol 7590. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33666-9_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-33666-9_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33665-2
Online ISBN: 978-3-642-33666-9
eBook Packages: Computer ScienceComputer Science (R0)