Interactive Model-Based Compilation Continued – Incremental Hardware Synthesis for SCCharts

  • Francesca Rybicki
  • Steven SmythEmail author
  • Christian Motika
  • Alexander Schulz-Rosengarten
  • Reinhard von Hanxleden
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9953)


The Single-Pass Language-Driven Incremental Compilation (slic) strategy uses a series of model-to-model (M2M) transformations to compile a model or program to a specified target. Tool developer and modeler can inspect the result of each transformation step, using a familiar, graphical syntax of the successively transformed model, which is made possible by harnessing automatic layout. Previous work (presented at ISoLA’14) introduced the basics of the slic approach and illustrated it with a compiler that translated SCCharts, a synchronous, deterministic statechart language developed for safety-critical systems, to software. The compiler is implemented in the Kiel Integrated Environment for Layout Eclipse Rich Client (KIELER), an open-source development framework based on Eclipse.

This paper proposes two extensions to slic. First, we extend the M2M transformation mechanism with a tracing capability that keeps track of model elements during transformations. Second, we make use of the tracing capability for an interactive simulation, where we not only observe a model’s input/output behavior during execution, but can inspect the run-time behavior of each model component, at any transformation stage. We illustrate these concepts by new transformations in the KIELER SCCharts compiler, which allow to synthesize hardware circuits, and a simulator that executes an intermediate-level software model and visualizes the simulation at the high-level model as well as the low-level circuit.


Source Model Model Instance Meta Model Concrete Syntax Transformation Step 
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.


  1. 1.
    André, C.: Semantics of SyncCharts. Technical Report ISRN I3S/RR-2003-24-FR, I3S Laboratory, Sophia-Antipolis, France April 2003Google Scholar
  2. 2.
    Berry, G.: Esterel on hardware. Philos. Trans. R. Soc. Lond. 339, 87–104 (1992)CrossRefGoogle Scholar
  3. 3.
    Berry, G.: The foundations of Esterel. In: Plotkin, G., Stirling, C., Tofte, M. (eds.) Proof, Language, and Interaction: Essays in Honour of Robin Milner, pp. 425–454. MIT Press, Cambridge (2000)Google Scholar
  4. 4.
    Drusinsky, D., Harel, D.: Using Statecharts for hardware description and synthesis. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 8(7), 798–807 (1989)CrossRefGoogle Scholar
  5. 5.
    Edwards, S.A.: The challenges of hardware synthesis from c-like languages. In: Proceedings of the Conference on Design, Automation and Testin Europe, vol. 1, DATE 2005, pp. 66–67, Washington, DC, USA. IEEE Computer Society (2005)Google Scholar
  6. 6.
    Fuhrmann, H., Hanxleden, R.: On the pragmatics of model-based design. In: Choppy, C., Sokolsky, O. (eds.) Monterey Workshop 2008. LNCS, vol. 6028, pp. 116–140. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-12566-9_7 CrossRefGoogle Scholar
  7. 7.
    Grundy, J.C., Hosking, J., Li, K.N., Ali, N.M., Huh, J., Li, R.L.: Generating domain-specific visual language tools from abstract visual specifications. IEEE Trans. Softw. Eng. 39(4), 487–515 (2013)CrossRefGoogle Scholar
  8. 8.
    Harel, D.: Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Johannsen, G.: Hardwaresynthese aus SCCharts. Master thesis, Kiel University, Department of Computer Science.
  10. 10.
    Lopes, D., Hammoudi, S., Bézivin, J., Jouault, F.: Mapping specification in MDA: from theory to practice. In: Konstantas, D., Bourrières, J.-P., Léonard, M., Boudjlida, N. (eds). Interoperability of Enterprise Software and Applications - INTEROP-ESA, pp. 253–264. Springer, New York (2006)Google Scholar
  11. 11.
    Motika, C., Fuhrmann, H., von Hanxleden, R.: Semantics and execution of domain specific models. In: 2nd Workshop Methodische Entwicklung von Modellierungswerkzeugen (MEMWe 2010) INFORMATIK 2010, GI-Edition - Lecture Notes in Informatics (LNI), pp. 891–896, Leipzig, Germany, September 2010. Bonner Köllen Verlag (2010)Google Scholar
  12. 12.
    Motika, C., Smyth, S., Hanxleden, R.: Compiling SCCharts — a case-study on interactive model-based compilation. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8802, pp. 461–480. Springer, Heidelberg (2014). doi: 10.1007/978-3-662-45234-9_32 Google Scholar
  13. 13.
    Naujokat, S., Traonouez, L.-M., Isberner, M., Steffen, B., Legay, A.: Leveraging applications of formal methods, verification and validation. In: Technologies for Mastering Change: 6th International Symposium, ISoLA 2014, Imperial, Corfu, Greece, 8–11 October 2014, Proceedings, Part I, chapter Domain-Specific Code Generator Modeling: A Case Study for Multi-faceted Concurrent Systems, pp. 481–498. Springer, Heidelberg (2014)Google Scholar
  14. 14.
    Rathlev, K., Smyth, S., Motika, C., von Hanxleden, R., Mendler, M.: SCEst: sequentially constructive Esterel. In: Proceedings of the 13th ACM-IEEE International Conference on Formal Methods and Models for System Design, MEMOCODE 2015, Austin, TX, USA, September 2015Google Scholar
  15. 15.
    Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Global value numbers and redundant computations. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1988, pp. 12–27. ACM, New York (1988)Google Scholar
  16. 16.
    Rybicki, F.: Interactive incremental hardware synthesis for SCCharts. Bachelor thesis, Kiel University, Department of Computer Science.
  17. 17.
    Schneider, C., Spönemann, M., von Hanxleden, R.: Just model! - Putting automatic synthesis of node-link-diagrams into practice. In: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2013, San Jose, CA, USA, pp. 75–82, 15–19 September 2013Google Scholar
  18. 18.
    Smyth, S., Motika, C., von Hanxleden, R.: A data-flow approach for compiling the sequentially constructive language (SCL). In: 18. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS 2015), Pörtschach, Austria, 5–7 October 2015Google Scholar
  19. 19.
    Steffen, B.: Unifying models. In: Reischuk, R., Morvan, M. (eds.) STACS 1997. LNCS, vol. 1200, pp. 1–20. Springer, Heidelberg (1997). doi: 10.1007/BFb0023444 CrossRefGoogle Scholar
  20. 20.
    von Hanxleden, R., Duderstadt, B., Motika, C., Smyth, S., Mendler, M., Aguado, J., Mercer, S., O’Brien, O.: SCCharts: Sequentially Constructive Statecharts for safety-critical applications. Technical Report 1311, Christian-Albrechts-Universität zu Kiel, Department of Computer Science, ISSN 2192–6247, December 2013Google Scholar
  21. 21.
    von Hanxleden, R., Duderstadt, B., Motika, C., Smyth, S., Mendler, M., Aguado, J., Mercer, S., O’Brien, O.: SCCharts: Sequentially Constructive Statecharts for safety-critical applications. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2014, Edinburgh, UK, June 2014. ACM (2014)Google Scholar
  22. 22.
    von Hanxleden, R., Mendler, M., Aguado, J., Duderstadt, B., Fuhrmann, I., Motika, C., Mercer, S., O’Brien, O., Roop, P.: Sequentially Constructive Concurrency–a conservative extension of the synchronous model of computation. ACM Trans. Embedded Comput. Syst. 13(4s), 144:1–144:26 (2014). Special Issue on Applications of Concurrency to System DesignGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Francesca Rybicki
    • 1
  • Steven Smyth
    • 1
    Email author
  • Christian Motika
    • 1
  • Alexander Schulz-Rosengarten
    • 1
  • Reinhard von Hanxleden
    • 1
  1. 1.Department of Computer Science, Real-Time and Embedded Systems GroupChristian-Albrechts-Universität zu KielKielGermany

Personalised recommendations