Upload
anabel-maxwell
View
214
Download
0
Tags:
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
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
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>>