Speaker: Jan Oliver Ringert

Title: Crosscutting Structural Views for Component and Connector Models: Verification and Synthesis

Abstract:

The structure of component and connector (C&C) models, which are used in many application domains of software engineering, consists of components at different containment levels, their typed input and output ports, and the connectors between them. We present C&C views, which specify structural properties of C&C models in an expressive and intuitive way. C&C views provide means to abstract away direct hierarchy, direct connectivity, port names and types, and thus can crosscut the traditional boundaries of the implementation-oriented hierarchical decomposition of systems and sub-systems, and reflect the partial knowledge available to different stakeholders involved in a system's design.

We consider two applications of C&C views. First, we address the verification of a C&C model against a C&C view and present efficient (polynomial) algorithms to decide satisfaction. A unique feature of our work, not present in existing approaches to checking structural properties of C&C models, is the generation of witnesses for satisfaction/non-satisfaction and of short natural-language texts, which serve to explain and formally justify the verification results and point the engineer to its causes.

Second, we investigate the synthesis problem: given a C&C views specification, consisting of mandatory, alternative, and negative views, construct a concrete satisfying C&C model, if one exists. We show that the problem is NP-hard and solve it, in a bounded scope, using a reduction to SAT, via Alloy. We further extend the basic problem with support for library components, specification patterns, and architectural styles. The result of synthesis can be used for further exploration, simulation, and refinement of the C&C model or, as the complete, final model itself, for direct code generation.

A prototype tool and an evaluation over five example systems with multiple views, performance and scalability experiments, as well as a user study of the usefulness of the witnesses generated for verification results, demonstrate the contribution of our work to the state-of-the-art in component and connector modeling and analysis.

Project website: http://www.se-rwth.de/materials/cncviews/
Joint work with Shahar Maoz and Bernhard Rumpe.
Summarizing papers from FSE’13 and ICSE’14.