Top Banner
1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005
45

1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

Jan 03, 2016

Download

Documents

Ralph Berry
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

1

Gaspard MethodologyThe Y Model approach

Models and UML profiles

Arnaud CUCCURU, phd student

ModEasy meeting, Lille, February 2005

Page 2: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

2

Outline

Y Model overview Common modeling paradigms Application modeling Hardware Architecture modeling Association modeling

Page 3: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

3

“Y” model overview (1/2)

Page 4: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

4

“Y” overview (2/2)

Common Modeling Paradigms

Application Hardware Architecture

AssociationY• Component Oriented Modeling• Factorization mechanisms

• Expression of data dependences • Data parallelism expression

• Resource dimensionning• Grid modeling

• Spatial and temporal mapping of an application on an architecture

Page 5: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

5

Common modeling paradigms

Component oriented modeling

Components libraries Factorization

mechanisms

Common Modeling Paradigms

Application Hardware Architecture

Association

Page 6: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

6

Common modeling paradigms: Component Oriented Modeling (1/2)

Component<<Metaclass>>

Part<<Metaclass>>

1

*

Port<<Metaclass>>

*

Interface<<Metaclass>>

1

Connector<<Metaclass>>

*

ConnectorEnd<<Metaclass>>

1

1

*

*

+ports

+type

1

*+connectors1

+parts

*

+connectorEnds

*

+port1

+interface

1

Benefits:– Strong encapsulation

(to ease reuse)– Hierarchichal

description (to handle complexity)

Page 7: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

7

Common modeling paradigms: Component Oriented Modeling (2/2)

ComponentA ComponentB

ComponentC

InterfaceB

InterfaceB InterfaceZ

InterfaceZ

InterfaceCInterfaceC

b : ComponentB

c : ComponentC

Component = Reusable design element

Port = Encapsulation point

Required interface = “Messages” that can be emitted

Provided Interface = “Messages” that can be received

Part = Component instance

Connector = Messages media

Page 8: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

8

Common modeling paradigms: Components Libraries

Component<<Metaclass>>

Part<<Metaclass>>

1

*

Port<<Metaclass>>

*

Interface<<Metaclass>>

1

Connector<<Metaclass>>

*

ConnectorEnd<<Metaclass>>

1

1

*

*

+ports

+type

1

*+connectors1

+parts

*

+connectorEnds

*

+port1

+interface

1

«Metaclass» ElementaryComponent

Predefined components: ElementaryComponent

No internal structure description

Supposed to be implemented in a library

Page 9: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

9

Common modeling paradigms: Factorization mechanisms (1/4)

Component<<Metaclass>>

Part<<Metaclass>>

1

*

Port<<Metaclass>>

*

Interface<<Metaclass>>

1

Connector<<Metaclass>>

*

ConnectorEnd<<Metaclass>>

1

1

*

*

+ports

+type

1

*+connectors1

+parts

*

+connectorEnds

*

+port1

+interface

1

«Metaclass» RepetitiveComponent

«Metaclass» RepetitiveConnector

Multidimentional Cardinalities

Definition of a “repetition space”: RepetitiveComponent

Use of multidimentional cardinalities on structural elements (parts and ports)

Use of “smart” connectors to interconnect factorized elements: RepetitiveConnector

Mechanisms inspired by the Array Oriented Language

«Metaclass» ElementaryComponent

Page 10: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

10

Common modeling paradigms: Factorization mechanisms (2/4)

Component

a3 : ComponentA

a2 : ComponentA

a1 : ComponentA

Ports Parts ConnectorsPotential factorization:

Page 11: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

11

Common modeling paradigms: Factorization mechanisms (2/4)

Component

a3 : ComponentA

a2 : ComponentA

a1 : ComponentA

PortsPotential factorization:

[6]

[2]

[2]

[2]

[3]

[ ]

[ ]

[ ]

=> Cardinalities

Page 12: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

12

Common modeling paradigms: Factorization mechanisms (2/4)

Component

Potential factorization:

[6] [3]

a3 : ComponentA

a2 : ComponentA

a1 : ComponentA

[2]

[2]

[2]

[ ]

[ ]

[ ]

Parts

a : ComponentA [3]

[2][ ]

=> Cardinalities

Page 13: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

13

Common modeling paradigms: Factorization mechanisms (2/4)

Component

Potential factorization:

[6] [3]

a : ComponentA [3]

[2][ ]

Connectors

«RepetitiveConnector» «RepetitiveConnector»

=> RepetitiveConnector

Several informations (vectors) are associated to Repetitive Connectors to describe connection patterns between ports: Origin, Paving, Fitting

Page 14: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

14

Common modeling paradigms: Factorization mechanisms (2/4)

Component

[6] [3]

a : ComponentA [3]

[2][ ]

«RepetitiveConnector» «RepetitiveConnector»

RepetitiveComponent

Factorization expressed In the context of a repetitive component

Note: A repetitive component contains a repetition of a single part

Page 15: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

15

Common modeling paradigms: Factorization mechanisms (3/4)

Component

a3 : ComponentA

a2 : ComponentA

a1 : ComponentA0

1

2

3

4

5

0

1

2

0

1

0

1

0

1

• Basic idea: Handle ports with cardinalities as arrays of ports

• Dependences can be defined between patterns inside ports in the boundaries, and ports of the repeated parts

Page 16: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

16

Common modeling paradigms: Factorization mechanisms (3/4)

Component

a3 : ComponentA

a2 : ComponentA

a1 : ComponentA0

1

2

3

4

5

0

1

2

0

1

0

1

0

1

• Paving vector => identifies origin of each pattern inside the array of ports at the boundary, from a given Origin vector

• Paving limit is given by the cardinality associated to the repeated part (in this case 3)

Origin = {0}Paving = {2}

Origin = {0}Paving = {1}

Page 17: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

17

Common modeling paradigms: Factorization mechanisms (3/4)

Component

a3 : ComponentA

a2 : ComponentA

a1 : ComponentA0

1

2

3

4

5

0

1

2

0

1

0

1

0

1

• An index vector is implicitely associated to each repetition of the part (Coordinates in the repetition space)

• Origin of the pattern associated to each part = origin + index x paving

Origin = {0}Paving = {2}

Origin = {0}Paving = {1}

{2}

{1}

{0}

Page 18: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

18

Common modeling paradigms: Factorization mechanisms (3/4)

Component

a3 : ComponentA

a2 : ComponentA

a1 : ComponentA0

1

2

3

4

5

0

1

2

0

1

0

1

0

1

• Fitting vector => determines the ports that belong to a given pattern inside of an array (from the origin of the pattern given by the Paving)

• Fitting limit is given by the cardinality associated to the ports of the repeated part

Origin = {0}Paving = {2}

Origin = {0}Paving = {1}

Fitting = {1}Fitting = {}

Page 19: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

19

Common modeling paradigms: Factorization mechanisms (3/4)

[6] [3]

a : ComponentA [3]

[2][ ]

«RepetitiveConnector»

Origin={0}Paving={2}Fitting={1}

«RepetitiveConnector»

Origin={0}Paving={1}Ftting={}

RepetitiveComponent

Final compact representation

Page 20: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

20

Common modeling paradigms: Factorization mechanisms (4/4)

Component<<Metaclass>>

Part<<Metaclass>>

1

*

Port<<Metaclass>>

*

Interface<<Metaclass>>

1

Connector<<Metaclass>>

*

ConnectorEnd<<Metaclass>>

1

1

*

*

+ports

+type

1

*+connectors1

+parts

*

+connectorEnds

*

+port1

+interface

1

«Metaclass» RepetitiveComponent

«Metaclass» RepetitiveConnector

Expression of connections between repeated instances: SelfConnector

= Connection between different points of the repetition space

«Metaclass» SelfConnector

«Metaclass» ElementaryComponent

Page 21: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

21

Common modeling paradigms: Factorization mechanisms (4/4)

Component

a3 : ComponentA

a2 : ComponentA

a1 : ComponentA

• Example: Ring topology

• Each instance is able to communicate with its neighbour

prov req

prov req

prov req

Page 22: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

22

Common modeling paradigms: Factorization mechanisms (4/4)

RepetitiveComponent

a : ComponentA [3]

• Factorization of parts in the context of a RepetitiveComponent

• Connection between points of the repetition space = Connection between different instances of the repeated part => SelfConnector

prov req

«SelfConnector»

RepetitionSpaceDependance = {1}

Modulo = true

Page 23: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

23

Common modeling paradigms: Factorization mechanisms (4/4)

RepetitiveComponent

• index of the “neighbour” = index + RepititionSpaceDependence mod RepetitionSpace size (i.e. Cardinality of the repeated part)

a3 : ComponentAa2 : ComponentAa1 : ComponentA

prov reqprov reqprov req{2}{1}{0}

{0} + {1} mod {3} {1} + {1} mod {3}

{2} + {1} mod {3}

Page 24: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

24

Application modeling

Data Parallelism expression

Spatial and temporal dimensions unification

Inter-repetition dependences

Common Modeling Paradigms

Application Hardware Architecture

Association

Page 25: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

25

Application modeling

Component(from Common Modeling Paradigms)

<<Metaclass>>

AppComponent<<Metaclass>>

ElementaryComponent(from Common Modeling Paradigms)

<<Metaclass>>RepetitiveComponent

(from Common Modeling Paradigms)

<<Metaclass>>

AppElementaryComponent<<Metaclass>>

AppRepetitiveComponent<<Metaclass>>

• AppComponent ~= Function• Ports ~= Data handled (mainly multidimentional arrays)• Connectors ~= Data dependencies=> Expression of applications via expression of Data dependencies

Page 26: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

26

Application modeling:Data parallelism expression (1/2)

• Example: Computations on a 4x4 array to produce a 2x2• Input and output arrays can be decomposed into patterns

arraypattern pattern

array

Page 27: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

27

Application modeling: Data parallelism expression (1/2)

• Example: Computations on a 4x4 array to produce a 2x2• Input and output arrays can be decomposed into patterns• Each pattern can be computed independently: Potential Data Parallelism• => Represented with the common factorization mechanisms

array array

1,1

0,1

1,0

0,0Origin = {0,0}Paving = {{2,0},{0,2}}Fitting = {{1,0},{0,1}}

Origin = {0,0}Paving = {{1,0},{0,1}}Fitting = {{},{}}

Page 28: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

28

Application modeling:Data parallelism expression (2/2)

arraypattern pattern

array

Page 29: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

29

Application modeling:Data parallelism expression (2/2)

arraypattern pattern

array

RepetitiveComponent

Page 30: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

30

Application modeling:Data parallelism expression (2/2)

arraypattern pattern

array

RepetitiveComponent

p : Part

Page 31: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

31

Application modeling:Data parallelism expression (2/2)

RepetitiveComponent

p : Part

[4,4] [2,2] [ ] [2,2]

Page 32: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

32

Application modeling:Data parallelism expression (2/2)

RepetitiveComponent

p : Part [2,2]

[4,4] [2,2] [ ] [2,2]

«RepetitiveConnector» «RepetitiveConnector»

Page 33: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

33

Application modeling: Spatial and Temporal dimensions unification (1/2)

• Example: Signal processing application: Infinite stream of data consumed and produced• Idea: Infinite stream = Infinite dimension of an Array• Spatial and temporal dimension in an array• => Modeling of time and space dependences with the same formalism

Infinite vector Infinite vector

Page 34: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

34

Application modeling:Spatial and Temporal dimensions unification (2/2)

RepetitiveComponent

p : Part [*]

[*] [*] [*] [*]

«RepetitiveConnector» «RepetitiveConnector»

Origin = {0}Paving = {1}Fitting = {}

Origin = {0}Paving = {1}Fitting = {}

Page 35: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

35

Application modeling: Inter repetition dependences (1/2)

• Inter repetition dependences

Page 36: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

36

Application modeling:Inter repetition dependences (2/2)

RepetitiveComponent

p : Part [3]

[3] [1] [1] [3]

«RepetitiveConnector» «RepetitiveConnector»

Origin = {0}Paving = {1}Fitting = {}

Origin = {0}Paving = {1}Fitting = {}

«SelfConnector»

RepetitionSpaceDependance = {1}

Modulo = false

Page 37: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

37

Hardware Architecture modeling

Resources classification

Complex connection patterns expression

“Grid” topologies modeling

Common Modeling Paradigms

Application Hardware Architecture

Association

Page 38: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

38

Hardware Architecture modeling

Component(from Common Modeling Paradigms)

<<Metaclass>>

ElementaryComponent(from Common Modeling Paradigms)

<<Metaclass>>RepetitiveComponent

(from Common Modeling Paradigms)

<<Metaclass>>

HwComponent<<Metaclass>>

HwElementaryComponent<<Metaclass>>

HwRepetitiveComponent<<Metaclass>>

• HwComponent = Hardware resource

Page 39: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

39

Hardware Architecture modeling: Resources classification

Passive: to support data. Example: RAM, ROM, SAM…

Active: able to read or write in passive resources, with or without modifications, and to sequence operations. Example: CPU, DMA.

Interconnect: interconnection between passive and active elements, or active and active. Example: Bus, static/dynamic interconnection networks,…

HwElementaryComponent<<Metaclass>>

HwActiveComponent<<Metaclass>>

HwPassiveComponent<<Metaclass>>

HwInterconnectComponent<<Metaclass>>

Page 40: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

40

Hardware Architecture modeling: Complex connection patterns (1/2)

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

: Crossbar2x2

«CompoundHwComponent »

Omega8x8

Page 41: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

41

Hardware Architecture modeling: Complex connection patterns (2/2)

«HwRepetitiveComponent »

OmegaStage

: Crossbar2x2 [2,2]

[8] [2] [2] [8]origin = {0}

paving = {{2},{2}}

fitting = {1}

origin = {0}

paving = {{4},{1}}

fitting = {2}

«RepetitiveConnector» «RepetitiveConnector»

Page 42: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

42

Hardware Architecture modeling: “Grid” topologies modeling (1/2)

• Example: 4x4 cyclic grid of communicating PEs

Page 43: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

43

Hardware Architecture modeling: “Grid” topologies modeling (2/2)

• Example: 4x4 cyclic grid of communicating PEs

pe : PE [4,4]

« HwRepetitiveComponent »

CyclicGrid4x4

«SelfConnector»

RepetitionSpaceDependance = {1,0}

Modulo = true

«SelfConnector»

RepetitionSpaceDependance = {1,0}

Modulo = true

Page 44: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

44

Association modeling

Common Modeling Paradigms

Application Hardware Architecture

Association

In progress…

Page 45: 1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.

45

Association modeling

Association = distribution + scheduling– distribution = spatial mapping

code on active (and passive) data on passive communications on paths

– scheduling = temporal mapping for tasks memory allocation