This paper combines three topics to which Amir Pnueli contributed significantly: the semantics of languages for concurrency, the semantics of statecharts, and reactive and hybrid systems. It is also no accident that the main motivation of our paper comes from biological systems: in recent years Amir became interested in these too. In [KLH10] we introduced Biocharts, a fully executable, two-tier compound visual language for modeling complex biological systems. The high-level part of the language is a version of statecharts, which have been shown to be successful in software and systems engineering. These statecharts can then be combined with any appropriately well-defined language (preferably a diagrammatic one) for specifying the low-level dynamics of the biological pathways and networks. The purpose of [KLH10] was to present the main concepts through a biological example and to illustrate the feasibility and usefulness of the approach. Here we discuss some of the questions that arise when one attempts to provide a careful definition of the semantics of Biocharts. We also compare the main requirements needed in a language for modeling biology with the way statecharts are used in software and system engineering.
Dedicated to the dear memory of Amir Pnueli: Friend, mentor, colleague, and a truly towering figure in computer science