The visual contract language: abstract modelling of software systems ...

Laboratory for Advanced Software Systems. University of ...... composition involves a custom extension, which, although more laborious, can also be specified.
1MB Sizes 0 Downloads 107 Views
The visual contract language: abstract modelling of software systems visually, formally and modularly

Nuno Am´alio and Pierre Kelsen Laboratory for Advanced Software Systems University of Luxembourg 6, rue R. Coudenhove-Kalergi L-1359 Luxembourg

TR-LASSY-10-03

Contents Contents

2

1 Introduction 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 VCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 7 8 8

2 The Core of VCL 2.1 Running Example . . . . . . . . . . . . . . 2.2 Syntax of VCL . . . . . . . . . . . . . . . . 2.2.1 Visual Primitives . . . . . . . . . . . 2.2.2 Structural Diagrams . . . . . . . . . 2.2.3 Behavioural Diagrams . . . . . . . . 2.2.4 Assertion (or Constraint) Diagrams 2.2.5 Contract Diagrams . . . . . . . . . . 2.3 Semantics of VCL . . . . . . . . . . . . . . 2.3.1 Structural Diagrams . . . . . . . . . Illustration . . . . . . . . . . . . . . 2.3.2 Behavioural Diagrams . . . . . . . . 2.3.3 On Importing . . . . . . . . . . . . . 2.3.4 Assertion Diagrams . . . . . . . . . Illustration . . . . . . . . . . . . . . 2.3.5 Contract Diagrams . . . . . . . . . . Illustration . . . . . . . . . . . . . . 2.4 Conclusions . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

9 9 9 9 11 12 12 14 16 17 17 18 19 19 20 20 20 22

3 Packages and Aspect-Orientation 3.1 Running Example . . . . . . . . . . 3.2 Extending VCL with Packages . . . 3.2.1 Visual Primitives . . . . . . . 3.2.2 Package Diagrams, Syntax . . Illustration . . . . . . . . . . 3.2.3 Package Diagrams, Semantics Illustration . . . . . . . . . . 3.2.4 Remaining VCL Diagrams . . 3.2.5 Structural Diagrams, Syntax

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

23 23 23 24 24 25 26 26 27 27

2

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

3.3 3.4

3.5

3.6

3.7

Illustration . . . . . . . . . . . . . . . . . . . 3.2.6 Structural Diagrams, Semantics . . . . . . . . Illustration . . . . . . . . . . . . . . . . . . . 3.2.7 Behavioural Diagrams . . . . . . . . . . . . . Illustration . . . . . . . . . . . . . . . . . . . 3.2.8 Assertion and Contract Diagrams, Syntax . . Illustration . . . . . . . . . . . . . . . . . . . 3.2.9 Assertion and Contract Diagrams, Semantics Illustration . . . . . . . . . . . . . . . . . . . Aspect Orientation