Abstract
Domain Specific Languages help to split the software live cycle in different independent cycles. While the use of the newly created language is just an additional tool in the established cycle, the language live cycle is independent and opens the doors for the application of formal methods. We report on an industrial case study, where a driver specification language has been designed, formally specified, and finally an implementation has been generated from the specification. Using Abstract State Machines and Montages for the language specification, it was possible that the industrial partners learned how to maintain and extend the language specification. On the other hand the formal semantics of the method allows to apply different verification-oriented methods to the artifacts.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
M. Anlauff, P. Kutter, and A. Pierantonio. Formal aspects of and development environments for montages. In ASF+SDF’97, Workshops in Computing. Springer, 1997.
M. Anlauff, P.W. Kutter, and A. Pierantonio. GemMex-Homepage, 1997. http://www.first.grnd.de/~ma/gemmex/.
M. Anlauff, P.W. Kutter, and A. Pierantonio. Montages-Homepage, 1997. http://univaq.it/alfonso/montages/Mhome.html.
[BCD+87]_P. Borra, D. Clement, T. Despeyroux, J. Incerpi, G. Kahn, B. Lang, and V. Pascual. Centaur: the system. Technical Report 777, INRIA, Sophia Antipolis, 1987.
E. Börger and I. Durdanović. Correctness of compiling Occam to Transputer code. Computer Journal, 39(1):52–92, 1996.
E. Börger and D. D. Rosenzweig. The WAM-Definition and Compiler Correctness. In C. Beierle and L. Plümer, editors, Logic Programming: Formal Methods and Practical Applications, Studies in Computer Science and Artificial Intelligence, chapter 2, pages 20–90. North-Holland, 1994.
E. Börger, I. Durdanović, and D. Rosenzweig. Occam: Specification and Compiler Correctness. Part I: The Primary Model. In IFIP 13th World Computer Congress, Volume I: Technology/Foundations, pages 489–508. Elsevier, Amsterdam, 1994.
J.L. Bentley. Programming pearls: Little languages. Communications of the ACM, 29(8):711–721, 1986.
E. Börger, U. Glässer, and W. Müller. Formal Definition of an Abstract VHDL’93 Simulator by EA-Machines. In C. Delgado Kloos and P. T. Breuer, editors, Formal Semantics for VHDL, pages 107–139. Kluwer Academic Publishers, 1995.
E. Börger and D. Rosenzweig. A Mathematical Definition of Full Prolog. In Science of Computer Programming, volume 24, pages 249–286. North-Holland, 1994.
E. Börger and W. Schulte. Programmer friendly modular definition of the semantics of Java. In Formal Syntax and Semantics of Java, LNCS. Springer, 1998. to appear.
E.F. Codd, S.B. Codd, and C.T. Salley. Beyond decision support. Computerworld, 27(30), July 1993.
E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.
H. Ganzinger. Modular first-order specifications of operational semantics. In H. Ganzinger and N.D. Jones, editors, Programs as Data Objects, number 217 in LNCS. Springer, 1985.
J. Grosch and H. Emmelmann. A tool box for compiler construction. Technical Report 20, GMD, Universitä Karlsruhe, January 1990.
Y. Gurevich and J.K. Huggins. The Semantics of the C Programming Language, volume 702 of LNCS, pages 274–308. Springer Verlag, 1993.
[GHL+92]_R.W. Gray, V.P. Heuring, S.P. Levi, A.M. Sloane, and W.M. Waite. Eli: A complete, flexible compiler construction system. Communications of the ACM, (35):121–131, February 1992.
U. Glässer and R. Karges. Abstract State Machine Semantics of SDL. Journal of Universal Computer Science, 3(12):1382–1414, 1997.
Y. Gurevich. Logic and the challenge of computer science. In E. Böerger, editor, Current Trends in Theoretical Computer Science, pages 1–57. CS Press, 1988.
Y. Gurevich. Evolving Algebras 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
R.M. Herndon and V.A. Berzins. The realizable benefits of a language prototyping language. IEEE Transactions on Software Engineering, 14:803–809, 1988.
M. Hennessy. The Semantics of Programming Languages: An Elementary Introduction Using Structured Operational Semantics. Wiley, New York, 1991.
C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–581, 1969.
J. Huggins. Abstract state machines web page. http://www.eecs.umich.edu/gasm.
P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology, 2(2): 176–201, April 1993.
P.W. Kutter and A. Pierantonio. The formal specification of Oberon. J. UCS, 3(5):443–503, 1997.
P.W. Kutter and A. Pierantonio. Montages: Specifications of realistic programming languages. J. UCS, 3(5):416–442, 1997.
P.W. Kutter. Dynamic semantics of the programming language Oberon. Technical Report 27, Computer Engineering and Networks Laboratory, ETH Zürich, 1997.
P.W. Kutter. An ASM Macro Language for Sets. Technical Report 34, Computer Engineering and Networks Laboratory, ETH Zürich, 1998.
R. Marti. Das cubix-metamodell. SBG-ORIM, 1997. Internal publication of Union Bank of Switzerland.
M. Odersky. A New Approach to Formal Language Definition and its Application to Oberon. PhD thesis, ETH Zürich, 1989.
T.J. Parr, H.G. Dietz, and W.E. Cohen. Pccts reference manual (version 1.00). ACM S1GPLAN Notices, pages 88–165, February 1992.
A. Poetzsch-Heffter. Formate Spezifikation der kontextabhängigen Syntax von Programmiersprachen. PhD thesis, Technische Uni. München, 1991.
A. Poetzsch-Heffter. Prototyping realistic programming languages based on formal specifications. Acta Informatica, 34:737–772, 1997. 1997.
D.A. Schmidt. Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Inc., 1986.
D.A. Schmid. On the need for a popular formal semantics. Sigplan Notices, 1997.
D.S. Scott and C. Strachey. Toward a mathematical semantics for computer languages. Computers and Automata, (21):14–46, 1971. Microwave Research Institute Symposia.
J.E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, 1977.
C. Wallace. The Semantics of the C++ Programming Language. In E. Börger, editor, Specification and Validation Methods, pages 131–164. Oxford University Press, 1995.
D.M. Weiss. Creating domain-specific languages: The fast process. In S. Kamin, editor, First ACM-SIGPLAN Workshop on Domain-Specific Languages DSL’ 97, 1997.
W. Zimmermann and T. Gaul. On the construction of correct compiler back-ends: An asm approach. Journal of Universal Computer Science, 3(5):504–567, 1997.
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
Kutter, P.W., Schweizer, D., Thiele, L. (1999). Integrating Domain Specific Language Design in the Software Life Cycle. In: Hutter, D., Stephan, W., Traverso, P., Ullmann, M. (eds) Applied Formal Methods — FM-Trends 98. FM-Trends 1998. Lecture Notes in Computer Science, vol 1641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48257-1_12
Download citation
DOI: https://doi.org/10.1007/3-540-48257-1_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66462-8
Online ISBN: 978-3-540-48257-4
eBook Packages: Springer Book Archive