Skip to main content
Top

2018 | OriginalPaper | Chapter

CASM-IR: Uniform ASM-Based Intermediate Representation for Model Specification, Execution, and Transformation

Authors : Philipp Paulweber, Emmanuel Pescosta, Uwe Zdun

Published in: Abstract State Machines, Alloy, B, TLA, VDM, and Z

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

The Abstract State Machine (ASM) theory is a well-known formal method, which can be used to specify arbitrary algorithms, applications or even whole systems. Over the past years, there have been many approaches to implement concrete ASM-based modeling and specification languages. All of those approaches define their type systems and operator semantics differently in their internal representation, which leads to undesired or unexpected behavior during the modeling, the execution, and code generation of such ASM specifications. In this paper, we present CASM-IR, an Intermediate Representation (IR), designed to aid ASM-based language engineering which is based on a well-formed ASM-based specification format. Moreover, CASM-IR is conceptualized from the ground up to ease the formalization of ASM-based analysis and transformation passes. The feasibility of CASM-IR solving the uniform ASM representation problem is depicted. Based on our CASM-IR implementation, we were able to integrate a front-end of our statically inferred Corinthian Abstract State Machine (CASM) modeling language.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
For ASM applications of various domains, see: http://​web.​eecs.​umich.​edu/​gasm.
 
2
For CASM project website, see: http://​casm-lang.​org.
 
3
For CASM concrete syntax description, see: http://​casm-lang.​org/​syntax.
 
4
For CASM-IR type specification, see: http://​casm-lang.​org/​ir/​types.
 
5
For CASM-IR built-in specification, see: http://​casm-lang.​org/​ir/​builtins.
 
6
For CASM-IR constant specification, see: http://​casm-lang.​org/​ir/​constants.
 
7
For CASM-IR function specification, see: http://​casm-lang.​org/​ir/​functions.
 
8
For CASM-IR instr. specification, see: http://​casm-lang.​org/​ir/​instructions.
 
9
For Asmeta project, see: http://​asmeta.​sourceforge.​net.
 
11
For CoreASM open-source project, see: http://​github.​com/​coreasm.
 
12
For AsmL documentation and project, see: http://​asml.​codeplex.​com.
 
14
For CASM open-source project, see: http://​github.​com/​casm-lang.
 
Literature
1.
go back to reference Gurevich, Y.: Evolving Algebras 1993: Lipari Guide - Specification and Validation Methods, pp. 9–36. Oxford University Press Inc., New York (1995) Gurevich, Y.: Evolving Algebras 1993: Lipari Guide - Specification and Validation Methods, pp. 9–36. Oxford University Press Inc., New York (1995)
2.
go back to reference Gurevich, Y.: Sequential abstract-state machines capture sequential algorithms. ACM Trans. Comput. Logic (TOCL) 1(1), 77–111 (2000)MathSciNetCrossRef Gurevich, Y.: Sequential abstract-state machines capture sequential algorithms. ACM Trans. Comput. Logic (TOCL) 1(1), 77–111 (2000)MathSciNetCrossRef
3.
go back to reference Börger, E.: The origins and the development of the ASM method for high level system design and analysis. J. Univ. Comput. Sci. 8(1), 2–74 (2002) Börger, E.: The origins and the development of the ASM method for high level system design and analysis. J. Univ. Comput. Sci. 8(1), 2–74 (2002)
5.
go back to reference Sasaki, H.: A formal semantics for Verilog-VHDL simulation interoperability by abstract state machine. In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE 1999. ACM, New York (1999) Sasaki, H.: A formal semantics for Verilog-VHDL simulation interoperability by abstract state machine. In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE 1999. ACM, New York (1999)
6.
go back to reference Lezuo, R.: Scalable translation validation; tools, techniques and framework. Ph.D. thesis, Wien Technische Universität Dissertation (2014) Lezuo, R.: Scalable translation validation; tools, techniques and framework. Ph.D. thesis, Wien Technische Universität Dissertation (2014)
7.
go back to reference Barnett, M., Schulte, W.: Spying on components: a runtime verification technique. In: Proceedings of the Workshop on Specification and Verification of Component-Based Systems, SAVCBS 2001, pp. 7–13 (2001) Barnett, M., Schulte, W.: Spying on components: a runtime verification technique. In: Proceedings of the Workshop on Specification and Verification of Component-Based Systems, SAVCBS 2001, pp. 7–13 (2001)
9.
go back to reference Huggins, J.K., Campenhout, D.V.: Specification and verification of pipelining in the ARM2 RISC microprocessor. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 3(4), 563–580 (1998)CrossRef Huggins, J.K., Campenhout, D.V.: Specification and verification of pipelining in the ARM2 RISC microprocessor. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 3(4), 563–580 (1998)CrossRef
10.
go back to reference Kleppe, A.G.: Software Language Engineering: Creating Domain-Specific Languages using Metamodels. Addisson-Wesley, Boston (2009) Kleppe, A.G.: Software Language Engineering: Creating Domain-Specific Languages using Metamodels. Addisson-Wesley, Boston (2009)
11.
go back to reference Völter, M.: Generic tools, specific languages. Ph.D. thesis, Delft University of Technology, June 2014 Völter, M.: Generic tools, specific languages. Ph.D. thesis, Delft University of Technology, June 2014
12.
go back to reference Lezuo, R., Paulweber, P., Krall, A.: CASM - optimized compilation of abstract state machines. In: SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES), pp. 13–22. ACM (2014) Lezuo, R., Paulweber, P., Krall, A.: CASM - optimized compilation of abstract state machines. In: SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES), pp. 13–22. ACM (2014)
15.
go back to reference Farahbod, R., Gervasi, V., Glässer, U.: CoreASM: an extensible ASM execution engine. Fundam. Inf. 77(1–2), 71–104 (2007)MathSciNetMATH Farahbod, R., Gervasi, V., Glässer, U.: CoreASM: an extensible ASM execution engine. Fundam. Inf. 77(1–2), 71–104 (2007)MathSciNetMATH
16.
go back to reference Gargantini, A., Riccobene, E., Scandurra, P.: A metamodel-based language and a simulation engine for abstract state machines. J. Univ. Comput. Sci. 14(12), 1949–1983 (2008) Gargantini, A., Riccobene, E., Scandurra, P.: A metamodel-based language and a simulation engine for abstract state machines. J. Univ. Comput. Sci. 14(12), 1949–1983 (2008)
18.
go back to reference Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: Code Generation and Optimization, pp. 75–86. IEEE (2004) Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: Code Generation and Optimization, pp. 75–86. IEEE (2004)
19.
go back to reference Arcaini, P., Bonfanti, S., Dausend, M., Gargantini, A., Mashkoor, A., Raschke, A., Riccobene, E., Scandurra, P., Stegmaier, M.: Unified Syntax for abstract state machines. In: Butler, M., Schewe, K.-D., Mashkoor, A., Biro, M. (eds.) ABZ 2016. LNCS, vol. 9675, pp. 231–236. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33600-8_14CrossRef Arcaini, P., Bonfanti, S., Dausend, M., Gargantini, A., Mashkoor, A., Raschke, A., Riccobene, E., Scandurra, P., Stegmaier, M.: Unified Syntax for abstract state machines. In: Butler, M., Schewe, K.-D., Mashkoor, A., Biro, M. (eds.) ABZ 2016. LNCS, vol. 9675, pp. 231–236. Springer, Cham (2016). https://​doi.​org/​10.​1007/​978-3-319-33600-8_​14CrossRef
21.
go back to reference Lezuo, R., Krall, A.: Using the CASM language for simulator synthesis and model verification. In: Proceedings of the 2013 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, p. 6. ACM (2013) Lezuo, R., Krall, A.: Using the CASM language for simulator synthesis and model verification. In: Proceedings of the 2013 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, p. 6. ACM (2013)
22.
go back to reference Lezuo, R., Barany, G., Krall, A.: CASM: implementing an abstract state machine based programming language. In: Software Engineering (Workshops), pp. 75–90 (2013) Lezuo, R., Barany, G., Krall, A.: CASM: implementing an abstract state machine based programming language. In: Software Engineering (Workshops), pp. 75–90 (2013)
25.
go back to reference Schmid, J.: Compiling abstract state machines to C++. J. Univ. Comput. Sci. 7(11), 1068–1087 (2001) Schmid, J.: Compiling abstract state machines to C++. J. Univ. Comput. Sci. 7(11), 1068–1087 (2001)
27.
go back to reference Merrill, J.: GENERIC and GIMPLE: a new tree representation for entire functions. In: Proceedings of the 2003 GCC Developers’ Summit, pp. 171–179 (2003) Merrill, J.: GENERIC and GIMPLE: a new tree representation for entire functions. In: Proceedings of the 2003 GCC Developers’ Summit, pp. 171–179 (2003)
Metadata
Title
CASM-IR: Uniform ASM-Based Intermediate Representation for Model Specification, Execution, and Transformation
Authors
Philipp Paulweber
Emmanuel Pescosta
Uwe Zdun
Copyright Year
2018
DOI
https://doi.org/10.1007/978-3-319-91271-4_4

Premium Partner