SPEEDS core concept: Contracts & multi-viewpoint

Divide and conquer is the established approach for mastering complexity in development of systems: We seek to divide intangible problems in order localise smaller tangible ones that enable future integration and realisation of a working solution. Multiple strategies are applied, e.g., partitioning according to functional or technology domains.

These strategies fail as they regards just one view on a system because system engineering is confronted with multi-viewpoint challenges, e.g. ensure safety AND minimal resource consumption AND flexible concurrent implementation at once.

SPEEDS has delivered a solution based on enriching functional decomposition with contracts, i.e. textual and formal descriptions of functional and non-functional aspects.

Image

Figure 1: Extended COTS Tool: Design enriched by Contracts (Click to enlarge)

Contracts give abstract descriptions of the exposed properties of a component, classified as Assumptions and Promises. Assumptions specify requirements of the component with respect to its environment. Promises specify the guaranteed delivered properties of the component provided its assumptions have been fulfilled.

Typical contracts specifying the behaviour of a component – i.e. used as promises – are:

  • The output out is the sum of the inputs in1 and in2.
  • Every request will be served.
  • A request will be served within 10 ms.

Examples of behavioural contracts used as assumption are:

  • Input data in1 will never show a negative value.
  • The data rate of in1 will not exceed one message in 10 ms.

SPEEDS has provided the complete framework for modelling, combining, analysing and managing such multi-viewpoint, enriched models.

 

 
-->