Technical Report Number
Integrated systems are those where components must behave together in order to fulfill overall requirements. In such systems, modularization of integration relationships is important for enabling separate component compilation, testing, and debugging, and for enhanced reuse. Existing languages and approaches for modularizing integration relationships work, but do not solve all problems. In particular, they either do not completely decouple components or require workarounds, which at a minimum incurs design and performance overheads. In this work, we discuss instance-level quantified, typed events, which solve all of these problems. The technical contributions include: the design, semantics, and type system of instance-level quantified, typed events and a proof of its soundness. A formalized semantics is new to this paper, as there have been no previous formalizations of language features that aim to modularize separation of integration relationships. To demonstrate the feasibility of our language design, we have implemented this design in an interpreter. To provide an initial assessment of the language's benefits, we have implemented canonical examples in the literature. Our initial assessments show that instance-level quantified, typed events improve the separation of integration concerns over previous language design proposals.