Different UML Views
Different UML Views
Different UML Views
Abstract
The 4+1 View Model of Architecture consists of four views, named logical, process, implementation and deployment, and the
plus one, the use case or scenario view to integrate the other views. The architecture is generic, in the sense that there are no
specific recommendations on which languages and methods to use at each one of the views. As UML is nowadays the de facto
Software Engineering modeling language, using its diagrams is common when creating software models using the 4+1 View
Model. Nevertheless, software-intensive systems are normally large scale systems in which software plays a fundamental role,
but other elements are also important. The purpose of this article is to show where and how SysML, a Systems Modeling
Language applied to model other elements than just the software in a software-intensive system, can be included in the 4+1 View
Model of Architecture. For each view, UML and SysML diagrams are jointly used. This will bring together Software and Systems
Engineering domains, and extend the 4+1 View Model of Architecture to be used in a Systems Engineering context. The article is
a result of the application of these ideas in a company that develops road traffic management systems.
Traffic Management Systems. The evaluation steps are: 1) 3 The 4+1 View Model of Software Architecture
Build a pilot application using SysML and UML diagrams A view is an abstraction of a system from a particular
to design models according to the 4+1 View Model; 2) perspective, covering particular concerns and omitting
Introduction of SysML to the company employees, through elements that are not relevant according to the specific
a course; 3) Evaluation with the employees, through perspective.
interviews and surveys; 4) Application on real projects; and
5) Changing the current development approach used at the The 4+1 View Model proposes the organization of the
company. In the discussion section, each step will be description of a software architecture using five concurrent
explained. views, each one addressing one specific set of concerns.
Separating concerns in views avoid the misunderstandings
The article is organized as follows. The importance of and incorrect interpretations when a single view of the
describing the architecture for software-intensive systems is architecture is described. For instance, common elements
presented in Section 2, and Section 3 briefly presents the used to describe the architecture, such as blocks and arrows,
4+1 View Model of Architecture. The SysML language is may represent different elements depending on which view
introduced in Section 4 and used in Section 5, in which how is described. If the semantics of the view is not clear, its
and where the SysML diagram can be inserted in each view elements will be incorrectly interpreted. A brief description
is shown. A case study on the domain of Road Traffic of each view is given as follows.
Management Systems is presented in Section 6. The article
ends with discussion and conclusion. Logical view: the concerns of this view are the functional
requirements of the system. When using an object-oriented
2 Software Architecture Importance approach, the main elements are classes and relationships,
In simple terms, the description of the architecture involves such as association, composition, aggregation and
the elements that compose the system and how they inheritance. Only relevant elements, in terms of the
interact, including the interaction points. One formal architecture, are represented. In this view, how classes
definition, given by [1], is that a “Software architecture is cooperate with each other and the internal behavior of
the fundamental organization of a system, embodied in its classes are also described.
components, their relationships to each other and the
environment, and the principles governing its design and Implementation view: the system is decomposed into
evolution”. subsystems, which are organized in layers and packages,
which contain components, executables, files and source
Architecture is part of design, but with focus on major code. A layered implementation approach offers separation
elements, such as major classes and their communications, of concerns, from domain-specific and hardware
patterns, frameworks, layers, subsystems, components and independent (top layers) towards domain independent,
interfaces. The way these elements are distributed, hardware specific (bottom layers). Constraints depend on
communicate with each other and with the system the programming language and the development
environment is also described in the system architecture. A environment. For instance, it is important to take into
common misconception is that architecture is only about account the modularization capabilities of the programming
structure of elements and their relationships. Architecture is language. This view can also help in defining parts to be
also about behavior and interfaces between elements. built by subcontractors or internal development teams.
Decisions made when defining the architecture have long- Process view: address the concurrent aspects of the system
lasting impact on the design and major quality attributes of at runtime - tasks, processes, threads, as well as their
a software-intensive system, such as performance, evolution interactions. Examples of inter-process communication
and safety. These decisions will reflect on design models mechanisms include synchronous communication, remote
and on system implementation. As a matter of fact, the procedure calls, publish-subscribe, and event broadcast.
architecture description is an effective communication Many aspects are addressed in this view, such as
mean between different stakeholders. parallelism, fault tolerance and object distribution in real-
time, dealing with issues such as deadlocks, response time
Poor architecture definition is recognized as a major and scalability.
technical risk when designing a software-intensive system
[15]. Research on software architecture is rapidly growing Deployment view: shows how the various executables and
as many researchers and practitioners recognize the other runtime components are mapped to the physical
importance of having a well-defined architecture to support processing nodes and platforms.
activities such as project management, design and
implementation. Many architecture models were proposed Use Case view: contains the main scenarios that are
in the past years, such as [16][1][17]. The focus of this represented as use cases. These scenarios act to illustrate in
article is on the 4+1 View Model of Software Architecture. the software architecture document how the other four
views (and elements) collaborate in order to realize the use
case.
Figure 1 - The SysML diagrams structure and their relation The SysML Sequence diagram offers the same syntax and
to UML. elements of the UML counterpart, but with different
semantics. Within UML, Sequence diagrams are used to
Both SysML and UML languages are conformant to the model communication between software objects, which are
same metametamodel, the OMG Meta Object Facility instances of software classes. In SysML there is no notion
(MOF) [14]. SysML is considered both a subset and an of instance or objects. Thus, the communication is between
extension of UML 2.0 (Fig. 1). As a subset, UML diagrams the main structural elements, normally blocks and
considered too specific for software (Objects and subsystems. Another difference is that the messages
Deployment diagrams) or redundant (Communication and exchanged are not methods of an object.
Time Diagrams) were not included in SysML. Some
diagrams are derived from UML without significant 5.2 Process view
changes (Sequence, State-Machine, Use Case, and Package The Class diagram can also be used in this view, but the
focus is different from the logical view. The classes at this
view are active classes that represent threads and processes, sensors and the effects of the application of actuators are
such as the <<control>> stereotype for classes used within important quantities to be visualized for decision makers.
RUP. Thus, having application systems that can visually show
numerical values resulting from measurements is
The UML Activity diagram is used with emphasis in tasks, fundamental. This case study is about a system that
main processes and flow of control. The SysML Activity provides visualization of road traffic measurements at
diagram offer additional modeling possibilities when junctions controlled by traffic signals. It can be seen as a
comparing with the UML version. The notion of token decision support tool for traffic operators, providing
flowing along edges through the activities still exists, but reliable, real-time information of road traffic measurements,
there is support for modeling continuous flow as well as which can be useful to improve traffic signals planning.
discrete flow. A rate describing the frequency in which This application will be used as a subsystem for other road
elements traverse an activity edge can be added to inflow traffic management systems.
and outflow edges. To each edge, <<continuous>> or
<<discrete>> stereotypes can be added depending on the The location where traffic can change its routes, directions
flow type. The flow can also contain a specific probability and sometimes even the mode of travel is named Junction
of occurrence of an activity/task, which describes at each (Fig. 2). A junction comprises the outgoing Main link and
outgoing edge how probable it is that the token will flow the incoming Accessor links of a crossing or motorway.
over it. Each Main link and Accessor link only belongs to one
specific junction. For each direction of the Accessor link
5.3 Deployment view (turn left, go ahead, or turn right), information about
SysML does not provide a deployment diagram. This velocity, waiting time, intensity and density is shown in the
decision, as well as not including other UML diagrams such system (Fig. 3). An automated image of the junction is
as Object and Time, was taken in order to simplify the created based on links information. This image and a table
language and to avoid the notion that other engineers with measured data are shown in a graphical user interface.
should first learn the object-oriented notions in order to The list of requirements and some models of each view are
understand SysML. As a SysML block can describe general shown in the following subsections.
structural elements, varying from very small to very large,
they can be used to represent the physical deployment
nodes.
3. The symbol “-” should be used in the place of 9. The information shown shall be from all Accessor links
numerical values when there is no direction. into the junction;
4. Junction must have an automatic created image based 10. The information shall be shown for each traffic stream
on Links information; into the junction;
5. Junction image must be by default on the geographical 11. Accessor link information should contain the
map (Trinivision). splitfactor.
6. Junction image on the geographical map (Trinivision) 12. Information about intensity and waiting time must be
must be shown in a small form shown when there is a Direction with an actuator or
7. Clicking in the junction image will result in an sensor from the Accessor link.
overview from this image containing the junction
information;
8. The junction image must have an understandable and
representable layout;
Figure 4 – The SysML Requirements diagram modeled based on the system list of requirements.
environment characteristics (distributed elements in a Each layer can be detailed into sub-layers, and sub-layers
network) imply a need for a distributed system architecture, can be combined into layers, providing flexibility for
and the real-time constraints, which calls to high development. Finally, regular changes may be easily
performance, are important non-functional system implemented when they are related to a specific layer
requirements. Not only having correct data is important, but instead of to a whole system.
also the availability of data. Respecting real-time
constraints is difficult as sensors and actuators are The Presentation layer is used mainly only to present the
physically distributed, which increase the possibilities of applications results, and can be made for diverse
missing or receiving data outside of the bounded time. This devices/platforms. Developers may use a list of existing
indicates the importance of using an asynchronous Generic Components and combine them as much as
middleware to coordinate communication and data necessary to help in building Functional Components,
exchange between software objects. which implement the user requirements.
semantics. One SysML Use Case diagram can be further relationships types that describe traceability between
refined into several UML Use Case diagrams. Figure 8 models. The relationships are also useful to aid
shows the Use Case diagram for the list of requirements of requirements prioritization in order to decide which
subsection 6.1. Each Use Case can be described by a requirements should be included in a certain system release.
number of scenarios, and each scenario can be specified by Another advantage of using the SysML Requirements
a Sequence diagram. Within SysML, a Use Case may also diagram is to standardize the way of specifying
be related to a SysML Requirements diagram. requirements through a defined semantics. As a direct
consequence, SysML allows the representation of
requirements as model elements, which mean that
requirements are part of the system architecture.
7 Discussion
Experience shows that the 4+1 View Model of Architecture
is sufficient and efficient to most companies in many
projects [4]. A survey and interviews at Trinité also show
that all views are being used, and that they are sufficient for
their systems.
existing model of architecture, the 4+1 View Model. The [11] Harel, D., Rumpe, B. (2004), “Modeling languages:
research methodology is based on Action Research, in Syntax, semantics and all that stuff (or, what's the semantics
which researchers work together with practitioners in order of "semantics"?)”, IEEE Software.
to apply the developed theories and test them in practice.
The proposed theory was applied in a pilot project and was [12] OMG, (2003b), "UML for Systems Engineering RFP",
shown to present many advantages. Currently further OMG: Request For Proposal, ad/03-03-41.
evaluation is being performed, and changes to the
company’s development process are being implemented. [13] OMG, (2007), Systems Modeling Language (OMG
Instead of performing radical changes, the advantage of the SysML) v1.0. OMG Available Specification. Document
approach is to use two similar languages, UML and SysML, number: formal/2007-09-01.
together, each one complementing the other. This approach
was shown to be feasible during the evaluation with the [14] OMG, (2006), "Meta Object Facility (MOF) v 2.0 ".
company’s employees. Further research will be concerned OMG Document: http://www.omg.org/spec/MOF/2.0.
with keep improving the current development process, until
a general accepted document template is approved for each [15] Clements, P., Garlan, D., Bass, L. Stafford, J., Nord,
phase of the development process. R., Ivers, J. Little, R. (2002), Documenting Software
Architectures: Views and Beyond, Pearson Education.
9 References
[16] Soni, D., Nord, R., Hofmeister, C. (1995), “Software
[1] ISO/IEC (2007), ISO/IEC 42010:2007, Systems and Architecture in Industrial Applications,” Proc. 17th Int’l
Software Engineering - Recommended practice for Conf. Software Eng. (ICSE 95), ACM Press, 196–207.
architectural description of software-intensive systems.
[17] Wisnosky, D.E., Vogel, J. (2004). DODAF Wizdom: a
[2] Booch, G. (2007), “The Economics of Architecture- Practical Guide to Planning, Managing and Executing
First” IEEE Software 24(5) 18-20. Projects to Build Enterprise Architectures using the
Department of Defense Architecture Framework, Wizdom
[3] Kruchten, P. (1995), "The 4+1 View Model of Systems, Inc.
Architecture", IEEE Software 12(6) 42-50, November.
[18] Booch, G. (1993). Object-oriented Analysis and
[4] Kruchten, P. (2003), The Rational Unified Process: An Design with Applications (2nd ed. ed.). Redwood City:
Introduction, Addison-Wesley Longman Publishing Co., Benjamin Cummings.
Inc., Boston, MA.
[19] Anda, B., Hansen, K., Gullesen, I., Thorsen, H.K.
[5] OMG (2003a), Unified Modeling Language: (2006), “Experiences from introducing UML-based
Superstructure (final adopted spec, version 2.0, 2003-01- development in a large safety-critical project”, Empirical
02). Object Management Group. Software Engineering 11(4), 555-581.
[6] Soares, M.S., Julia, S., Vrancken, J. (2008), “Real-time [20] Soares, M.S., Vrancken, J. (2008), “A Proposed
Scheduling of Batch Systems using Petri Nets and Linear Extension to the SysML Requirements diagram”. IASTED
Logic”, Journal of Systems and Software 81(11) 1983- International Conference on Software Engineering, Austria,
1996. pp. 220-225.
[7] André, C., Mallet, F., de Simone, R. (2007), Modeling [21] Soares, M.S., Vrancken, J. (2008), “Model Driven
Time(s), Proceedings of the ACM/IEEE International User Requirements Specification using SysML”, Journal of
Conference on Model Driven Engineering Languages and Software 3(6) 57-68.
Systems (MoDELS/UML), USA. Springer Verlag, LNCS
4735, pp. 559-573. [22] Tanenbaum, A.S. van Steen, M, (2006), Distributed
Systems: Principles and Paradigms (2nd Edition), Prentice-
[8] Simons, A.J.H. (1999), "Use cases considered harmful," Hall, Inc., Upper Saddle River, NJ.
Proceedings of Technology of Object-Oriented Languages
and Systems, pp.194-203. [23] Lea, D., Vinoski, S., Vogels, W. (2006), "Guest
Editors' Introduction: Asynchronous Middleware and
[9] Dobing, B., Parsons, J. (2006), “How UML is used”, Services," IEEE Internet Computing 10(1), 14-17.
Communications of the ACM 49(5), 109-113.
[24] Fiege, L., Cilia, M., Gero, M., Buchmann, A. (2006)
[10] Henderson-Sellers, B., Cook, S., Mellor, S., Miller, J., "Publish-Subscribe Grows Up: Support for Management,
Selic, B. (2005), “UML the Good, the Bad or the Ugly? Visibility Control, and Heterogeneity," IEEE Internet
Perspectives from a panel of experts”, Software and Computing 10(1), 48-55.
Systems Modeling 4(1) 4-13.
10 Acknowledgements
The authors would like to thank Trinité B.V.
(www.trinite.nl), a Dutch company that develops Road
Traffic Management Systems, where part of this research
was performed. This work was supported by the Next
Generation Infrastructures Foundation and the Research
Center Next Generation Infrastructures, both situated in
Delft, The Netherlands