Large and complex computer systems, especially industrial applications, are usually composites of components designed and built separately. This loose coupling is made possible for functional specifications by means of compositional interfaces, eg. network protocols, APIs and data structures. However, large systems are operated using specifications beyond functional definitions: system operators expect to be able to manage, i.e. both predict and constrain, extra-functional behavior (EFB) of applications. EFB is a superset of quality-of-service (QoS) metrics like communication throughput or latency, that also includes performance, performance/watt, transient faults, etc. Unfortunately, there exists yet no composable interfaces to EFB management so that component-level EFB rules or models are automatically integrated when composing a whole system, or so that EFB behavior observed at the whole can be decomposed per sub-component. The iDAPT project explores and develops methods and tools for EFB management aiming to satisfy these requirements. It aims at co-designing and exploring a combination of a) a domain-specific language (DSL) to describe EFB constraints per component, with compositional semantics and b) online bi-simulation to predict EFB behavior of a large system ahead-of-time and c) a semi-supervised monitoring and coordination engine that integrates both a) and b), without being intrusive in the functional design. The proposed methodology will be applicable both bottom-up, i.e. during application implementation, and top-to-bottom, i.e. during high-level design, or during a posteriori analysis or adaptation of existing systems.
This work is done in collaboration with ASML and has been funded by The Netherlands Organisation for Scientific Research (NWO).