Skip to main content

Integrating Domain Specific Language Design in the Software Life Cycle

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1641))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. M. Anlauff, P.W. Kutter, and A. Pierantonio. GemMex-Homepage, 1997. http://www.first.grnd.de/~ma/gemmex/.

  3. M. Anlauff, P.W. Kutter, and A. Pierantonio. Montages-Homepage, 1997. http://univaq.it/alfonso/montages/Mhome.html.

  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. E. Börger and I. Durdanović. Correctness of compiling Occam to Transputer code. Computer Journal, 39(1):52–92, 1996.

    Article  Google Scholar 

  6. 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. 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. J.L. Bentley. Programming pearls: Little languages. Communications of the ACM, 29(8):711–721, 1986.

    Article  Google Scholar 

  9. 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. 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.

    Article  Google Scholar 

  11. 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. E.F. Codd, S.B. Codd, and C.T. Salley. Beyond decision support. Computerworld, 27(30), July 1993.

    Google Scholar 

  13. E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.

    Google Scholar 

  14. 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. J. Grosch and H. Emmelmann. A tool box for compiler construction. Technical Report 20, GMD, Universitä Karlsruhe, January 1990.

    Google Scholar 

  16. 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.

    Article  Google Scholar 

  18. U. Glässer and R. Karges. Abstract State Machine Semantics of SDL. Journal of Universal Computer Science, 3(12):1382–1414, 1997.

    MATH  Google Scholar 

  19. 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. Y. Gurevich. Evolving Algebras 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.

    Google Scholar 

  21. R.M. Herndon and V.A. Berzins. The realizable benefits of a language prototyping language. IEEE Transactions on Software Engineering, 14:803–809, 1988.

    Article  Google Scholar 

  22. M. Hennessy. The Semantics of Programming Languages: An Elementary Introduction Using Structured Operational Semantics. Wiley, New York, 1991.

    Google Scholar 

  23. C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–581, 1969.

    Article  MATH  Google Scholar 

  24. J. Huggins. Abstract state machines web page. http://www.eecs.umich.edu/gasm.

  25. P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology, 2(2): 176–201, April 1993.

    Article  Google Scholar 

  26. P.W. Kutter and A. Pierantonio. The formal specification of Oberon. J. UCS, 3(5):443–503, 1997.

    MATH  Google Scholar 

  27. P.W. Kutter and A. Pierantonio. Montages: Specifications of realistic programming languages. J. UCS, 3(5):416–442, 1997.

    MATH  Google Scholar 

  28. 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. P.W. Kutter. An ASM Macro Language for Sets. Technical Report 34, Computer Engineering and Networks Laboratory, ETH Zürich, 1998.

    Google Scholar 

  30. R. Marti. Das cubix-metamodell. SBG-ORIM, 1997. Internal publication of Union Bank of Switzerland.

    Google Scholar 

  31. M. Odersky. A New Approach to Formal Language Definition and its Application to Oberon. PhD thesis, ETH Zürich, 1989.

    Google Scholar 

  32. 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. A. Poetzsch-Heffter. Formate Spezifikation der kontextabhängigen Syntax von Programmiersprachen. PhD thesis, Technische Uni. München, 1991.

    Google Scholar 

  34. A. Poetzsch-Heffter. Prototyping realistic programming languages based on formal specifications. Acta Informatica, 34:737–772, 1997. 1997.

    Article  MATH  Google Scholar 

  35. D.A. Schmidt. Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Inc., 1986.

    Google Scholar 

  36. D.A. Schmid. On the need for a popular formal semantics. Sigplan Notices, 1997.

    Google Scholar 

  37. 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. J.E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, 1977.

    Google Scholar 

  39. 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. 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. 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.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics