38
1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

1

Design Methods for Reactive Systems, R.J. WieringaPart V: Communication Notations

Page 2: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

2

Outline

Data flow diagrams (DFDs)Communication diagramsContext modellingRequirements-level architectures

Page 3: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

3

Where are we?

Page 4: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

4

Data flow diagrams (DFDs): heating controller example

A collection of communicating data stores and processes

Page 5: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

5

Data flow diagrams (DFDs): hierarchical structuring; tank control process

Data processspecification:

Lower-levelDFD

Page 6: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

6

Data flow diagrams (DFDs): basic concepts (1)

Flow: Instantaneous and reliable communication channel

Page 7: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

7

Data flow diagrams (DFDs): basic concepts (2)

Stores: Remembers the data written to it

Page 8: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

8

Data flow diagrams (DFDs): basic concepts (2)

Process: Some system activity Data process Control process Composite process

Stateless or stateful processesSyntax:

Page 9: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

9

Data flow diagrams (DFDs): control process specification; STD for heater control process

Note consistency with DFD

Page 10: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

10

Communication diagrams: basics

DFDs instance-level; communication diagrams possibly type-level

Used to represent requirements-level architectures ”Language”

Page 11: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

11

Communication diagrams: heating controller example

Nodes ~ componentsEdges ~ communication channels

Page 12: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

12

Communication diagrams: heating controller; instance-level

Page 13: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

13

Communication diagrams: components

Page 14: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

14

Communication diagrams: decomposition

Page 15: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

15

Communication diagrams: decomposition and closely coupled components

Page 16: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

16

Communication diagrams: decomposition and closely coupled components; elevator controller

Page 17: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

17

Communication diagrams: allocation of functions to components (allocation table)

Page 18: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

18

Communication diagrams: flowdown

Page 19: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

19

Context modelling: motivation

Page 20: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

20

Context modelling: alternative system boundaries for the elevator controller

Page 21: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

21

Contex modelling: context boundary

Page 22: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

22

Context modelling: context diagram for the training information system

We need not only worry about the system boundary,but also about the context boundary … see guidelines

Page 23: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

23

Context modelling: structuring the context

Page 24: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

24

Context modelling: structure in the context of a information-provision system

Page 25: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

25

Context modelling: structure in the context of a directive system

Page 26: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

26

Context modelling: structure in the context of manipulative system

Page 27: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

27

Requirements-level architectures: architectures in general

We now move from modelling what is given to designing the SuD

Page 28: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

28

Requirements-level architectures: input sources

Page 29: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

29

Requirements-level architectures: encapsulation versus layering

Page 30: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

30

Requirements-level architectures: architectural styles

Data flow style: Not applicable to reactive

systems

Von Neumann style Strict separation of data

storage and data processing Database and

applicationprograms

Object-oriented style Processing and storage

encapsulated in objects

Page 31: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

31

Requirements-level architectures: comparison with implementation-level architectures

Page 32: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

32

Requirements-level architectures: main decomposition approaches

Functional decomposition each system function is allocated to a different component

Subject-oriented decomposition each group of subject domain entities corresponds to a

system component

Page 33: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

33

Requirements-level architectures: functional decomposition, object-oriented style; the ticket system example

Page 34: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

34

Requirements-level architectures: subject-oriented decomposition, object-oriented style; the ticket system example

Page 35: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

35

Requirements-level architectures: mixed architecture

Page 36: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

36

Requirements-level architectures: communication-oriented decomposition

Page 37: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

37

Requirements-level architectures: evaluation criteria

Page 38: 1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations

38

Summary

Data flow diagrams (DFDs)Communication diagramsContext modellingRequirements-level architectures