Abstract
Model Driven Development (MDD) focuses on the intensive use of models during software development. In this paradigm, models are the central development artifact: transformations are used to derive executable programs, or tests for a given platform. This makes building quality models a cost-effective approach, as the models can be reused for many analysis or generation goals, and not just document a design. However, high quality models are needed for the approach to be successful. Hence the goal of performing analysis of high-level behavioral specifications such as UML, to enhance their quality and detect defects or ensure desired behavior.
High-level specifications provide many facilities to handle large specifications (such as hierarchical structuring mechanisms) and provide sophisticated features to handle programming language’s rich semantics. However, the price of these features is that these specifications are difficult to analyse, the semantics are not necessarily formally defined, and the complexity of the language features usually limits analysis to manual inspection, or in the best cases simulation.
On the other hand, formal specifications have been developed specifically with analysis purposes in mind. In particular, model checking is an automatic approach suitable to analyse formally defined behaviors. However, formal specifications languages such as CSP, PROMELA, Petri nets, etc. have a steep learning curve, and are not cost effective since they are not directly linked to code.
In this paper, we explore an approach to integrate formal methods with high-level notations, by translating high-level specifications to formal ones to enable analysis. We are thus bringing Model Driven Engineering to Verification Driven Engineering. We show how this approach was put in practice with UML within the context of the ModelPlex project.
This work has been partially supported by the ModelPlex European integrated project FP6-IP 034081 (Modeling Solutions for Complex Systems).
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
Abrial, J.-R.: The B book - Assigning Programs to meanings. Cambridge Univ. Press, Cambridge (1996)
Barkaoui, K., Abdallah, I.: Deadlock avoidance in FMS based on structural theory of Petri nets. In: International Conference on Technologies and Factory Automation (ETFA), pp. 499–510 (1995)
Barkaoui, K., Couvreur, J.-M., Dutheillet, C.: On liveness in extended non self-controlling nets. In: DeMichelis, G., Díaz, M. (eds.) ICATPN 1995. LNCS, vol. 935, pp. 25–44. Springer, Heidelberg (1995)
Broy, M., Crane, M., Dingel, J., Hartman, A., Rumpe, B., Selic, B.: 2nd UML 2 Semantics Symposium: Formal Semantics for UML. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 318–323. Springer, Heidelberg (2007)
Burch, J., Clarke, E., McMillan, K.: Symbolic model checking: 1020 states and beyond. Information and Computation (Special issue from LICS 1990) 98(2), 153–181 (1992)
Campos, J., Merseguer, J.: On the integration of uml and petri nets in software development. In: Donatelli, S., Thiagarajan, P.S. (eds.) ICATPN 2006. LNCS, vol. 4024, pp. 19–36. Springer, Heidelberg (2006)
Chiola, G., Dutheillet, C., Franceschinis, G., Haddad, S.: On well-formed coloured nets and their symbolic reachability graph. In: Jensen, K., Rozenberg, G. (eds.) Procedings of the 11th International Conference on Application and Theory of Petri Nets (ICATPN 1990); Reprinted in High-Level Petri Nets, Theory and Application. Springer, Heidelberg (1991)
Ciardo, G., Lüttgen, G., Miner, A.S.: Exploiting interleaving semantics in symbolic state-space generation. Formal Methods in System Design 31(1), 63–100 (2007)
Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50(5), 752–794 (2003)
Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)
Clarke, E.M., Emerson, E.A., Sifakis, J.: Turing award for their original and continuing research on model checking (2007)
Damm, W., Hermanns, H. (eds.): CAV 2007. LNCS, vol. 4590. Springer, Heidelberg (2007)
Damm, W., Westphal, B.: Live and let die: Lsc based verification of UML models. Sci. Comput. Program 55(1-3), 117–159 (2005)
Dobing, B., Parsons, J.: How UML is used. Communications of the ACM 49 (May 2006)
Donatelli, S., Franceschinis, G.: The psr methodology: Integrating hardware and software models. In: Billington, J., Reisig, W. (eds.) ICATPN 1996. LNCS, vol. 1091, pp. 133–152. Springer, Heidelberg (1996)
Engels, G., Heckel, R., Küster, J.: Rule-Based Specification of Behavioral Consistency Based on the UML Meta-model. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 272–286. Springer, Heidelberg (2001)
Eshuis, R.: Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15(1), 1–38 (2006)
Gupta, A., McMillan, K., Fu, Z.: Automated Assumption Generation for Compositional Verification. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 420–432. Springer, Heidelberg (2007)
Hailpern, B., Tarr, P.: Model-driven development: The good, the bad and the ugly. IBM Systems Journal 45(3), 451 (2006)
Hamez, A., Hillah, L., Kordon, F., Linard, A., Paviot-Adet, E., Renault, X., Thierry-Mieg, Y.: New features in cpn-ami 3: focusing on the analysis of complex distributed systems. In: ACSD, pp. 273–275. IEEE Computer Society, Los Alamitos (2006)
Hu, Z., Shatz, S.M.: Explicit modeling of semantics associated with composite states in UML statecharts. Automated Software Engg. 13(4), 423–467 (2006)
Huth, M.: Some current topics in model checking. International Journal on Software Tools for Technology Transfer (STTT) 9(1), 25–36 (2007)
ISO/IEC 13568. Z formal specification notation — syntax, type system and semantics (2002)
Kordon, F., Hugues, J., Renault, X.: From Model Driven Engineering to Verification Driven Engineering. In: Brinkschulte, U., Givargis, T., Russo, S. (eds.) SEUS 2008. LNCS, vol. 5287, pp. 381–393. Springer, Heidelberg (2008)
Madhusudan, P. (ed.): Proceedings of the 9th International Workshop on Verification of Infinite-State Systems (INFINITY 2007), Lisboa, Portugal, September 2007. Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, Amsterdam (2007)
Milner, R.: Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press, Cambridge (1999)
Murata, T.: Petri nets: Properties, analysis and applications. In: Proceedings of the IEEE, NewsletterInfo: 33Published as Proceedings of the IEEE, April 1989, vol.77(4), pp. 541–580 (1989)
OMG. Unified Modeling Language: Superstructure - Version 2.1.2 formal/07-11-02. OMG (November 2007)
SAE. Architecture Analysis & Design Language V2 (AS5506A) (January 2009), http://www.sae.org
Thierry-Mieg, Y., Poitrenaud, D., Hamez, A., Kordon, F.: Hierarchical set decision diagrams and regular models. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 1–15. Springer, Heidelberg (2009)
Yao, S., Shatz, S.M.: Consistency Checking of UML Dynamic Models Based on Petri Net Techniques. In: CIC 2006: Proceedings of the 15th International Conference on Computing, Washington, DC, USA, pp. 289–297. IEEE Computer Society, Los Alamitos (2006)
Zhao, Q., Krogh, B.: Formal verification of statecharts using finite-state model checkers. IEEE Transactions on Control Systems Technology 14(5), 943–950 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kordon, F., Thierry-Mieg, Y. (2010). Experiences in Model Driven Verification of Behavior with UML. In: Choppy, C., Sokolsky, O. (eds) Foundations of Computer Software. Future Trends and Techniques for Development. Monterey Workshop 2008. Lecture Notes in Computer Science, vol 6028. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12566-9_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-12566-9_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-12565-2
Online ISBN: 978-3-642-12566-9
eBook Packages: Computer ScienceComputer Science (R0)