14
Henry Muccini - Computer Science Department, Universita' dell'Aquila, Italy (muccini @di.univaq.it ) Paola Inverardi - Computer Science Department, Universita' dell'Aquila, Italy (inverard @di.univaq.it ) Patrizio Pelliccione - Software Engineering Competence Center, University of Luxembourg ([email protected] ) DUALLY: Putting in Synergy UML2.0 and ADLs SEAGroup SEAGroup

Henry Muccini - Computer Science Department, Universita' dell'Aquila, Italy ([email protected]) Paola Inverardi - Computer Science Department, Universita

Embed Size (px)

Citation preview

Henry Muccini - Computer Science Department, Universita' dell'Aquila, Italy ([email protected])

Paola Inverardi - Computer Science Department, Universita' dell'Aquila, Italy ([email protected])

Patrizio Pelliccione - Software Engineering Competence

Center, University of Luxembourg ([email protected])

DUALLY: Putting in Synergy UML2.0 and ADLs

SEAGroupSEAGroup

2

Modeling Software Architecture

Two main classes of languages have been used so far to model software architectures: formal architecture description

languages (ADLs) model-based specifications with UML

3

Still supported ADLs

Very limited industry buy-in to date

4

Problems with existing ADLs 1/2

ADLs tend to focus on a single area of interest

analysis (Wright) refinement (SADL) dynamism (Weaves)

Within these areas ADLs tend to direct their attention to a particular technique

Wright analysis for deadlocks

They leave other facets unexplored

5

A possible scenario

C1C2

C5 C4

C3 ADL1

Deadlock analysis

VPerformance analysis

ADL2 XC1

C2

C5 C4

C3

C2’’C2’

The deadlock model needs to be manually adjusted and re-analyzed

6

Problems with existing ADLs 2/2

Specialized semantic basis

High degree of formality

Limited tool support

Lack of lifecycle- wide support Lack of tie to requirements Limited mechanisms to preserve

architectural properties in detailed designs and implementations

Limited support for architecture-based evolution

7

UML for SA modeling

Industries still tend to prefer model-based (semi-formal) notations

UML is emerging as the de facto standard design notation of choice in industrial software development

Many extensions and profiles have been proposed to “adapt” UML to model architectures

8

UML for SA modeling: problems These extensions permit to reduce the gap

between UML and ADLs, but they still fail in representing all aspects of ADLs

modeling for documenting is quite different from modeling for analysis, and different analysis techniques usually require different notations

Any time a new slightly different analysis is required, new modeling concepts are needed

There is neither a unique language for representing SAs, not a unique fit between UML and ADLs

9

Can we really advocate a stronger synergy between

UML and ADLs can be created?

10

Dually: Putting in Synergy UML 2.0 and ADLs

Identify a core set of architectural elements always required

Create an UML profile able to model the core architectural elements previously identified

Provide extensibility mechanisms to add modeling concepts needed for specific analysis

Describe how semantic links mechanisms can be kept between different notations

11

Dually Profile

Concept Stereotype Base Class

Architectural Component

<<SA Component>>

Component

Relations among SA components

<<SA relationships>>

Depending

Connectors <<SA Connectors>>

Component

Channels <<SA Channel>> Assembly Connector

Package for State Machines & Interaction Diagrams

<<SA behavior>> Package

12

Extensibility Mechanisms: weawing meta-models

MDually

Air Extractor Control

<<Exceptional Component>> Air Extractor Control

<<Normal Component>> Air Extractor Control

<<SA Component>>

Air Extractor+ I_excAirExtractor

Failure_AEC_Handler

<<delegate>><<delegate>>

<<delegate>>

E_excSwitchAirExtractorOn_AEC

E_excSwitchAirExtractorOff_AEC

E_excAirExtractorFailure_AEC

+ I_excSwitchAirExtractorOff_AEC_Handler

I_excSwitchAirExtractorOn_AEC

MFT

Overrides OperatorInherits OperatorRename Operator

13

Extensibility Mechanisms:woven model

<<SA Component>>

Air Extractor Control

<<Exceptional Component>> Air Extractor Control

<<Normal Component>> Air Extractor Control

<<SA Component>>

Air Extractor

<<SA Channel>>

+ I_excAirExtractorFailure_AEC_Handler

<<delegate>><<delegate>>

<<delegate>>

E_excSwitchAirExtractorOn_AEC

E_excSwitchAirExtractorOff_AEC

E_excAirExtractorFailure_AEC

+ I_excSwitchAirExtractorOff_AEC_Handler

<<SA Component>> Control Station

<<SA Component>> Pump Control

<<SA Component>> Mineral Extractor

Control

<<SA Component>> Operator Interface

<<SA Channel>>

I_excSwitchAirExtractorOn_AEC

<<SA Channel>><<SA Channel>>

14

ROSATEA 2006The Role of Software Architecture Testing and Analysis

http://www.di.univaq.it/Rosatea2006/

Engineering Fault-Tolerant Systems - EFTS 2006