XASM- An Extensible, Component-Based Abstract State Machines Language

  • Matthias Anlauff
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1912)


The Abstract State Machine (ASM) [16] approach has already proven to be suitable for large-scale specifications of realistic systems [18,9,22,34]. Due to the fact that the ASM approach defines a notion of executing specifications, it provides a perfect basis for a language, which can be used as a specification language as well as a high-level programming language. However, in order to upgrade to a realistic programming language, such a language must — besides other features — add a modularization concept to the core ASM constructs in order to provide the possibility to structure large-scale ASM-formalizations and to flexibly define reusable specification units. In this paper, the language Xasm, which stands for Extensible ASM, is presented. Xasm realizes a component-based modularization concept based on the notion of external functions as defined in ASMs. This paper also briefly describes the support environment of Xasm consisting of the Xasm-compiler translating Xasm programs to C source code, and the graphical debugging and animation tool.


Pattern Match Regular Expression Support Environment Access Mode Runtime System 
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. 1.
    M. Anlauff, A. Bemporad, S. Chakraborty, P.W. Kutter, D. Mignone, M. Morari, A. Pierantonio, and L. Thiele. From ease in programming to easy maintenance: Extending DSL usability with Montages. Technical Report84, Institute TIK, ETH Zürich, December 19999.Google Scholar
  2. 2.
    M. Anlauff, P. Kutter, and A. Pierantonio. Formal Aspects of and Development Environments for Montages. In M. Sellink, editor, 2nd International Workshop on the Theory and Practice of Algebraic Specifications, Workshops in Computing, Amsterdam, 1997. Springer.Google Scholar
  3. 3.
    M. Anlauff, P. Kutter, and A. Pierantonio. Enhanced control flow graphs in Montages. In A. Zamulin D.Bjoerner, M. Broy, editor, Perspective of System Informatics, volume 1755 of LNCS, pages 40–53, 1999.CrossRefGoogle Scholar
  4. 4.
    M. Anlauff, P.W. Kutter, A. Pierantonio, and Asuman Sünbül. Using domain-specific languages for the realization of component composition. In Proceedings Formal Approaches in Software Engineering FASE00, LNCS, 2000.CrossRefGoogle Scholar
  5. 5.
    M. Anlauff and A. Sünbül. An ASM specification of an elevator control system.1999.Google Scholar
  6. 6.
    M. Anlauff and A. Sünbül. Software architecture based composition of components. In GI-Workshop Sicherheit und Zuverlässigkeit software-basierter Systeme, 1999.Google Scholar
  7. 7.
    S. Bensalem, V. Ganesh, Y. Lakhnech, C. Muñoz, S. Owre, H. Rue\, J. Rushby, V. Rusu, H. Saïdi, N. Shankar, E. Singerman, and A. Tiwari. An overview of SAL. In C. Michael Holloway, editor, LFM 2000: Fifth NASA Langley Formal Methods Workshop, June 2000. to appear.Google Scholar
  8. 8.
    J. A. Bergstra and P. Klint. The ToolBus coordination architecture. In Ciancarini and Hankin [12], pages 75–88.Google Scholar
  9. 9.
    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.MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    E. Börger and J. Schmid. Composition and Submachine Concepts for Sequential ASMs. In P. Clote and H. Schwichtenberg, editor, Gurevich Festschrift CSL 2000, LNCS. Springer-Verlag, 2000. to Appear.Google Scholar
  11. 11.
    M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, Reading, MA, 1988.Google Scholar
  12. 12.
    Paolo Ciancarini and Chris Hankin, editors. Coordination and models, Proceedings of the first international conference, Cesena, Italy, number 1061 in LNCS. Springer Verlag, 1996.Google Scholar
  13. 13.
    G. Del Castillo. The ASM Workbench: an Open and Extensible Tool Environment for Abstract State Machines. In Proceedings of the 28th Annual Conference of the German Society of Computer Science. Technical Report, Magdeburg University, 1998.Google Scholar
  14. 14.
    Michel Goossens, Frank Mittelbach, and Alexander Samarin. The LATEX Compa-nion. Tools and Techniques for Computer Typesetting. Addison-Wesley, Reading, MA, USA, second edition, 1994.Google Scholar
  15. 15.
    F. Griffel. Componentware. dpunkt.verlag, 1998.Google Scholar
  16. 16.
    Y. Gurevich. Evolving Algebras 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods, pages 9–36. Oxford University Press, 1995.Google Scholar
  17. 17.
    Y. Gurevich. May 1997 Draft of the ASM Guide. Department Technical Report CSE-TR-336-97, University of Michigan, 1997.Google Scholar
  18. 18.
    Y. Gurevich and J. Huggins. The Semantics of the C Programming Language. In E. Börger, H. Kleine Büning, G. Jäger, S. Martini, and M. M. Richter, editors, Computer Science Logic, volume 702 of LNCS, pages 274–309. Springer, 1993.CrossRefGoogle Scholar
  19. 19.
    J.K. Huggins and W. Shen. The static and dynamic semantics of C. In Local Proceedings of ASM2000, TIK Report Nr. 87, 2000.Google Scholar
  20. 20.
    P. W. Kutter, D. Schweizer, and L. Thiele. Integrating formal domain-specific language design in the software life cycle. In Current Trends in Applied Formal Methods, LNCS. Springer, October 1998.Google Scholar
  21. 21.
    P.W. Kutter and A. Pierantonio. Montages: Specifications of Realistic Programming Languages. Journal of Universal Computer Science, 3(5):416–442, 1997.MathSciNetMATHGoogle Scholar
  22. 22.
    P.W. Kutter and A. Pierantonio. The Formal Specification of Oberon. Journal of Universal Computer Science, 3(5):443–503, 1997.MATHGoogle Scholar
  23. 23.
    L. Lamport. The temporal logic of actions. ACM TOPLAS, 16(3):872–923, 1994.CrossRefGoogle Scholar
  24. 24.
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems, Volume 1: Specification. Springer-Verlag, New York, NY, 1992.Google Scholar
  25. 25.
    W. May. Specifying complex and structured systems with evolving algebras. In M. Bidoit and M. Dauchet, editors, Proceedings of TAPSOFT’97: Theory and Prac-tice of Software Development, number 1214 in LNCS, pages 535–549, 1997.Google Scholar
  26. 26.
    John K. Ousterhout. Scripting: Higher level programming for the 21st century. IEEE Computer, 31(3):23–30, March 1998.Google Scholar
  27. 27.
    J.-G. Schneider and O. Nierstrasz. Scripting: Higher-level programming for component-based systems. In OOPSLA 1998, 1998. Tutorial.Google Scholar
  28. 28.
    Jean-Guy Schneider and Oscar Nierstrasz. Components, scripts and glue. In Leonor Barroca, Jon Hall, and Patrick Hall, editors, Software Architectures-Advances and Applications, pages 13–25. Springer, 1999.Google Scholar
  29. 29.
    N. Shankar. Symbolic Analysis of Transition Systems. In This volume.Google Scholar
  30. 30.
    Asuman Sünbül. Architectural Design of Evolutionary Software Systems. PhD thesis, Technical University Berlin, 1999. in preparation.Google Scholar
  31. 31.
    Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley, New York, N.Y., 1998.Google Scholar
  32. 32.
    J. Teich, P.W. Kutter, and R. Weper. Description and simulation of microprocessor instruction sets using asms. In This volume.Google Scholar
  33. 33.
    Larry Wall and Randal L. Schwartz. Programming Perl. O’Reilly Associates, Inc., Sebastopol, CA, 1990.MATHGoogle Scholar
  34. 34.
    C. Wallace. The Semantics of the Java Programming Language: Preliminary Version. Technical Report CSE-TR-355-97, EECS Dept., University of Michigan, December 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Matthias Anlauff
    • 1
  1. 1.GMD FIRSTBerlinGermany

Personalised recommendations