This paper proposes a theoretical framework for separation of concerns in the formal specification of reactive and real-time systems. This framework consists of the syntax and the semantics of three languages (and all meaningful combinations thereof) that each address a separate concern. The first language, Gamma (a variant of an existing language) is used to define the functionality of a system (by means of a set of basic data transformations). Our additions are a simple language of intervals specifying timing properties of basic transformations and a language (called Schedules) for specifying the coordination of the basic Gamma transformations. Each of these languages formally models a separate aspect of a system and statements in these languages can be reused, changed or analyzed in their own right. Our key contribution is that we provide a formal framework in which different combinations of aspects have a well-defined semantics.
|Journal||Nordic Journal of Computing|
|Publication status||Published - 2015|