Upload
henry-barlow
View
27
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Modeling Software Architecture in the Unified Modeling Language (Medvidovic, et al. 2002). Paper Motivation. The goal of the paper is to assess the expressive power of UML for modelling software architectures while comparing the manner in which existing software ADLs model architectures. - PowerPoint PPT Presentation
Citation preview
Dif8901 April 2003 1
Modeling Software Architecture in the Unified Modeling
Language (Medvidovic, et al. 2002)
Dif8901 April 2003 2
Paper Motivation The goal of the paper is to assess the
expressive power of UML for modelling software architectures while comparing the manner in which existing software ADLs model architectures.
The authors present two strategies for supporting architectural concerns within UML: Using UML ”as is” for architectural modelling Utilise features of ADLs and UML extensions
Dif8901 April 2003 3
What is UML? UML ”is a language with a semi-formal semantic
specification that includes abstract syntax, wel-formedness rules, and dynamic semantics” (Page-Jones 2000, p.78).
Inspired by a need for a notation for object orientation simple enough to use while powerful enough to merit using.
Can capture the structure of OOS at a level higher than lines of code.
UML is expessed in diagrams such as the class diagram, the sequence diagram, the collaboration diagram and the state diagram.
Dif8901 April 2003 4
UML design models and diagrams Classes and their declared attributes, operations and attributes Possible states and behaviour of individual classes Packages of classes and their dependencies Example scenarios of system usage including kinds of users and
relationships between user tasks The behaviour of the overall system in the context of a usage
scenario Examples of object instances with actual attributes and
relationships in the context of a scenario Egs. of the actual behaviour of interacting instances in the
context of a scenario The deployment and communication of sw components on
distributed hosts (Medvidovic et al, 2002, p.7)
Dif8901 April 2003 5
Example UML Model
An Employee realises all operations of Trainee because Trainee is an interface (set of exportedOperations) not a full class
Dif8901 April 2003 7
What is software architecture? An aspect of software engineering Involves the development of large, complex
applications with a (new) focus on system structure, high level communication protocols, assignment of sw components and connectors to hosts and development processes (Medvidovic et al. 2002).
According to Medvidovic et al, SA research promises that better systems can result from modelling important architectural aspects throughout the development life cycle (esp early on).
Dif8901 April 2003 9
Architecture description languages (ADLs) Each ADL describes a particular approach to the
specification and evolution of an architecture. ADLs produced by the research community versus
competing notations used in the practitioner community (refer table I, p. 4).
Motivation for standardisation of notations and methods for sw analysis and design.
Medvidovic et al, investigate the possibility of using UML as an emerging standard software design language. Their motivation is to bring architectural modelling into wider industrial use.
Dif8901 April 2003 10
Research foundation Using UML to represent the architectural building
blocks of an ADL Medvidovic et al., have defined a minimum set of
requirements (five) for evaluating UML’s ability to represent sw architectures effectively: Structural - should be well suited to model structural
concers (eg. Topology or configuration of a system. Stylistic - Std design vocab, generic system behaviour. Behavioural aspects of a system Component interaction Constraints arising from the systems structure, behaviuor,
interactions and styles.(refer page 6).
Dif8901 April 2003 11
UML Extension Mechanisms and OCL Extensions are to customise and extend the
semantics of model elements in UML:Constraints – added semantic restrictionsTagged values – eg. Version and author tagsStereotypes – eg. Interfaces in calss diagramsProfiles – sets of the above
Use OCL (object constraint language) to express contraints on UML models (page 8 and 9).
Dif8901 April 2003 12
Modelling software architectures in UML Strategy 1 Using UML as an ADL
Evaluate UML adequacy by using UML to model applications in the same way as they would be modelled using an ADL
Purpose is to assess the support provided by UML for the needs of architectural modelling and compare the modelling power of UML to that of an ADL.
Example application - meeting schedular problem (page 14)
Model this application in the C2 architectural style using its accompanying ADL.
To highlight the similarities and differences between UML and ADLs.
Dif8901 April 2003 13
Overview of C2 C2 and its ADL are used for
highly distributed software systems.
Sw connectors transmit messages between components.
Components maintain state, perform operations, and exchange message with other components via two interfaces (’top’ and ’bottom’)
Each interface consists of a set of messages (sent and received).
Refer page 15 (and section 5) for more rules.
Dif8901 April 2003 14
Modelling Meeting schedular in C2 Refer pages 16 – 18 They used the C2 ADL to present only a
partial model of the application Serves as a basis for evaluating the UML
model with the rules of C2. components such as meeting Initiator and
attendee are defined. The Meeting Schedular architecture (fig 7) is
specified in ADL on pg. 18. etc.
Dif8901 April 2003 15
Modelling the C2 Style Meeting Schedular in UML Medvidovic et al., claim that UML constructs are not
suitable for describing architecture-level components.”Components in UML are assumed to be concrete, executable
aritifacts that consume machine resources such as memory. In contrast, architectural component are conceptual artifacts that decompose the system’s state and behaviour” (p.18).
(A component in UML is a physical piece of code, hence the authors use UML classes to model architectural components)
Dif8901 April 2003 17
UML class diagram continued The idea is that UML is driven and constrained both
by the modelling features available in UML and the constraints imposed by the ADL.
Previous figure (8) depicts domain classes, their inheritance relationships and associations.
The diagram abstracts away many architectural details, such as: mapping of classes in the domain to implementation conponents and also the order of interactions among the different classes.
Dif8901 April 2003 18
C2 style in UML continued
In UML they model message interfaces of C2 as class icons stereotyped with <<interface>> see page 20 figure 9. The interfaces
C2 architecture in UML requires that connectors must also be defined (refer figure 10, page 20)
A diagram depicting the interface relationships between the classes is shown at figure 11.
A collaboration diagram at figure 12 depicts a collaboration between an instance of the meetingInitiator class and instances of the attendee and ImportantAttendee classes.
Dif8901 April 2003 19
Strategy 1 discussion: Medvidovic et al., claim that mostly we can
successfully model a C2-style arch in UML (using architectural concepts such as: interfaces, components, component associations etc.
Nonetheless, modelling capabilities provided by UML do not completely satisfy the structural requirements of architectural description because: UML does not provide specialised constructs for modelling
architectural artifacts (i.e. we must model connectors and components in the same way in UML)
The rules of an architectural style are reflected in the ADL and the toolset, but those rules must be applied explicitly by the UML sw architect.
Dif8901 April 2003 20
Strategy 2: Constraining UML to model software architectures Using OCL to specify additional constraints on
existing meta classes of UML’s meta model Treats UML as a core notation that is extended to
support architectural concerns. i.e. UML is conceptually extended to provide additional modelling tools that did not originally exist in UML.
The UML meta model remains intact, but the OCL facilities are used to constrain the notation.
The authors use 3 ADLS to demo this approach: C2, Wright and Rapide (refer pages 24 to 46).
Dif8901 April 2003 21
Strategy 2: ADL specific extensions Are a basis of an evolvable, broadly
applicable extension of UML for architectural modelling.
Relies heavily on OCL. The formality may reduce widespread
adoption of startegy UML is surprisingly flexible in representing a
wide range of semantic concerns.
Dif8901 April 2003 22
Medvidovic et al., have described approaches to overcome a key weaknesses of UML, its lackof adequate support for modelling software architectural concerns
Common goal in both strategies is to exploit UML as a base notation without adding too many incompatibilities or adding too much complexity.
Their approach considers what should be in the core model and what should be left to extensions.
They choose UML as their ground model because it is grounded in mainstream development practices and has substantial tool support.
Conclusions...
Dif8901 April 2003 23
Conclusions Continued...
Considerable effort is required to adapt UML to be a useful complement to ADLs and to be a practical step toward mainstream modelling (Medvidovic et al., 2002).
Six key insights: Software modelling philosophies Assumptions about intended usage Problem domain modelling Architectural abstractions Architectural styles Implementation support
Dif8901 April 2003 24
Comments Research was motivated by industry support
for UML (the available tool support). Many more powerful software architecture
languages more suitable for the purposes described in this paper. UML extensions such as constraints and stereotypes are required to achieve what other software architecture languages are designed for.
Dif8901 April 2003 25
References
Medvidovic, N., Rosenblun, D.S., Redmiles, D.F and Robbins, J. E. (2002): Modeling Software Architectures in UML. ACM Transactions on Software Engineering and Methodology, Vol. 11, No 1.
Page-Jones, M. (2000): Fundamentals of Objct-Oriented Design in UML. (Eds) Booch, G., Jackobson, Rumbaugh, Adison-Wesley.