Integrating Domain Specific Language Design in the Software Life Cycle

  • Philipp W. Kutter
  • Daniel Schweizer
  • Lothar Thiele
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1641)


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.


Formal Method Domain Expert Operational Semantic Parse Tree Denotational Semantic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AKP97a]
    M. Anlauff, P. Kutter, and A. Pierantonio. Formal aspects of and development environments for montages. In ASF+SDF’97, Workshops in Computing. Springer, 1997.Google Scholar
  2. [AKP97b]
    M. Anlauff, P.W. Kutter, and A. Pierantonio. GemMex-Homepage, 1997.
  3. [AKP97c]
    M. Anlauff, P.W. Kutter, and A. Pierantonio. Montages-Homepage, 1997.
  4. [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.Google Scholar
  5. [BD96]
    E. Börger and I. Durdanović. Correctness of compiling Occam to Transputer code. Computer Journal, 39(1):52–92, 1996.CrossRefGoogle Scholar
  6. [BDR94a]
    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.Google Scholar
  7. [BDR94b]
    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.Google Scholar
  8. [Ben86]
    J.L. Bentley. Programming pearls: Little languages. Communications of the ACM, 29(8):711–721, 1986.CrossRefGoogle Scholar
  9. [BGM95]
    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.Google Scholar
  10. [BR94]
    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.CrossRefGoogle Scholar
  11. [BS98]
    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.Google Scholar
  12. [CCS93]
    E.F. Codd, S.B. Codd, and C.T. Salley. Beyond decision support. Computerworld, 27(30), July 1993.Google Scholar
  13. [Dij76]
    E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.Google Scholar
  14. [Gan85]
    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.Google Scholar
  15. [GE90]
    J. Grosch and H. Emmelmann. A tool box for compiler construction. Technical Report 20, GMD, Universitä Karlsruhe, January 1990.Google Scholar
  16. [GH93]
    Y. Gurevich and J.K. Huggins. The Semantics of the C Programming Language, volume 702 of LNCS, pages 274–308. Springer Verlag, 1993.Google Scholar
  17. [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.CrossRefGoogle Scholar
  18. [GK97]
    U. Glässer and R. Karges. Abstract State Machine Semantics of SDL. Journal of Universal Computer Science, 3(12):1382–1414, 1997.zbMATHGoogle Scholar
  19. [Gur88]
    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.Google Scholar
  20. [Gur95]
    Y. Gurevich. Evolving Algebras 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.Google Scholar
  21. [HB88]
    R.M. Herndon and V.A. Berzins. The realizable benefits of a language prototyping language. IEEE Transactions on Software Engineering, 14:803–809, 1988.CrossRefGoogle Scholar
  22. [Hen91]
    M. Hennessy. The Semantics of Programming Languages: An Elementary Introduction Using Structured Operational Semantics. Wiley, New York, 1991.Google Scholar
  23. [Hoa69]
    C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–581, 1969.zbMATHCrossRefGoogle Scholar
  24. [Hug]
    J. Huggins. Abstract state machines web page.
  25. [Kli93]
    P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology, 2(2): 176–201, April 1993.CrossRefGoogle Scholar
  26. [KP97a]
    P.W. Kutter and A. Pierantonio. The formal specification of Oberon. J. UCS, 3(5):443–503, 1997.zbMATHGoogle Scholar
  27. [KP97b]
    P.W. Kutter and A. Pierantonio. Montages: Specifications of realistic programming languages. J. UCS, 3(5):416–442, 1997.zbMATHGoogle Scholar
  28. [Kut97]
    P.W. Kutter. Dynamic semantics of the programming language Oberon. Technical Report 27, Computer Engineering and Networks Laboratory, ETH Zürich, 1997.Google Scholar
  29. [Kut98]
    P.W. Kutter. An ASM Macro Language for Sets. Technical Report 34, Computer Engineering and Networks Laboratory, ETH Zürich, 1998.Google Scholar
  30. [Mar97]
    R. Marti. Das cubix-metamodell. SBG-ORIM, 1997. Internal publication of Union Bank of Switzerland.Google Scholar
  31. [Ode89]
    M. Odersky. A New Approach to Formal Language Definition and its Application to Oberon. PhD thesis, ETH Zürich, 1989.Google Scholar
  32. [PDC92]
    T.J. Parr, H.G. Dietz, and W.E. Cohen. Pccts reference manual (version 1.00). ACM S1GPLAN Notices, pages 88–165, February 1992.Google Scholar
  33. [PH91]
    A. Poetzsch-Heffter. Formate Spezifikation der kontextabhängigen Syntax von Programmiersprachen. PhD thesis, Technische Uni. München, 1991.Google Scholar
  34. [PH97]
    A. Poetzsch-Heffter. Prototyping realistic programming languages based on formal specifications. Acta Informatica, 34:737–772, 1997. 1997.zbMATHCrossRefGoogle Scholar
  35. [Sch86]
    D.A. Schmidt. Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Inc., 1986.Google Scholar
  36. [Sch97]
    D.A. Schmid. On the need for a popular formal semantics. Sigplan Notices, 1997.Google Scholar
  37. [SS71]
    D.S. Scott and C. Strachey. Toward a mathematical semantics for computer languages. Computers and Automata, (21):14–46, 1971. Microwave Research Institute Symposia.Google Scholar
  38. [Sto77]
    J.E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, 1977.Google Scholar
  39. [Wal95]
    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.Google Scholar
  40. [Wei97]
    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.Google Scholar
  41. [ZG97]
    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.zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Philipp W. Kutter
    • 1
  • Daniel Schweizer
    • 2
  • Lothar Thiele
    • 1
  1. 1.Federal Institute of TechnologyZürich
  2. 2.United Bank of SwitzerlandZürich

Personalised recommendations