families (of products) in space

Post on 12-Jan-2016

43 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Families (of Products) in Space. Professor Mike Hinchey In collaboration with Joaquin Pena, Jim Rash, Manuel Resinas, Antonio Ruiz-Cortes Roy Sterritt, Pablo Trinidad. NASA as a pioneer. Regular releases of PASS software foresaw agile methods. Human-rated software gets priority. - PowerPoint PPT Presentation

TRANSCRIPT

1

Families (of Products) in Space

Professor Mike Hinchey

In collaboration with Joaquin Pena, Jim Rash, Manuel Resinas, Antonio Ruiz-Cortes Roy Sterritt, Pablo Trinidad

2

NASA as a pioneer

• Regular releases of PASS software foresaw agile methods.

• Human-rated software gets priority.• Quality and safety are paramount.

Figure 3. NASA Space Shuttle Time Required to Achieve Number of Cumulative Failures <= F (t) vs. F (t)

0.00

2.00

4.00

6.00

8.00

10.00

12.00

14.00

1 2 3 4 5 6 7 8 9 10

F (t)

t (3

0 d

ay in

terv

als

)

Series1

Series2

Series3

Series4

Series5

Series 1: OI3Series 2: OI4Series 3: OI5Series 4: OI6Series 5: tm = Mission Duration

4

NASA as a pioneer

• Sees opportunity for reuse in the use of SPLs.

• Has long viewed evolution of complex systems as a product line with large core.

Product Si-1

Set of Core features

Set of Features

A

Set of Features

B

Condition: environment/system Product Si-1

Set of Core features

Set of Features

A

New Set of

Features

GRAIL

• Grail (Gravity Recovery and Interior Lab) found relevant defect factors in flight software.• Timing parameters particularly problematic.• Grail aims to retain organizational memory and

avoid the same defects in new products.

5

SPLs

6

Elektra – software defined radio

7

Swarm Technologies

• Inspired by swarms of bees and flocks of birds in nature;

• Many application areas:– drug discovery;– communication systems; – environmental monitoring;– exploration.

8

Swarms of Spacecraft

Coordinated swarms of smaller spacecraft will offer:

• More effective use of solar power;

• Access to areas where large craft could not go;

• Ability to perform more complex tasks;

• Greater accuracy and flexibility.

• Resilience in harsh environments.

9

Autonomous NanoTechnology Swarm

Three concept sub-missions:

1. Lander Amorphous Rover Antenna (LARA)

2. Saturn Autonomous Ring Array (SARA)

3. Prospecting Asteroid Mission (PAM)

All use (substantially) the same software and similar devices (some on lunar surface, some fly, etc.)

10

Tet Walkers

11

LARA Walkers

12

13

ANTS Concept Mission - PAM

14

ANTS Concept Mission - PAM

15

Viewpoints

v

is a set of (partial) transition functions where each transition function maps

ocessason

geceiveMessaeSendMessag

Pr,Re

,Re,

MemoryOutputInputMemory

is a set of (partial) transition functions where each transition function maps

ocessason

geceiveMessaeSendMessag

Pr,Re

,Re,

MemoryOutputInputMemory

goces

goces

goces

goces

goces

goces

easoning

easoning

ingCommunicateceive

ingCommunicateceive

ingCommunicateceive

ingCommunicat

ingCommunicat

ingCommunicatingCommunicat

sinPr.nRemediatioProcessing:17

sinPr.RecoveryProcessing:16

sinPr.DiagnosisProcessing:16

sinPr.PredictionProcessing:17

sinPr.GenerationProcessing:17

sinPr.StorageSortingAndProcessing:17

R.eactiveReasoningR:50

R.eliberatveReasoningD:50

.orMessageErrR:1

.derMessageLeaR:50

.kerMessageWorR:50

.eErrorSendMessag:1

.eLeaderSendMessag:50

.eWorkerSendMessag:50

2

2

2

2

2

2

2

2

1

2

2

1

2

2

lkklkklk nmnmn kkkkk nmmnmn )(

goces

goces

goces

goces

goces

goces

easoning

easoning

ingCommunicateceive

ingCommunicateceive

ingCommunicateceive

ingCommunicat

ingCommunicat

ingCommunicatingCommunicat

sinPr.nRemediatioProcessing:17

sinPr.RecoveryProcessing:16

sinPr.DiagnosisProcessing:16

sinPr.PredictionProcessing:17

sinPr.GenerationProcessing:17

sinPr.StorageSortingAndProcessing:17

R.eactiveReasoningR:50

R.eliberatveReasoningD:50

.orMessageErrR:1

.derMessageLeaR:50

.kerMessageWorR:50

.eErrorSendMessag:1

.eLeaderSendMessag:50

.eWorkerSendMessag:50

2

2

2

2

2

2

2

2

1

2

2

1

2

2

lkklkklk nmnmn kkkkk nmmnmn )(

otherwise

AGEERROR_MESS

RTH(msg) = EAif

AGEEARTH_MESS

RKER(msg) = WOif

SAGEWORKER_MES

SSENGER(msg) = ME if

MESSAGEMESSENGER_

ADER(msg) = LEif

SAGELEADER_MES

msginleaderCOMLEADER

msgconvi

msgconvi

msgconvi

msgconvi

msgconvi

convi

sender

sender

sender

sender

case

?._

,,

,,

,,

,,

,,

,

otherwise

AGEERROR_MESS

RTH(msg) = EAif

AGEEARTH_MESS

RKER(msg) = WOif

SAGEWORKER_MES

SSENGER(msg) = ME if

MESSAGEMESSENGER_

ADER(msg) = LEif

SAGELEADER_MES

msginleaderCOMLEADER

msgconvi

msgconvi

msgconvi

msgconvi

msgconvi

convi

sender

sender

sender

sender

case

?._

,,

,,

,,

,,

,,

, ),,(' ingCommsTracklModesGoalmemory ),,(' ingCommsTracklModesGoalmemory

217ProcessingRemediation

216ProcessingRecovery

216ProcessingDiagnosis

217ProcessingPrediction

217ProcessingGeneration

217ProcessingSortingAndStorage

Processing

250ReasoningReactive

250ReasoningDeliberatveReasoning

11ReceiveMessageError

250ReceiveMessageLeader

250ReceiveMessageWorker

11SendMessageError

250SendMessageLeader

250SendMessageWorker

Communicating

Identity

pfActions leading to the agent state

Agent State

217ProcessingRemediation

216ProcessingRecovery

216ProcessingDiagnosis

217ProcessingPrediction

217ProcessingGeneration

217ProcessingSortingAndStorage

Processing

250ReasoningReactive

250ReasoningDeliberatveReasoning

11ReceiveMessageError

250ReceiveMessageLeader

250ReceiveMessageWorker

11SendMessageError

250SendMessageLeader

250SendMessageWorker

Communicating

Identity

pfActions leading to the agent state

Agent State

5.5.00

25.25.5.0

25.25.5.0

25.25.5.0

P

Communicating

Reasoning

ProcessingInitial state

0.5

0.5

0.5

1

0.25

0.25

0.25

0.25 Communicating

Reasoning

ProcessingInitial state

0.5

0.5

0.5

1

0.25

0.25

0.25

0.25

5.5.00

25.25.5.0

25.25.5.0

25.25.5.0

P

Communicating

Reasoning

ProcessingInitial state

0.5

0.5

0.5

1

0.25

0.25

0.25

0.25 Communicating

Reasoning

ProcessingInitial state

0.5

0.5

0.5

1

0.25

0.25

0.25

0.25

[Processing] SendMessage (Leader, Worker) [Communicating]

[Reasoning] SendMessage (Leader,Worker)[Communicating]

[Communicating]ReasoningDeliberatve(Leader)[Reasoning]

[Processing] SendMessage (Leader, Worker) [Communicating]

[Reasoning] SendMessage (Leader,Worker)[Communicating]

[Communicating]ReasoningDeliberatve(Leader)[Reasoning]

Swarm Formal Method Model and Outline

MAS-PL approach

16

Plan Model

17

Role Model

18

19

MaCMAS Traceability Model

Explore Universe

Explore and Discover

Set Objetive and Approach

FlightSearch

new objective

Inform objective

EvaluateInterest

Avoid Crashing

Avoid run aout of power

Protect from solar

storms

measure image

Send Data Earth

Self-Protection

Ab

str

ac

tio

n

La

ye

r 1

Ab

str

ac

tio

n

La

ye

r 2

Ab

str

ac

tio

n

La

ye

r 4

Ab

str

ac

tio

n

La

ye

r 3

Measuresolar storms

Switch off sub-sytems

Use sail as a shield

...

...

...

...

......

Move

Snake Amoeba Rolling

Walk

Gas prop.

Use Sail to Orbit

and flight

Analyse

measure X-ray

Mandatory Optional

At least one of them

Only one of them

DigitalCamera

Optical Camera

If father present, the heir is:

Dependency

20

Feature Model

Explore Universe

Explore and Discover

Set Objetive and Approach

FlightSearch

new objective

Inform objective

EvaluateInterest

Avoid Crashing

Avoid run aout of power

Protect from solar

storms

measure image

Send Data Earth

Self-Protection

Ab

str

ac

tio

n

La

ye

r 1

Ab

str

ac

tio

n

La

ye

r 2

Ab

str

ac

tio

n

La

ye

r 4

Ab

str

ac

tio

n

La

ye

r 3

Measuresolar storms

Switch off sub-sytems

Use sail as a shield

...

...

...

...

......

Move

Snake Amoeba Rolling

Walk

Gas prop.

Use Sail to Orbit

and flight

Analyse

measure X-ray

Mandatory Optional

At least one of them

Only one of them

DigitalCamera

Optical Camera

If father present, the heir is:

Dependency

Features and Roles

21

Space

<<Environment>>Solar Disc

stormVector: Vector3stormIntensity:Real

SelfProtecSS

StormVector: Vector3stormIntensity : RealasteroidRelativePos: PosstormType: StormTypes

Role Goal: Self-protectionmRI Meassure Storms Goal: Protect from solar stormmRI offSubSys Goal: Protect from solar stormmRI SailAsShieldGoal: Protect from solar storm

SelfProtecSS

SelfProtecSS

SelfProtecSS

Guard: SelProtecSC.stormIntensity > RiskForSystemsFactor

offSubSysGoal: Power off subsystemsPattern: self-procedure

In: Out: SelfProtecSS.stormIntensity

SailAsShieldGoal: Use sail as shieldPattern: self-procedure

In: Out: SelfProtecSS.stormVector SelfProtecSS.stormIntensity

MeassureStormsGoal: Meassure Storm RiskPattern: Sense Environment

In: Space.stormVector Space.stormIntensity

Out: SelfProtecSS.stormIntensity SelfProtecSS.stormVector

Guard: SelProtecSC.stormIntensity > RiskForSystemsFactor

Avoid Crashing

Avoid run aout of power

Protect from solar

storms

Self-Protection

Measuresolar storms

Switch off sub-sytems

Use sail as a shield

Avoidcrashing

AvoidOut power

Prot.Solar St

SelfSelf--ProtectionProtectionRoleRole

<<<<environmetenvironmet>>>>SpaceSpace

Ab

stra

ctio

nL

ayer

3A

bst

ract

ion

Lay

er4

Commonality

22

Commonalities

23

0%

20%

40%

60%

80%

100%

120%

AV

OID

-CR

AS

HIN

G

EX

PLO

RE

-AN

D-D

ISC

OV

ER

EX

PLO

RE

-UN

IVE

RS

E

MO

VE

SE

AR

CH

-NE

W-O

BJE

CT

IVE

SE

ND

-DA

TA

-EA

RT

H

SE

LF-P

RO

TE

CT

ION

SE

T-O

BJE

CT

IVE

-AN

D-A

PP

RO

AC

H

ME

AS

UR

E

AV

OID

-OU

T-P

OW

ER

PR

OT

EC

T-F

RO

M-S

OLA

R-S

TO

RM

S

ME

AS

UR

E-S

OLA

R-S

TO

RM

S

SW

ITC

H-O

FF

-SU

BS

YS

TE

MS

US

E-S

HA

IL-A

S-A

-SH

IELD

OR

BIT

AN

D F

LIG

HT

WA

LK

ME

AS

UR

E-I

MA

GE

GA

S-P

RO

PA

GA

TIO

N

US

E-S

AIL

-OR

BIT

-FLI

GH

T

ME

AS

UR

E-X

RA

Y

ME

AS

UR

E-T

EM

PE

RA

TU

RE

EV

ALU

AT

E-I

NT

ER

ES

T

INF

OR

M-O

BJE

CT

IVE

AM

OE

BA

RO

LLIN

G

SN

AK

E

SE

LF-H

EA

LIN

G

LEA

RN

OP

TIC

AL-

CA

ME

RA

DIG

ITA

L-C

AM

ER

A

CO

MM

ON

AL

ITY

Threshold = 60%

Composition

24

A) Plan Model

B) Role Model

Measure risk of solar

stormsProtecting

[SelProtecSC.stormIntensity > RiskForSystemsFactor]

SailAsShield

[SelProtecSC.stormIntensity > RiskForSystemsFactor]

offSubSysMeasureStorms

Space

<<Environment>>Space

stormVector: Vector3stormIntensity:Real

SelfProtecSC

StormVector: Vector3stormIntensity : RealasteroidRelativePos: PosstormType: StormTypes

Role Goal: Self-protectionmRI Measure Storms Goal: Protect from solar stormmRI offSubSys Goal: Protect from solar stormmRI SailAsShieldGoal: Protect from solar storm

SelfProtecSC

SelfProtecSC

SelfProtecSC

Guard: SelProtecSC.stormIntensity > RiskForSystemsFactor

offSubSysGoal: Power off subsystemsPattern: self-procedure

In: Out: SelfProtecSC.stormIntensity

SailAsShieldGoal: Use sail as shieldPattern: self-procedure

In: Out: SelfProtecSC.stormVector SelfProtecSC.stormIntensity

MeasureStormsGoal: Measure Storm RiskPattern: Sense Environment

In: Space.stormVector Space.stormIntensity

Out: SelfProtecSC.stormIntensity SelfProtecSC.stormVector

Guard: SelProtecSC.stormIntensity > RiskForSystemsFactor

A) Plan Model

OrbitingAfter

Measure

[Dist(relativePos,Astero-idRelativePos)<dist]

Measure

[Orbiter.MeasureFi-nished(astModel)]

EscapeOrbit

[not (Orbiter.AmIInsideOrbit(Orbi-ter.relativePos,Orbiter.orbitM)]

AdjustOrbit

InformOrbit

Inform Measures

[Orbiter.MeasureFi-nished(astModel)]

EscapeOrbit

Asteroid

Orbiter

1..n

<<Environment>>Asteroid

relativePos: PospData:Data

MeasureGoal: Measure AsteroidPattern: Environmental Int.

In: Orbiter.aste- roidRelativePos

Out: pMeassu- rer.astModel

1..n

OrbitModeller

astData:AteroidDataorbitM: OrbitModel

CalculateOrbit(AsteroidData)::OrbitModel

Role Goal: Calculate orbitsmRI Goals: send orbit models

Report OrbitGoal: Report Orbit

Pattern: CollaborationIn: OrbitMo- deller.orbitM

Out: Orbiter.orbitM

Postcondition:Orbiter.astModel <> empty

Instantiation Rule:(Orbiter.allInstances -> forAll (c | SWARM.pMeasureMeasurers.includes(c))

Guard: Dist(relativePos,AsteroidRelativePos)<dist

Measurer

Orbiter

Orbiter

orbitM: OrbitModelrelativePos: PosasteroidRelativePos: PosastData: AstDataastModel: AstModel

AdjustOrbit(relativePos,orbitM)PProcessData(m:Measure)::ModelPMeasureX(input)::pMeasureAmIInsideOrbit(Pos,OrbitModel)::BoolMeasureFinished(AstModel)::Bool

Role Goal: Maintain Orbit and MeasuremRI Measure Goal: GetModelmRI Orbits Goal: Get the Orbit Model

Receiver

listOfModels:ModellistOfSenders:Sender

Role Goal: Know ModelmRI Goals: get Model

Orbiter

Report Measures

Goal: Distribute results

Pattern: CollaborationIn: Orbiter.astModel

Out: Receiver.astModel

Receiver

1..n

1..n

AdjustOrbit

Goal: Distribute results

Pattern: self-procedureIn: Orbiter.orbitM

Out: Receiver.astModel

Orbiter

EscapeOrbit

Goal: Escape an Orbit

Pattern: self-procedureIn: Orbiter.orbitM

Out:

Orbiter

Postcondition:not (Orbiter.AmIInsideOrbit(Orbi-ter.relativePos,Orbiter.orbitM)

guard:not (Orbiter.AmIInsideOrbit(Orbi-ter.relativePos,Orbiter.orbitM)

guard:Orbiter.MeasureFi-nished(astModel)

B) Role Model

+

•Compose Roles•Compose Plans•Assign new plans to executing agents

Composition

25

Composed Role Model

26

Composed Plan Model

27

Policies

28

If a spacecraft is orbiting and measuring an Role Model

asteroid and it measures that there exists risk of a solar storm, Interaction

the spacecraft must first escape the orbit and later Interaction

power down subsystems and use its sail as a shield Interaction Interaction

Policy Builder

29

MaCMAS Policy BuilderMaCMAS Policy Builder

Composed Model Initial Model 1 Initial Model 2 Initial Model ...

ABC If Then After Before And Or First Second nth ...

If a spacecraft is orbiting and mesuring an asteroid and it meassures a solar storm, then ….

File Edit View Help

Traceability List of elementsRole Models

Orbiting and mesuring

meassures

Self Protec from solar...

mRIs

Ontologies

...meassures

...

spacecraft

Build policy

Space

<<Environment>>Space

stormVector: Vector3stormIntensity:Real

SelfProtecSC

SelfProtecSC

SelfProtecSC

Guard: SelProtecSC.stormIntensity > RiskForSystemsFactor

offSubSysGoal: Power off subsystemsPattern: self-procedure

In: Out: SelfProtecSC.stormIntensity

SailAsShieldGoal: Use sail as shieldPattern: self-procedure

In: Out: SelfProtecSC.stormVector SelfProtecSC.stormIntensity

MeasureStormsGoal: Measure Storm RiskPattern: Sense Environment

In: Space.stormVector Space.stormIntensity

Out: SelfProtecSC.stormIntensity SelfProtecSC.stormVector

Guard: SelProtecSC.stormIntensity > RiskForSystemsFactor

Asteroid

Orbiter

1..n

<<Environment>>Asteroid

relativePos: PospData:Data

MeasureGoal: Measure AsteroidPattern: Environmental Int.

In: Orbiter.aste- roidRelativePos

Out: pMeassu- rer.astModel

1..n

OrbitModeller

astData:AteroidDataorbitM: OrbitModel

CalculateOrbit(AsteroidData)::OrbitModel

Role Goal: Calculate orbitsmRI Goals: send orbit models

Report OrbitGoal: Report Orbit

Pattern: CollaborationIn: OrbitMo- deller.orbitM

Out: Orbiter.orbitM

Postcondition:Orbiter.astModel <> empty

Instantiation Rule:(Orbiter.allInstances -> forAll (c | SWARM.pMeasureMeasurers.includes(c))

Guard: Dist(relativePos,AsteroidRelativePos)<dist

Measurer

Orbiter

SelfProtectingOrbiter

orbitM: OrbitModelrelativePos: PosasteroidRelativePos: PosastData: AstDataastModel: AstModel

StormVector: Vector3stormIntensity : RealstormType: StormTypes

AdjustOrbit(relativePos,orbitM)PProcessData(m:Measure)::ModelPMeasureX(input)::pMeasureAmIInsideOrbit(Pos,OrbitModel)::BoolMeasureFinished(AstModel)::Bool

Role Goal: Maintain Orbit and Measure and self protectionmRI Measure Goal: GetModelmRI Orbits Goal: Get the Orbit Model

mRI Measure Storms Goal: Protect from solar stormmRI offSubSys Goal: Protect from solar stormmRI SailAsShieldGoal: Protect from solar storm

Receiver

listOfModels:ModellistOfSenders:Sender

Role Goal: Know ModelmRI Goals: get Model

Orbiter

Report Measures

Goal: Distribute results

Pattern: CollaborationIn: Orbiter.astModel

Out: Receiver.astModel

Receiver

1..n

AdjustOrbit

Goal: Distribute results

Pattern: self-procedureIn: Orbiter.orbitM

Out: Receiver.astModel

Orbiter

EscapeOrbit

Goal: Escape an Orbit

Pattern: self-procedureIn: Orbiter.orbitM

Out:

Orbiter

Postcondition:not (Orbiter.AmIInsideOrbit(Orbi-ter.relativePos,Orbiter.orbitM)

guard:not (Orbiter.AmIInsideOrbit(Orbi-ter.relativePos,Orbiter.orbitM)

guard:Orbiter.MeasureFi-nished(astModel) or (SelProtecSC.stormIntensity > RiskForSystemsFactor)

1..n

1..n

1..n

1..n

1..n

1..n

1..n

1..n

Model Elements

Policy Builder

Model Builder

30

MaCMAS Policy BuilderMaCMAS Policy Builder

Composed Model Initial Model 1 Initial Model 2 Initial Model ...

ABC If Then After Before And Or First Second nth ...

If a spacecraft is orbiting and mesuring an asteroid and it meassures a solar storm, then ….

File Edit View Help

Traceability List of elementsRole Models

Orbiting and mesuring

meassures

Self Protec from solar...

mRIs

Ontologies

...meassures

...

spacecraft

Build policy

Space

<<Environment>>Space

stormVector: Vector3stormIntensity:Real

SelfProtecSC

SelfProtecSC

SelfProtecSC

Guard: SelProtecSC.stormIntensity > RiskForSystemsFactor

offSubSysGoal: Power off subsystemsPattern: self-procedure

In: Out: SelfProtecSC.stormIntensity

SailAsShieldGoal: Use sail as shieldPattern: self-procedure

In: Out: SelfProtecSC.stormVector SelfProtecSC.stormIntensity

MeasureStormsGoal: Measure Storm RiskPattern: Sense Environment

In: Space.stormVector Space.stormIntensity

Out: SelfProtecSC.stormIntensity SelfProtecSC.stormVector

Guard: SelProtecSC.stormIntensity > RiskForSystemsFactor

Asteroid

Orbiter

1..n

<<Environment>>Asteroid

relativePos: PospData:Data

MeasureGoal: Measure AsteroidPattern: Environmental Int.

In: Orbiter.aste- roidRelativePos

Out: pMeassu- rer.astModel

1..n

OrbitModeller

astData:AteroidDataorbitM: OrbitModel

CalculateOrbit(AsteroidData)::OrbitModel

Role Goal: Calculate orbitsmRI Goals: send orbit models

Report OrbitGoal: Report Orbit

Pattern: CollaborationIn: OrbitMo- deller.orbitM

Out: Orbiter.orbitM

Postcondition:Orbiter.astModel <> empty

Instantiation Rule:(Orbiter.allInstances -> forAll (c | SWARM.pMeasureMeasurers.includes(c))

Guard: Dist(relativePos,AsteroidRelativePos)<dist

Measurer

Orbiter

SelfProtectingOrbiter

orbitM: OrbitModelrelativePos: PosasteroidRelativePos: PosastData: AstDataastModel: AstModel

StormVector: Vector3stormIntensity : RealstormType: StormTypes

AdjustOrbit(relativePos,orbitM)PProcessData(m:Measure)::ModelPMeasureX(input)::pMeasureAmIInsideOrbit(Pos,OrbitModel)::BoolMeasureFinished(AstModel)::Bool

Role Goal: Maintain Orbit and Measure and self protectionmRI Measure Goal: GetModelmRI Orbits Goal: Get the Orbit Model

mRI Measure Storms Goal: Protect from solar stormmRI offSubSys Goal: Protect from solar stormmRI SailAsShieldGoal: Protect from solar storm

Receiver

listOfModels:ModellistOfSenders:Sender

Role Goal: Know ModelmRI Goals: get Model

Orbiter

Report Measures

Goal: Distribute results

Pattern: CollaborationIn: Orbiter.astModel

Out: Receiver.astModel

Receiver

1..n

AdjustOrbit

Goal: Distribute results

Pattern: self-procedureIn: Orbiter.orbitM

Out: Receiver.astModel

Orbiter

EscapeOrbit

Goal: Escape an Orbit

Pattern: self-procedureIn: Orbiter.orbitM

Out:

Orbiter

Postcondition:not (Orbiter.AmIInsideOrbit(Orbi-ter.relativePos,Orbiter.orbitM)

guard:not (Orbiter.AmIInsideOrbit(Orbi-ter.relativePos,Orbiter.orbitM)

guard:Orbiter.MeasureFi-nished(astModel) or (SelProtecSC.stormIntensity > RiskForSystemsFactor)

1..n

1..n

1..n

1..n

1..n

1..n

1..n

1..n

Model Elements

Policy Builder

Model Builder

Enhanced R2D2

Enhanced MaCMAS

Modeling

Elements

Policy analysis

Parts to modifyin XMI format

C

31

Any problem in computer science can be solved with another layer of indirection.

But that usually will create another problem.

David Wheeler

32

Thank Youhttp://www.lero.ie

top related