[en] To define the formal semantics of a modeling language, one normally starts from the abstract syntax and then defines the static semantics and dynamic semantics. Having a formal semantics is important for reasoning about the language but also for building tools for the language. In this paper we propose a novel approach for this task based on the Alloy language. With the help of a concrete example language, we contrast this approach with traditional methods based on formal languages, type checking, meta-modeling and operational semantics. Although both Alloy and traditional techniques yield a formal semantics of the language, the Alloy-based approach has two key advantages: a uniform notation, and immediate automatic analyzability using the Alloy analyzer. Together with the simplicity of Alloy, our approach offers the prospect of making formal definitions easier, hopefully paving the way for a wider adoption of formal techniques in the definition of modeling languages.
Disciplines :
Computer science
Identifiers :
UNILU:UL-CONFERENCE-2009-310
Author, co-author :
KELSEN, Pierre ; University of Luxembourg > Faculty of Science, Technology and Communication (FSTC) > Computer Science and Communications Research Unit (CSC)
MA, Qin ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Language :
English
Title :
A Lightweight Approach for Defining the Formal Semantics of a Modeling Language
Publication date :
2008
Event name :
ACM/IEEE 11th International Conference on Model Driven Engineering Languages and Systems (MODELS 2008)
Event place :
Toulouse, France
Event date :
2008
Audience :
International
Main work title :
ACM/IEEE 11th International Conference on Model Driven Engineering Languages and Systems (MODELS 2008)
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)
Gogolla, M., Büttner, F., Richters, M.: USE: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program 69(1-3), 27-34 (2007)
Green, T.R.G.: Cognitive dimensions of notations. In: Proceedings of 5th conference of the British Computer Society, Human-Computer Interaction Specialist Group on People and computers V, pp. 443-460 (1989)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)
Kelsen, P.: A declarative executable model for object-based systems based on functional decomposition. In: Proceedings of the 1st International Conference on Software and Data Technologies, pp. 63-71 (2006)
Kelsen, P., Ma, Q.: A formal definition of the EP language. Technical Report TR-LASSY-08-03, Laboratory for Advanced Software Systems, University of Luxembourg (May 2008)
Kelsen, P., Pulvermueller, E., Glodt, C.: Specifying executable platform-independent models using OCL, In: ECEASST (2008) (9)
Mosses, P.D.: Theory and practice of action semantics. In: Proceedings of 21st Int. Symp. on Mathematical Foundations of Computer Science, pp. 37-61 (1996)
Mosses, P.D.: The varieties of programming language semantics. In: Proceedings of 4th International Andrei Ershov Memorial Conference on Perspectives of System Informatics, pp. 165-190 (2001)
OMG. Unified modeling language superstructure specification 2.0 (November 2005)
OMG. Object Constraint Language 2.0 (May 2006)
Winskel, G.: The formal semantics of programming languages: an introduction. MIT Press, Cambridge (1993)
Zhang, Y., Xu, B.: A survey of semantic description frameworks for programming languages. SIGPLAN Not. 39(3), 14-30 (2004)