Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4143))

Abstract

Generic language technology research focuses on the development of fundamental techniques for language processing. The Asf+Sdf Meta-Environment, an interactive development environment for the automatic generation of interactive systems, is an example of research in this field. The Meta-Environment has been applied in various projects in order to enable the development of high quality tools for the analysis and transformation of large software systems written in languages such as C, Java, Cobol, and PL/I. The Meta-Environment offers the interactive construction of language definitions and the generation of tools given these definitions. Over the years, this system has been used in a variety of academic and industrial projects ranging from formal program manipulation to conversion of industrial Cobol systems.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alblas, H.: Introduction to attribute grammars. In: Alblas, H., Melichar, B. (eds.) SAGA School 1991. LNCS, vol. 545, pp. 1–15. Springer, Heidelberg (1991)

    Google Scholar 

  2. Baxter, I.D., Pidgeon, C., Mehlich, M.: DMS: Program transformations for practical scalable software evolution. In: ICSE 2004: Proceedings of the 26th International Conference on Software Engineering, pp. 625–634. IEEE Computer Society Press, Washington (2004)

    Chapter  Google Scholar 

  3. van Beek, D.A., Man, K.L., Reniers, M.A., Rooda, J.E., Schiffelers, R.R.H.: Syntax and consistent equation semantics of hybrid Chi. Journal of Logic and Algebraic Programming (to appear, 2005)

    Google Scholar 

  4. Bergstra, J.A., Heering, J., Klint, P. (eds.): Algebraic Specification. ACM Press/Addison-Wesley (1989)

    Google Scholar 

  5. Bergstra, J.A., Klint, P.: The discrete time ToolBus – a software coordination architecture. Science of Computer Programming 31(2-3), 205–229 (1998)

    Article  MATH  Google Scholar 

  6. Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An overview of ELAN. In: Kirchner, C., Kirchner, H. (eds.) WRLA. ENTCS, vol. 15. Elsevier Sciences, Amsterdam (1998)

    Google Scholar 

  7. van den Brand, M.G.J., van Deursen, A., Heering, J., de Jong, H.A., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF Meta-Environment: a component-based language development environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  8. van den Brand, M.G.J., van Deursen, A., Klint, P., Klusener, S., van den Meulen, E.A.: Industrial applications of ASF+SDF. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  9. van den Brand, M.G.J., Heering, J., Klint, P., Olivier, P.A.: Compiling language definitions: The ASF+SDF compiler. ACM Transactions on Programming Languages and Systems 24(4), 334–368 (2002)

    Article  Google Scholar 

  10. van den Brand, M.G.J., Iversen, J., Mosses, P.D.: An action environment. Science of Computer Programming (to appear, 2005)

    Google Scholar 

  11. van den Brand, M.G.J., de Jong, H.A., Klint, P., Olivier, P.: Efficient annotated terms. Software, Practice & Experience 30, 259–291 (2000)

    Article  Google Scholar 

  12. van den Brand, M.G.J., Klint, P., Vinju, J.J.: Term rewriting with traversal functions. ACM Transactions on Software Engineering and Methodology 12(2), 152–190 (2003)

    Article  Google Scholar 

  13. van den Brand, M.G.J., Kooiker, A.T., Veerman, N.P., Vinju, J.J.: An industrial application of context-sensitive formatting. Technical Report SEN-R0510, Centrum voor Wiskunde en Informatica (CWI), Amsterdam (2005)

    Google Scholar 

  14. van den Brand, M.G.J., Moreau, P.-E., Vinju, J.J.: A generator of efficient strongly typed abstract syntax trees in java. IEEE Proceedings — Software 152(2), 70–79 (2005)

    Article  Google Scholar 

  15. van den Brand, M.G.J., Scheerder, J.: Development of parsing tools for CASL using generic language technology. In: Bert, D., Choppy, C., Mosses, P.D. (eds.) WADT 1999. LNCS, vol. 1827, pp. 89–105. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  16. van den Brand, M.G.J., Scheerder, J., Vinju, J.J., Visser, E.: Disambiguation filters for scannerless generalized LR parsers. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 143–158. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  17. van den Brand, M.G.J., Sellink, M.P.A., Verhoef, C.: Generation of components for software renovation factories from context-free grammars. Science of Computer Programming 36, 209–266 (2000)

    Article  Google Scholar 

  18. van den Brand, M.G.J., Visser, E.: Generation of formatters for context-free languages. ACM Transactions on Software Engineering and Methodology 5, 1–41 (1996)

    Article  Google Scholar 

  19. Cleve, A., Henrard, J., Hainaut, J.-L.: Co-transformations in information system reengineering. In: Second International Workshop on Meta-Models, Schemas and Grammars for Reverse Engineering (ATEM 2004). ENTCS, vol. 137(3), pp. 5–15 (2004)

    Google Scholar 

  20. Cordy, J.R.: TXL — a language for programming language tools and applications. In: Hedin, G., van Wyk, E. (eds.) 4th International Workshop on Language Descriptions, Tools and Applications (LDTA 2004). Electronic Notes in Theoretical Computer Science, pp. 1–27. Elsevier, Amsterdam (2004)

    Google Scholar 

  21. de Jonge, M., Visser, E., Visser, J.: XT: A bundle of program transformation tools. In: van den Brand, M.G.J., Parigot, D. (eds.) Workshop on Language Descriptions, Tools and Applications (LDTA 2001). Electronic Notes in Theoretical Computer Science, vol. 44. Elsevier Science Publishers, Amsterdam (2001)

    Google Scholar 

  22. van Deursen, A., Heering, J., Klint, P. (eds.): Language Prototyping: An Algebraic Specification Approach. AMAST Series in Computing, vol. 5. World Scientific, Singapore (1996)

    MATH  Google Scholar 

  23. Doh, K.-G., Mosses, P.D.: Composing programming languages by combining action-semantics modules. Science of Computer Programming 47, 3–36 (2003)

    Article  MATH  Google Scholar 

  24. Groote, J.F., Ponse, A.: The syntax and semantics of μCRL. In: Ponse, A., Verhoef, C., van Vlijmen, S.F.M. (eds.) Algebra of Communicating Processes 1994. Workshops in Computing Series, pp. 26–62. Springer, Heidelberg (1995)

    Google Scholar 

  25. Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The syntax definition formalism SDF: Reference manual. SIGPLAN Notices 24(11), 43–75 (1989)

    Article  Google Scholar 

  26. Iversen, J., Mosses, P.D.: Constructive action semantics for Core ML. IEE Proceedings — Software 152(2), 79–98 (2005)

    Article  Google Scholar 

  27. Johnson, S.C.: YACC—yet another compiler-compiler. Technical Report CS-32, AT&T Bell Laboratories, Murray Hill, N.J (1975)

    Google Scholar 

  28. de Jong, H.A., Olivier, P.A.: Generation of abstract programming interfaces from syntax definitions. Journal of Logic and Algebraic Programming 59 (April 2004)

    Google Scholar 

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

    Article  Google Scholar 

  30. Klint, P.: A Tutorial Introduction to RScript — a Relational Approach to Software Analysis (2005), http://homepages.cwi.nl/~paulk/publications/rscript-tutorial.pdf

  31. Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)

    Google Scholar 

  32. Lesk, M.E., Schmidt, E.: LEX — A lexical analyzer generator. Technical Report CS-39, AT&T Bell Laboratories, Murray Hill, N.J (1975)

    Google Scholar 

  33. Moreau, P.-E., Ringeissen, C., Vittek, M.: A pattern matching compiler for multiple target languages. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 61–76. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  34. Mosses, P.D.: Action Semantics. Cambridge Tracts in Theoretical Computer Science, vol. 26. Cambridge University Press, Cambridge (1992)

    Book  MATH  Google Scholar 

  35. Olmos, K., Visser, E.: Composing source-to-source data-flow transformations with rewriting strategies and dependent dynamic rewrite rules. In: Bodik, R. (ed.) CC 2005. LNCS, vol. 3443, pp. 204–220. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  36. Reps, T., Teitelbaum, T.: The Synthesizer Generator: A System for Constructing Language-Based Editors, 3rd edn. Springer, Heidelberg (1989)

    MATH  Google Scholar 

  37. van Deursen, A.: An Algebraic Specification of the Static Semantics of Pascal. In: van Leeuwen, J. (ed.) Conference Proceedings Computing Science in the Netherlands (CSN 1991), pp. 150–164 (1991)

    Google Scholar 

  38. Veerman, N.: Revitalizing modifiability of legacy assets. Software Maintenance and Evolution: Research and Practice, Special issue on CSMR 2003 16(4–5), 219–254 (2004)

    Article  Google Scholar 

  39. Visser, E.: Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam (1997), http://www.cs.uu.nl/people/visser/ftp/Vis97.ps.gz

  40. Visser, E.: Stratego: A language for program transformation based on rewriting strategies. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  41. Visser, E., Benaissa, Z., Tolmach, A.: Building program optimizers with rewriting strategies. In: International Conference on Functional Programming (ICFP 1998), pp. 13–26 (1998)

    Google Scholar 

  42. Waddington, D.G., Yao, B.: High-fidelity C/C++ code transformation. In: Boyland, J., Hedin, G. (eds.) Fifth Workshop on Language Descriptions, Tools and Applications, pp. 6–26 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

van den Brand, M.G.J. (2006). Applications of the Asf+Sdf Meta-Environment. In: Lämmel, R., Saraiva, J., Visser, J. (eds) Generative and Transformational Techniques in Software Engineering. GTTSE 2005. Lecture Notes in Computer Science, vol 4143. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11877028_9

Download citation

  • DOI: https://doi.org/10.1007/11877028_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-45778-7

  • Online ISBN: 978-3-540-46235-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics