Abstract
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.
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
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)
Jackson, D., Wing, J.: Lightweight formal methods. IEEE Computer 29(4), 16–30 (1996)
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)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kelsen, P., Ma, Q. (2008). A Lightweight Approach for Defining the Formal Semantics of a Modeling Language. In: Czarnecki, K., Ober, I., Bruel, JM., Uhl, A., Völter, M. (eds) Model Driven Engineering Languages and Systems. MODELS 2008. Lecture Notes in Computer Science, vol 5301. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87875-9_48
Download citation
DOI: https://doi.org/10.1007/978-3-540-87875-9_48
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-87874-2
Online ISBN: 978-3-540-87875-9
eBook Packages: Computer ScienceComputer Science (R0)