A Notebook Format for the Holistic Design of Embedded Systems (Tool Paper)

Spencer Park
(McMaster University)
Emil Sekerinski
(McMaster University)

This paper proposes the use of notebooks for the design documentation and tool interaction in the rigorous design of embedded systems. Conventionally, a notebook is a sequence of cells alternating between (textual) code and prose to form a document that is meant to be read from top to bottom, in the spirit of literate programming. We extend the use of notebooks to embedded systems specified by pCharts. The charts are visually edited in cells inline. Other cells can contain statements that generate code and analyze the charts qualitatively and quantitatively; in addition, notebook cells can contain other instructions to build the product from the generated code. This allows a notebook to be replayed to re-analyze the design and re-build the product, like a script, but also allows the notebook to be used for presentations, as for this paper, and for the inspection of the design. The interaction with the notebook is done through a web browser that connects to a local or remote server, thus allowing a computationally intensive analysis to run remotely if needed. The pState notebooks are implemented as an extension to Jupyter. The underlying software architecture is described and the issue of proper placement of transition labels in charts embedded in notebooks is discussed.

In Paolo Masci, Rosemary Monahan and Virgile Prevosto: Proceedings 4th Workshop on Formal Integrated Development Environment (F-IDE 2018), Oxford, England, 14 July 2018, Electronic Proceedings in Theoretical Computer Science 284, pp. 85–94.
Published: 27th November 2018.

ArXived at: https://dx.doi.org/10.4204/EPTCS.284.7 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org