Skip to main content

High Level System Design and Analysis Using Abstract State Machines

  • Conference paper

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

Abstract

We provide an introduction to a practical method for rigorous system development which has been used successfully, under industrial constraints, for design and analysis of complex hardware/software systems. The method allows one to start system development with a trustworthy high level system specification and to link such a “ground model” in a well documented and inspectable way through intermediate design steps to its implementation. The method enhances traditional operational modelling and analysis techniques by incorporating the most general abstraction, decomposition and refinement mechanisms which have become available through Gurevich’s Abstract State Machines. Through its versatility the ASM approach is non-monolithic and integratable at any development level into current design and analysis environments. We also collect experimental evidence for the ASM thesis, a generalization of Turing’s thesis.

Part of the material appearing here has been presented to the ASM Workshop held in Magdeburg, September 21–22, 1998, as part of the Annual GI-Meeting.

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. Abraham, R.: Evaluating Generalized Tabular Expressions in Software Documentation. M. Eng. Thesis, CRL Report 346, McMaster University, Hamilton, Ontario, Canada (1997)

    Google Scholar 

  2. http://www.eecs.umich.edu/gasm/, http://www.uni-paderborn.de/cs/asm.html

  3. Abrial, J.-R.: The B-Book. Assigning Programs to Meanings. Cambridge University Press (1996)

    Google Scholar 

  4. Anlauff, M., Kutter, P., Pierantonio, A.: Formal Aspects of and Development Environments for Montages. In: Sellink, M. (ed): 2nd International Workshop on the Theory and Practice of Algebraic Specifications. Springer Workshops in Computing (1997)

    Google Scholar 

  5. Araujo, L.: Correctness Proof of a Distributed Implementation of Prolog by Means of ASMs. J. of Universal Computer Science. Special ASM Issue 3(5) (1997)

    Google Scholar 

  6. Aristotle. Analytica Posteriora I,1, 71a,1 sq.

    Google Scholar 

  7. Banach, R., Poppleton, M.: Retrenchment: An Engineering Variation on Refinement. In: Bert, D. (ed): B’98: Recent Advances in the Development and Use of the B Method. Lecture Notes in Computer Science, Vol. 1393. Springer-Verlag, Berlin Heidelberg New York (1998) 129–147

    Chapter  Google Scholar 

  8. Barnocchi, D.: L“Evidenza” nell’assiomatica aristotelica. Proteus II, 5 (1971) 133–144

    Google Scholar 

  9. Batory, D., Singhai, V., Sirkin, M., Thomas, J.: Scalable Software Libraries. ACM SIGSOFT’93: Symposium on the Foundations of Software Engineering. Los Angeles/California (1993)

    Google Scholar 

  10. Batory, D., Coglianese, L., Goodwin, M., Shafer, S.: Creating Reference Architectures: An Example from Avionics. Symposium on Software Reusability. Seattle/Washigton (1995)

    Google Scholar 

  11. Batory, D., O’Malley, S.: The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM Transactions on Software Eng. and Methodology (October 1992)

    Google Scholar 

  12. Behm, P. Burdy, L., Meynadier, J.-M.: Well Defined B. In: Bert, D. (ed): B’98: Recent Advances in the Development and Use of the B Method. Lecture Notes in Computer Science, Vol. 1393. Springer-Verlag, Berlin Heidelberg New York (1998) 29–45

    Chapter  Google Scholar 

  13. Blass, A., Gurevich, Y.: The Linear Time Hierarchy Theorems for Abstract State Machines. J. of Universal Computer Science. Special ASM Issue, 3(4) (1997) 247–278

    MATH  MathSciNet  Google Scholar 

  14. Blass, A., Gurevich, Y., Shelah, S.: Choiceless Polynomial Time. EECS Dept. University of Michigan, Technical Report CSE-TR-338-97 (1997)

    Google Scholar 

  15. Beierle, Ch., Börger, E.: Specification and Correctness Proof of a WAM Extension with Abstract Type Constraints. Formal Aspects of Computing 8(4) (1996) 428–462

    Article  MATH  Google Scholar 

  16. Beierle, Ch., Börger, E.: Refinement of a Typed WAM Extension by Polymorphic Order-Sorted Types. Formal Aspects of Computing 8(5) (1996) 539–564

    Article  MATH  Google Scholar 

  17. Beierle, Ch., Börger, E., Đurđanović I., Glässer, U., Riccobene, E.: Refining Abstract Machine Specifications of the Steam Boiler Control to Well Documented Executable Code. In: Abrial, J.-R., Börger, E., Langmaack, H. (eds.): Formal Methods for Industrial Applications. Specifying and Programming the Steam-Boiler Control. Lecture Notes in Computer Science, State-of-the-Art Survey, Vol. 1165. Springer-Verlag, Berlin Heidelberg New York (1996) 52–78

    Google Scholar 

  18. Börger, E.: A Logical Operational Semantics for Full Prolog. Part I: Selection Core and Control. CSL’89. Lecture Notes in Computer Science, Vol. 440. Springer-Verlag, Berlin Heidelberg New York (1990) 36–64

    Google Scholar 

  19. Börger, E.: A Logical Operational Semantics for Full Prolog. Part II: Built-in Predicates for Database Manipulations. In: Rovan, B. (ed): MFCS’90. Mathematical Foundations of Computer Science. Lecture Notes in Computer Science, Vol. 452. Springer-Verlag, Berlin Heidelberg New York (1990) 1–14

    Google Scholar 

  20. Börger, E.: Logic Programming: The Evolving Algebra Approach. In: Pehrson, B., Simon, I. (eds): IFIP 13th World Computer Congress 1994. Volume I: Technology and Foundations. Elsevier, Amsterdam (1994) 391–395

    Google Scholar 

  21. Börger, E.: Why Use Evolving Algebras for Hardware and Software Engineering. In: Bartosek, M., Staudek, J., Wiedermann, J.(eds): SOFSEM’95. 22nd Seminar on Current Trends in Theory and Practice of Informatics. Lecture Notes in Computer Science, Vol. 1012. Springer-Verlag, Berlin Heidelberg New York (1995) 236–271

    Google Scholar 

  22. Börger, E., Dässler, K.: Prolog: DIN Papers for Discussion. ISO/IEC JTCI SC22 WG17 Prolog standardization document, no. 58,. NPI, Middlesex (1990) 92–114

    Google Scholar 

  23. ISO/IEC 13211-1 Information Technology-Programming Languages-Prolog-Part 1: General Core (1995)

    Google Scholar 

  24. Börger, E., Del Castillo, G.: A Formal Method for Provably Correct Composition of a Real-Life Processor out of Basic Components (The APE100 Reverse Engineering Project). Proc. of the First IEEE International Conference on Engineering of Complex Computer Systems (ICECCS’95). Extended version in: Gurevich, Y., Börger, E. (eds): Evolving Algebras. Mini-Course. University of Aarhus. BRICS NS-95-4 (1995) 195–222

    Google Scholar 

  25. Börger, E., Demoen, B.: A Framework to Specify Database Update Views for Prolog. In: Maluszynski, M. J. (ed): PLILP’91. Lecture Notes in Computer Science, Vol. 528. Springer-Verlag, Berlin Heidelberg New York (1991) 147–158. See also: The View on Database Updates in Standard Prolog: a Proposal and a Rationale. In: ISO/IEC JTC1 SC22 WG17 Prolog Standardization Report no.74 (February 1991) pp. 3–10

    Google Scholar 

  26. Börger, E., Đurđanović, I.: Correctness of Compiling Occam to Transputer Code. Computer Journal 39(1) (1996) 52–92

    Article  Google Scholar 

  27. Börger, E., Đurđanović, I., Rosenzweig, D.: Occam: Specification and Compiler Correctness. Part I: The Primary Model. In: Olderog, E.-R. (ed): Proc. of PRO-COMET’94 (IFIP Working Conference on Programming Concepts, Methods and Calculi). North-Holland (1994) 489–508

    Google Scholar 

  28. Börger, E., Glässer, U.: A Formal Specification of the PVM Architecture. In: Pehrson, B., Simon, I. (eds): IFIP 13th World Computer Congress 1994. Volume I: Technology and Foundations. Elsevier, Amsterdam (1994) 402–409

    Google Scholar 

  29. Börger, E., Glässer, U.: Modelling and Analysis of Distributed and Reactive Systems Using Evolving Algebras. In: Gurevich, Y., Börger, E. (eds): Evolving Algebras. Mini-Course. University of Aarhus. BRICS NS-95-4 (1995) 128–153

    Google Scholar 

  30. Börger, E., Glässer, U., Mueller, W.: The Semantics of Behavioral VHDL’93 Descriptions. EURO-DAC’94 European Design Automation Conference with EURO-VHDL’94. Proc. IEEE CS Press, Los Alamitos/CA (1994) 500–505

    Google Scholar 

  31. Börger, E., Glässer, U., Mueller, W.: Formal Definition of an Abstract VHDL’93 Simulator by EA-Machines. In: Delgado Kloos, C, Breuer, P.T. (eds): Semantics of VHDL. Kluwer (1995) 107–139

    Google Scholar 

  32. Börger, E., Gurevich, E., Y.., Rosenzweig, D.: The Bakery Algorithm: Yet Another Specification and Verification. In: Börger, E. (ed): Specification and Validation Methods. Oxford University Press, (1995) 231–243

    Google Scholar 

  33. Börger, E., Huggins, J.: Annotated Bibliography on Abstract State Machines (ASMs). EATCS Bulletin (February 1998)

    Google Scholar 

  34. Börger, E., Lopez-Fraguas, F.J., Rodrigues-Artalejo, M.: A Model for Mathematical Analysis of Functional Logic Programs and their Implementations. In: Pehrson, B., Simon, I. (eds): IFIP 13th World Computer Congress 1994. Volume I: Technology and Foundations. Elsevier, Amsterdam (1994) 410–415. Full version: Towards a Mathematical Specification of Narrowing Machines. Report DIA 94/5, Dep. Informática y Automática. Universidad Complutense, Madrid (March 1994) 1–30

    Google Scholar 

  35. Börger, E., Mazzanti., S.: A Practical Method for Rigorously Controllable Hard ware Design. In: Bowen, J.P., Hinchey, M.B., Till, D. (eds): ZUM’97: The Z Formal Specification Notation. Lecture Notes in Computer Science, Vol. 1212. Springer-Verlag, Berlin Heidelberg New York (1997) 151–187

    Chapter  Google Scholar 

  36. Börger, E., Mearelli, L.: Integrating ASMs into the Software Development Life Cycle. J. of Universal Computer Science, Special ASM Issue, 3(5) (1997) 603–665

    MATH  Google Scholar 

  37. Börger, E., Riccobene, E.: A Formal Specification of Parlog. In: Droste, M., Gurevich, Y. (eds): Semantics of Programming Languages and Model Theory. Gordon and Breach (1993) 1–42

    Google Scholar 

  38. Börger, E., Rosenzweig, D.: An Analysis of Prolog Database Views and their Uniform Implementation. In: Prolog. Paris Papers-2. ISO/IEC JTC1 SC22 WG17 Prolog Standardization Report no.80 (July 1991) 87–130

    Google Scholar 

  39. Börger, E., Rosenzweig, D.: A Mathematical Definition of Full Prolog. Science of Computer Programming. 24 (1995) 249–286

    Article  MATH  MathSciNet  Google Scholar 

  40. Börger, E., Rosenzweig, D.: The WAM-Definition and Compiler Correctness. In: Beierle, Ch., Plümer, L. (eds): Logic Programming: Formal Methods and Practical Applications. Elsevier Science B.V./North-Holland (1995) 20–90

    Google Scholar 

  41. Börger, E., Salamone, R.: CLAM Specification for Provably Correct Compilation of CLP(\( \mathcal{R} \)) Programs. In: Börger, E. (ed): Specification and Validation Methods. Oxford University Press, (1995) 97–130

    Google Scholar 

  42. Börger, E., Schmitt, P.: A Formal Operational Semantics for Languages of Type Prolog III. Lecture Notes in Computer Science, Vol. 533. Springer-Verlag, Berlin Heidelberg New York (199) 67–79

    Google Scholar 

  43. Börger, E., Schulte, W.: Programmer Friendly Modular Definition of the Semantics of Java. In: Alves-Foss, J. (ed): Formal Syntax and Semantics of Java. Lecture Notes in Computer Science, Vol. 1523. Springer-Verlag, Berlin Heidelberg New York (1999) 353–404. Extended Abstract in: Berghammer, R., Simon, F. (eds): Programming Languages and Fundamentals of Programming. University of Kiel (Germany) TR 9717 (1997) 175–181.

    Chapter  Google Scholar 

  44. Börger, E., Schulte, W.: Defining the Java Virtual Machine as Platform for Provably Correct Java Compilation. In: Brim, L., Gruska, J., Zlatuska, J. (eds): Proc. MFCS’98. Lecture Notes in Computer Science, Vol. 1450. Springer-Verlag, Berlin Heidelberg New York (1998) 17–35

    Google Scholar 

  45. Börger, E., Schulte, W.: Initialization Problems for Java. Software-Concepts and Tools 20(4) (1999)

    Google Scholar 

  46. Börger, E., Schulte, W.: Modular Design for the Java Virtual Machine Architecture. In: Börger, E. (ed): Architecture Design and Validation Methods. Springer Verlag, Berlin Heidelberg New York 1999

    Google Scholar 

  47. Bowen, D. Personal communication. Palo Alto (5.11.1991)

    Google Scholar 

  48. Bowen, J.P.: Formal Specification and Documentation Using Z: A Case Study Approach. Int. Thomson Computer Press (1996)

    Google Scholar 

  49. Büchi, J.R.: Finite Automata, their Algebras and Grammars. Siefkes, D. (ed). Springer-Verlag (1988)

    Google Scholar 

  50. Chow, T.S.: Testing Software Design Modeled by Finite State Machines. IEEE Trans.Softw.Engineering 4(3) (1978) 178–187

    Article  Google Scholar 

  51. Cremers, A.B.C., Hibbard, T.N.: Formal Modeling of Virtual Machines. IEEE Transactions on Software Engineering SE-4(5) (1987) 426–436

    Article  Google Scholar 

  52. Dahl, O.: Discrete Event Simulation Languages. In: F. Genuys (ed): Programming Languages. Academic Press (1968) 349–395

    Google Scholar 

  53. Dahl, O., Dijkstra, E., Hoare, C.: Structured Programming. Academic Press (1972)

    Google Scholar 

  54. Del Castillo, G.: Towards Comprehensive Tool Support for Abstract State Machines: The ASM Workbench Tool Environment and Architecture. This volume

    Google Scholar 

  55. Del Castillo, G., Hardt, W.: Fast Dynamic Analysis of Complex HW/SW-Systems based on Abstract State Machines. IEEE Proc. 6th. International Workshop on HW/SW Co-Design (CODES/CASHE’98). Washington (March 1998)

    Google Scholar 

  56. Dijkstra, E.W.: Structure of the T.H.E. Multiprogrammming System. Communications of ACM 11 (1968) 341–346

    Article  MATH  Google Scholar 

  57. Dijkstra, E.W.: Notes on Structured Programming. In: Structured Programming. Academic Press, New York (1972) 1–82

    Google Scholar 

  58. Dold, A.: A Formal Representation of Abstract State Machines using PVS. Verifix Report Ulm/6.2 (July 1998) 1–25

    Google Scholar 

  59. Eilenberg, S.: Automata, Languages and Machines. Vol.A. Academic Press (1974)

    Google Scholar 

  60. Fitzgerald, J., Gorm Larsen, P.: Modelling Systems. Practical Tools and Techniques in Software Development. Cambridge University Press (1998)

    Google Scholar 

  61. Fuchs, N.E.: Specifications are (Preferably) Executable. IEE/BCS Software Engi neering Journal 7(5) (1992) 323–334

    Google Scholar 

  62. Gaudel, M.C.: Génération et Preuve de Compilateurs Basées sur une Sémantique Formelle des Langages de Programmation. Thèse, L’Institut National Polytechnique de Lorraine (1980)

    Google Scholar 

  63. Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, B., Sunderam, V.: PVM 3 User’s Guide and Reference Manual. Technical Report ORNL/TM-12187. Oak Ridge National Laboratory, Oak Ridge/Tennessee 37831 (September 1994)

    Google Scholar 

  64. Glässer, U., Gotzhein, R.: Towards a New Formal SDL Semantics-Outline of an ASM Behavior Model. Submitted to 9th SDL Forum, Montreal/Quebec (21–25 June 1999) http://www.iro.umontreal.ca/SDL/.

  65. Glässer, U., Karges, R.: Abstract State Machines Semantics of SDL. J. of Universal Computer Science 3(12) (1997) 1382–1414

    MATH  Google Scholar 

  66. Glässer, U., Prinz, A.: Abstract State Machines Semantics of SDL. Submitted (1999)

    Google Scholar 

  67. Giese, M., Kempe, D., Schönegge, A.: KIV zur Verifikation von ASM-Spezifikationen am Beispiel der DLX-Pipelining Architektur. University of Karlsruhe, Institute for Logic, Complexityy and Deduction Systems. Int. Rep. 16/97 (1997) 1–37

    Google Scholar 

  68. Goerigk, W., Hoffmann, U.: Rigorous Compiler Implementation Correctness: How to Prove the Real Thing Correct. This volume

    Google Scholar 

  69. Gosling, J., Joy, B., Steele, G.: The Java(tm) Language Specification. Addison Welsley (1996)

    Google Scholar 

  70. Grädel, E., Gurevich, Y.: Metafinite Model Theory. Lecture Notes in Computer Science, Vol. 960. Springer-Verlag, Berlin Heidelberg New York (1995) 313–366

    Google Scholar 

  71. Gurevich, Y: A New Thesis. Abstracts. American Mathematical Society (August 1985) 85T-68-203.

    Google Scholar 

  72. Gurevich, Y.: Algorithms in the World of Bounded Resources. In: Herken, R. (ed): The Universal Turing Machine-A Half-Century Story. Oxford University Press (1988) 407–416.

    Google Scholar 

  73. Gurevich, Y.: Logic and the Challenge of Computer Science. In: Börger, E. (ed): Current Trends in Theoretical Computer Science. Computer Science Press (1988) 1–57

    Google Scholar 

  74. Gurevich, Y.: Evolving Algebras: An Attempt to Discover Semantics. Bulletin EATCS 43 (1991) 264–284. Slightly revised in: Rozenberg, G., Salomaa, A. (eds): Current Trends in Theoretical Computer Science. World Scientific (1993) 274–308

    MATH  Google Scholar 

  75. Gurevich, Y.: Evolving Algebra 1993: Lipari Guide. In: Börger, E. (ed): Specification and Validation Methods. Oxford University Press (1995) 9–36

    Google Scholar 

  76. Gurevich, Y.: The Sequential ASM Thesis. Bulletin of the EATCS (February 1999)

    Google Scholar 

  77. Hayes, I.J., Jones, C.B.: Specifications are not (Necessarily) Executable. IEE/BCS Software Engineering Journal 4(6) (1989) 330–338

    Article  Google Scholar 

  78. Heberle, A., Löwe, W., Trapp, M.: Safe Reuse of Source to Intermediate Language Compilations. In: Chillarege, R. (ed): Proc. 9th. Int. Symp. on Software Reliability Engineering (1998) http://www.chillarege.com/issre/fastabstracts/98417.html

  79. Hinrichsen, H.: Formally Correct Construction of a Pipelined DLX Architecture. Darmstad University of Technology, Dept. of Electrical and Computer Engineering. TR 98-5-1 (1998)

    Google Scholar 

  80. Hoare, C.A.R.: The Structure of an Operating System. Lecture Notes in Computer Science, Vol. 46. Springer-Verlag, Berlin Heidelberg New York (1976) 242–265

    Google Scholar 

  81. Hoare, C.A.R.: Mathematical Models for Computing Science. Manuscript (August 1994) 1–65

    Google Scholar 

  82. Holcombe, M.: X-Machines as a Basis for Dynamic System Specification. Software Engineering Journal 3(2) (1988) 69–76

    Article  Google Scholar 

  83. Holcombe, M., Ipate, F.: Correct Systems. Springer-Verlag, Berlin Heidelberg New York (1998)

    MATH  Google Scholar 

  84. Horning, J., Randell, B.: Process Structuring. Computing Surveys 5 (1973) 5–30

    Article  MATH  Google Scholar 

  85. Huggins, J. K., Van Campenhout, D.: Specification and Verification of Pipelining in the ARM2 RISC Microprocessor. ACM Transactions on Design Automation of Electronic Systems 3(4) (October 1998)

    Google Scholar 

  86. IEEE Standard VHDL Language Reference Manual—IEEE Std 1076–1993. The Institute of Electrical and Electronics Engineering. New York/NY (1994)

    Google Scholar 

  87. Janicki, R.: On a Formal Semantics of Tabular Expressions. Faculty of Engineering, McMaster University. Hamilton/Ontario. CRL Report 355 (1997). Short version in: Towards a Formal Semantics of Parnas Tables. ACM/IEEE Proceedings of the 17th International Conference on Software Engineering, Seattle (April 1995) 231–240

    Google Scholar 

  88. Janicki, R., Parnas, D.L., Zucker, J.I.: Tabular Representations in Relational Documents. In: Brink, C., Kahl, W., Schmidt, G. (eds): Relational Methods in Computer Science. Springer-Verlag, Berlin Heidelberg New York (1997) 184–196

    Google Scholar 

  89. Kutter, P.W., Schweitzer, D., Thiele, L.: Integrating Formal Domain Specific Language Design in the Software Life Cycle. This volume

    Google Scholar 

  90. Kwon, K.: A Structured Presentation of a Closure-Based Compilation Method for a Scoping Notion in Logic Programming. J. of Universal Computer Science, Special ASM Issue, 3(4) (1997) 341–376

    MATH  Google Scholar 

  91. Lavagno, L., Sangiovanni-VincenteHi, A., Sentovich, E.M.: Models of Computation for System Design. In: Börger, E. (ed): Architecture Design and Validation Methods. Springer-Verlag, Berlin Heidelberg New York (1999)

    Google Scholar 

  92. Laycock, G.T.: The Theory and Practice of Specification Based Testing. PH.D. Thesis, University of Sheffield, UK (1992)

    Google Scholar 

  93. Lötzbeyer, A.: Task Description of a Fault-Tolerant Production Cell. FZI, University of Karlsruhe/Germany. Version 1.6 (June 17, 1996)

    Google Scholar 

  94. Lötzbeyer, A., Mühlfeld, R.: Task Description of a Flexible Production Cell with Real Time Properties. FZI, University of Karlsruhe and Siemens ZT SE 1/Germany. Version 2.1 (July 30, 1996)

    Google Scholar 

  95. Mearelli, L.: Refining an ASM Specification of the Production Cell to C ++ Code. J. of Universal Computer Science, Special ASM Issue 3(5) (1997) 666–688

    MATH  Google Scholar 

  96. Marcotty, M., Ledgard, H.F.: The World of Programming Languages. Springer-Verlag, Berlin Heidelberg New York (1986)

    Google Scholar 

  97. Van der Meulen, M., Clement, T.: Formal Methods in the Specification of the Emergency Closing System of the Eastern Scheldt Storm Surge Barrier. This volume

    Google Scholar 

  98. Mosses, P.D.: Denotational Semantics. In: van Leeuwen, J.(ed.): Handbook of TCS. Elsevier (1990)

    Google Scholar 

  99. Mosses, P.D.: Action Semantics. Cambridge University Press (1992)

    Google Scholar 

  100. Nielson, H.R., Nielson, F.: Semantics with Applications. Wiley (1992)

    Google Scholar 

  101. Pair, C: Types Abstraits et Sémantique Algébrique des Langages de Programmation. Centre de Recherche en Informatique de Nancy. TR 80-R-011 (February/July 1980) 1–46

    Google Scholar 

  102. Päppinghaus, P., Börger, E.: Industrial Use of ASMs for System Documentation. In: Jähnichen, S., Loeckx, J., Wirsing, M. (eds): Logic for System Engineering. Dagstuhl Seminar Report 171 (9710) 26

    Google Scholar 

  103. Parnas, D.L.: Information Distribution Aspects of Design Methodology. In: Freiman, C.V. (ed): Proc. of IFIP Congress 1971. Volume 1: Foundations and Systems. North-Holland (1972) 339–344

    Google Scholar 

  104. Parnas, D.L.: Personal communication (1997)

    Google Scholar 

  105. Parnas, D.L.: “Formal Methods” Technology Transfer Will Fail. J. Systems Software 40 (1998) 195–198

    Article  Google Scholar 

  106. Parnas, D.L., Darringer, J.: SODAS and a Methodology for System Design. Proc. AFIPS Fall Joint Conf. Vol.31. Academic Press (1967) 449–474

    Google Scholar 

  107. Parnas, D.L., Madey, J.: Functional Documents for Computer Systems. Science of Computer Programming 25 (1995) 41–62

    Article  Google Scholar 

  108. Pippenger, N.: Pure versus Impure Lisp. ASM Transactions on Programming Languages and Systems 19 (1997) 223–238

    Article  Google Scholar 

  109. Popper, K.: Logik der Forschung (1935)

    Google Scholar 

  110. Potet, M.-L., Rouzaud, Y.: Composition and Refinement in the B-Method. In: Bert, D. (ed): B’98: Recent Advances in the Development and Use of the B Method. Lecture Notes in Computer Science, Vol. 1393. Springer-Verlag, Berlin Heidelberg New York (1998) 46–65

    Chapter  Google Scholar 

  111. Pusch, C.: Verification of Compiler Correctness for the WAM. In: Von Wright, J., Grundy, J., Harrison, J. (eds): Theorem Proving in Higher Order Logics (TPHOLs’96). Lecture Notes in Computer Science, Vol. 1125. Springer-Verlag, Berlin Heidelberg New York (1996) 347–362

    Google Scholar 

  112. Ramadge, P.J.G., Wonham, W.M.: The Control of Discrete Event Systems. Proc. of the IEEE 77(1) (1989) 81–98

    Article  Google Scholar 

  113. Reisig, W.: Elements of Distributed Algorithms. Modeling and Analysis with Petri Nets. Springer-Verlag, Berlin Heidelberg New York (1998)

    Google Scholar 

  114. Rischel, H., Sun, H.: Design and Prototyping of Real-Time Systems using CSP and CML. 9th Euromicro Workshop on Teal-Time Systems. Toledo (June 11–13, 1997)

    Google Scholar 

  115. Schellhorn, G.: Verifikation abstrakter Zustandsmaschinen. PhD Thesis. University of Ulm (1999)

    Google Scholar 

  116. Schellhorn, G., Ahrendt, W.: Reasoning about Abstract State Machines: The WAM Case Study. J. of Universal Computer Science. Special ASM Issue, 3(4) (1997) 377–413

    MATH  MathSciNet  Google Scholar 

  117. Schwank, I.: Zur Konzeption prädikativer versus funktionaler kognitiver Strukturen und ihrer Anwendung. Zentralblatt für Didaktik der Mathematik 6 (1996) 168–183

    Google Scholar 

  118. Scott, D.: Some Definitional Suggestions for Automata Theory. J. of Computer and System Sciences 1 (1967) 187–212

    MATH  Google Scholar 

  119. Shaw, M.: The Impact of Abstraction Concerns on Modern Programming Languages. Proc. IEEE 68(9) (1980)

    Google Scholar 

  120. Shaw, M., Garlan, D.: Formulations and Formalisms in Software Architecture. In: van Leeuwen, J. (ed): Computer Science Today: Recent Trends and Developments. Springer-Verlag, Berlin Heidelberg New York (1995) 307–323

    Google Scholar 

  121. Sommerville, I.: Software Engineering. Addison-Wesley (1992)

    Google Scholar 

  122. Soni, D., North, R.L., Hofmeister, C.: Software Architecture in Industrial Applications. Proc. 17th ACM Conf. Sw. Engg.. Seattle (1995)

    Google Scholar 

  123. Stark, R.: The Theoretical Foundations of LPTP (A Logic Program Theorem Prover). The Journal of Logic Programming 36 (1998) 241–269

    Article  Google Scholar 

  124. Stegmüller, M.M.: Formale Verifikation des DLX RISC-Prozessors: Eine Fallstudie basierend auf abstrakten Zustandsmaschinen. Diploma Thesis, University of Ulm (1998)

    Google Scholar 

  125. Stenzel, K., Haneberg, D.: Personal communication. KIV Group, University of Ulm/Germany

    Google Scholar 

  126. Tanenbaum, A.S.: Structured Computer Organization (1976)

    Google Scholar 

  127. Tarski, A.: Der Wahrheitsbegriff in den formalisierten Sprachen. Studia Philosophica 1 (1936) 261–405

    Google Scholar 

  128. Thue, A.: Probleme über Veränderungen von Zeichenreihen nach gegebenen Regeln. Skr.Videnks.Sels I (10) 1–34

    Google Scholar 

  129. Turing, A.: On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math. Soc. (2) 42 (1937) 230–265

    Article  Google Scholar 

  130. UML—Unified Modeling Language. Rational Software Corporation. Updates via the worldwide web (http://www.rational.com)

  131. Goerigk, W., Dold, A., Gaul, T., Goos, G., Heberle, A., von Henke, F. W., Hoffmann, U., Langmaack, H., Pfeifer, H., Ruess, H., Zimmermann, W.: Compiler Correctness and Implementation Verification: The Verifix Approach. In: Fritzson, P. (ed): Proceedings of the Poster Session of CC’96— International Conference on Compiler Construction. IDA Technical Report LiTH-IDA-R-96-12. Linköping/Sweden (1996)

    Google Scholar 

  132. Winter, K.: Model Checking for Abstract State Machines. J. of Universal Computer Science. Special ASM Issue, 3(5) (1997)

    Google Scholar 

  133. Wirsing, M.: Handbook of Algebraic Specifications. In: van Leeuwen, J. (ed): Handbook of Theoretical Computer Science B. Elsevier (1990) 675–788

    Google Scholar 

  134. Wirth, N.: Program Development by Stepwise Refinement. Comm. ACM 14(4) (1971)

    Google Scholar 

  135. Wirth, N.: Algorithms & Data Structures. Prentice-Hall (1975)

    Google Scholar 

  136. Zimmermann, W., Gaul, T.: On the Construction of Correct Compiler Back-Ends: An ASM Approach. J. of Universal Computer Science. Special ASM Issue, 3(5) (1997) 504–567

    MATH  MathSciNet  Google Scholar 

  137. Zurcher, F.W., Randell, B.: Iterative Multi-Level Modelling-A Methdology for Computer System Design. Proc. IFIP Congress 1968. North-Holland, Amsterdam (1968) 867–871

    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

Börger, E. (1999). High Level System Design and Analysis Using Abstract State Machines. 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_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-48257-1_1

  • 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