Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

A Multi-View Architectural Model and Its Description and Construction

Chang-ai Sun
School of Information Engineering
University of Science and Technology Beijing, Beijing 100083, China
casun@ustb.edu.cn

Abstract • Data processing is not explicitly specified. For


data-centric systems or database applications, data
Software architecture is one of key factors to the information is the most important aspect.
success of modern large-scale software-intensive • The multi-layer abstraction is not well supported.
systems development. Among the existing architectural • Instantiation from architecture specifications to
models, some important aspects are ignored while implementation is not supported.
should be addressed. To overcome this, we propose a • Organizational structure with respect to the
multi-view architectural model, which is an extension development of components is not touched.
to the “4+1” view architectural model proposed by To overcome the above-mentioned limitations [4],
Kruchten, and discuss the description and construction we propose a multi-view architectural model which is
techniques for the extended architectural views. We an extension to the “4+1” view architectural model.
employed the proposed architecture model and We also discuss the description and construction of the
relevant description and construction techniques to extended views. This makes up the SA-based
develop a component based software testing platform. development process framework [5] proposed by Bass
The experience and lessons with application of the and Kazman in which the “4+1” view model is
proposed architectural model are reported. Results of employed while the construction of each view is not
the case study show that the proposed multi-view touched.
architectural model and relevant techniques are useful With the proposed architectural model and its
to the development of large-scale software-intensive description and construction techniques, we developed
systems. a component based software testing platform prototype.
The experience and lessons with this case study are
1. Introduction reported, and the results of this case study validate the
Increasingly modern large-scale software-intensive effectiveness of the multi-view architectural model and
systems are built from components. Software relevant techniques presented in the paper.
architecture (SA) depicts components, interconnection The rest of the paper is organized as follows.
and interaction between components, configuration and Section 2 presents a multi-view architectural model,
constraints of the system under development [1]. SA is and its description and construction are discussed in
a blueprint for implementation of the system and hence Sections 3 and 4, respectively. Section 5 describes a
is one of key factors to the successful development of case study with the proposed architectural model and
large-scale systems. Often, the SA of large-scale relevant techniques. Section 6 concludes the paper.
systems is complex, and thus should be described from
different views. The Unified Modeling Language 2. A multi-view architectural model
(UML) [2] is widely used to describe the architecture The proposed architectural model is illustrated in Fig.
of systems from different views. Based on the UML, 1. The model describes the system under development
Kruchten proposed a “4+1” view architectural model from the aspects of function, framework, logic,
[3]. The model consists of logical view, process view, behavior, data, integration, and organization. These
physical view, development view and scenarios. aspects together address the four basic concerns in
Although the model intends to depict a system’s architecture design, namely what is the architectural
architecture from different aspects, some limitations design goal, why select such an architecture, how to
remain, such as: derive the architecture, and who is responsible for the
implementation of the architecture [6]. In more details,

978-1-4244-5392-4/10/$26.00 ©2010 IEEE


• Function View (FuV) defines the goal of the • Development View (DeV) indicates organizational
system from the perspective of end-users, including structure of development tasks. The DeV involves
the mandatory functional and non-functional the relationships between developers and
requirements. components, and the ones between components and
• Framework View (FrV) describes the coarse- functionalities.
granularity structure of the system at the higher FrV, LoV, BeV and DaV provides the primary
level of abstraction, and often adopts some architectural solution. Among them, FrV describes
architectural styles or patterns. It guides the coarse-granularity and high-level structure, while LoV,
subsequent refinements. BeV and DaV describes fine-granularity and low-level
• Logical View (LoV) describes the static structure from the perspective of static compositions,
compositions of components, and it is the dynamic behavior and data, respectively.
refinement of the FrV. The architectural model illustrated in Fig.1 involves
• Behavior View (BeV) describes the behavior several roles. Users and Analysts are responsible for
structure of the architecture, and it is concerned developing functional and non-functional requirements,
with interactions, collaborations and and representing these requirements by scenarios.
communications among components or connectors. Software Architects are responsible for several tasks
It is often derived from functional scenarios and such as (1) transforming functional scenarios to the
follows the constraints of the FrV. function view (FuV) and requesting the confirmation
• Data View (DaV) describes the data aspect of the from users, (2) making decisions on the framework
architecture from the perspective of data production view (FrV) based on their architectural knowledge,
and consumption. DaV is in nature an instantiation available architectural styles and constraints of
of LoV with respect to data, and at the same time it application domains, (3) refining the FrV to LoV, BeV
connects and entangles BeV. and DaV, (4) developing the integration view (InV)
• Integration View (InV) expresses the assembly and development view (DeV) based on the primary
and deployment process following the constraints architectural views. Developers implement
of the FrV. The InV integrates and deploys the components following the constraints of LoV, BeV and
artifacts of LoV, BeV and DaV to build an DaV. Managers are responsible for allocating
executable system. Components in the InV are development tasks to developers using the DeV.
classified into computational components, data
components and connectors. 3. Describing the multi-view architectural
model by extending the UML
Architecture The SA model is an abstraction of the system under
style development which is useful for controlling
Software complexity, and for stakeholders to understand the
Architect system. Architectural Description Language (ADL) is a
FrV (why)
tool for representing architectural model. An ADL
usually consists of a set of notations and rules for
organizing notations [7]. The existing architectural
FuV (what)

DeV ( who)

description standard suggests that architectural model


DaV
BeV
LoV

should be described in terms of viewpoints, a kind of


Manager specification for creation and use of architectural views,
User including goals, users, techniques for creation and
analysis [8]. Table 1 lists out the description
InV (how) techniques of the multi-view architectural model. The
proposed description follows the basic principle of
Refinement viewpoints.
Scenarios UML is the de facto visual modeling language
Component Impact
Library standard which supports multi-aspects and multi-layer
Reference
modeling of the architecture. Although UML does not
Follow directly support the representation of the proposed
Association multi-view architectural model, while it provides the
Analyst Developer Integrator powerful extension mechanism including stereotypes,
Fig. 1 An illustration of the multi-view tagged values and constraints. Naturally, we turn to the
architectural model extension infrastructure for representing the extended
architectural views. The following guidelines should During the second process, we employ a scenario-
apply. First, one should decide the base class of the driven iterative process to construct LoV, BeV and
stereotype for extension. Those meta-model constructs DaV. The reason behind this is that LoV, BeV and
that have a similar semantics with architectural views DaV is the refinement of the FrV, and at the same time
to be represented should be selected as candidates. these architectural views must address the fulfill of
Second, the constraints or tagged values should be functionalities. Each functionality can be specified as
added to the selected stereotypes according to the scenarios which in nature describe how stakeholders

Table 1 Viewpoints of the multi-view Architectural Model


Viewpoint Name Goal User Notation
Requirement FuV Describes functional and non- functional User, Extended Package Diagrams or
requirements of the system under Manager Use Case Diagrams
development in terms of users, focusing on Tester
the interaction with users Developer
Design FrV Describes coarse-granularity high-level Developer Extended Class Diagrams or
structure Tester Package Diagrams
LoV Describes static compositions of Developer Extended Class Diagrams
components (primary structure) Integrator
BeV Describes behavior of systems, focusing on Developer Extended Sequence Diagrams
collaborations, interactions and Integrator or Collaboration Diagrams
communications among instantiated
components (primary structure)
DaV Describes data production and consumption Developer Extended Class Diagrams or
of systems (primary structure) Integrator Package Diagrams
Process InV Describes the integration and deployment Integrator Extended Activity Diagrams
of systems
Organization DeV Describes organizational structure of Manager Extended Use Case Diagrams
development Tester or Component Diagrams
Developer
semantics of architectural views under consideration. are expected to operate the system under development
As a consequence, a UML profile for the multi-view [6]. The process consists of the following steps (more
architectural model can be created. The “Notation” details about constructing each architectural view are
column in Table 1 provides such an extension solution. provided in [4]):
The extension is partially illustrated by applying it to 1. Select a functional scenario FSi with the highest
model the architecture of graph-based distributed priority from unprocessed scenarios (requirements),
systems [9]. Interested readers can refer to [4] for the and create the mapping between FSi and the
fully detailed extensions. subsystem Si in the FrV.
2. Refine the subsystem Si in terms of LoV, BeV and
4. A process of constructing the multi-view DaV. The refinement should put an emphasis on
architectural model the following concerns,
We propose a process framework of constructing the a) Which sets of computation components
multi-view architectural model, as illustrated in Fig. 2. (ComSeti), connectors (ConSeti) and data
The framework consists of two processes. The first one components (DatSeti) should be required to
is a pattern-driven process for constructing the FrV. constitute Si.
The second one is a scenario-driven iterative process b) How the functionality should be assigned to the
for constructing low-level primary architectural views. involved components or connectors.
We further explain them below. c) How components or connectors deliver the
During the first process, software architects select assigned functionalities (i.e. interface design).
an architectural style from a library of architectural d) How the configuration of components and
styles based on requirements of system under connectors can ensure the satisfaction of non-
development and legacy artifacts. In our previous study, functional requirements (i.e. non-functional
a pattern-driven SA construction process is reported in requirement impacts the refinement decision).
[10]. The process can be employed to construct the 3. For each functional scenario FSi, one can derive its
framework view. logical view LoVi, behavior view BeVi, and data
view DaVi. We further merge LoVi and the
Requirements Legacy
Architectural style previous versions of Safepro have some shortages,
such as lack of reuse among tools, lack of explicit
architecture modeling, and long cycle of
customizations.
Pattern-Driven SA Construction FrV To overcome these shortages, we decided to employ
Scenarios
software product lines (SPL) techniques to develop a
FS1.. FSn
{Subsystem S1..Sn} component-based software testing platform which
supports white-box testing of C, C++, and Java
Select the function scenario FSi with the programs. The key task is to develop a well-designed
highest priority, and create the mapping architectural model from which testing tools for the
between FSi and the subsystem Si in the FrV specific program can be efficiently derived. During the
SA design, we focus on issues such as the framework
of the platform, representation and sharing of testing
FSi Refine the subsystem Si data among different tools, reuse of functional
{ConSeti} {ComSeti} {DatSeti} components among different tools, and reconfiguration.
The key points are as follows:
Construct and merge low- (1) Function View was derived from the requirements
LoV BeV DaV
level primary architectural of previous versions. The platform supports
views based on FSi several types of white-box testing for different
{LoVi} {BeVi} {DaVi}
languages of programs.
(2) A domain model of white-box testing tools was
Fig. 2 An illustration of the construction
abstracted by analyzing the commonality of
process of primary architectural views
Safepro for C, C++, and Java programs. With the
previously derived logical views, and merge DaVi domain model, we designed a C/S style of
and the previously derived data views. This is due Framework View for the platform.
to the following observations: (a) separate behavior (3) Using the scenario-driven iterative process, we
views benefit comprehension of behavior of the derived the Logical View, Behavior View and
system under development because people are Data View for the platform. Among them, the
accustomed to comprehend system’s behavior BeV consists of a number of interaction diagrams
according to scenario segments; (b) merging of with respect to functional scenarios. For the
logical views and data views is beneficial to derive current version of the platform, we developed 12
interfaces and configurations of components and coarse-granularity functional scenarios, 49 logical
connectors; (c) merging of logical views and data components (including computation components
views also benefits the application and validation of and connectors) and 21 data components (XML
architecture patterns. schema). All components and scenarios are
4. Repeat the above steps until all major functional described according to the templates. Explicit
scenarios are processed. In this way, we can derive mappings between scenarios and components are
low-level primary architectural views, including a specified. That is, for each scenario, we specify
complete logical view LoV, behavior views components and connectors that are required to
{BeV1,…, BeVn}, and a complete data view DaV. collaborate to fulfill it.
(4) The platform in nature is a software product line.
The instantiation of testing tools can be derived at
5. Case study compilation time or at runtime. The key is to
In this section, we present a case study which describes develop a configuration table that specifies
how the proposed architectural model and relevant components and connectors required for the target
techniques are adopted to develop a component-based
tool. Such a configuration table constitutes the
software testing platform, and report experience and Integration View of the platform.
lessons with this case study. (5) The Development View of the platform involves
38 functional items, 14 developer and 70
5.1 Applying the multi-view architectural components (three types of above-mentioned
model to the Safepro platform components) and their associations.
Safepro C/C++/Java developed by Beihang University
are a series of white-box software testing tools for C, 5.2 Experience and lessons
C++, and Java programs [11-13]. The author has been Using the multi-view architectural model and its
involved in the development of this series of tools. The description and construct techniques, we have
developed a component-based software testing with the configuration table of integration view.
platform. The platform is implemented based on the Finally, organizational aspect of SA is supported by
proposed architectural model and JavaBeans the development view.
technologies. The limitations with previous versions
are effectively alleviated. We report some lessons Acknowledgements
learned when we developed the platform prototype We thank Professor M. Jin and C. Liu for their
with the multi-view architectural model and its constructive discussions, and other colleagues from
description and construction techniques. Beihang University for their collaborations during the
• Organizations must pay much attention to the implementation of the software testing platform
construction of SA during the development. Any presented in the paper. The work is supported by the
design decisions must follow the constraints of SA. National Natural Science Foundation of China (Grant
For those controversial architectural decisions, they No. 60903003), the Research Fund for the Doctoral
must be discussed adequately and come to a Program of Higher Education of China (Grant
consensus. No.2008000401051), and the Scientific Research
• For the development of similar applications, Foundation for the Returned Overseas Chinese
software product lines should be adopted. For those Scholars, State Education Ministry, China (Grant No.
common components among different applications, 2008[890]).
they must be carefully designed and should be
reusable across applications. References
• SA should be well documented and its description [1]C. Sun, M. Jin, C. Liu. “A Survey on Software
should follow some standards, such as component Architecture Research”, Chinese Journal of Software, 2002,
templates, scenario templates, and notations for 13(7):1228-1237.
extended architectural views. [2]G. Booch, J. Rumbaugh, I. Jacobson. “The Unified
• SA construction has to undergo continuous Modeling Language User Guide”, Addison-Wesley
refinements, modifications and optimizations, thus Longman Inc, 1998.
[3]P.B. Kruchten. “The 4+1 View Model of Architecture”,
is a long-term iterative process. Conformance of
IEEE Software, 1995, 12(6):42-50.
SA description to implementation should be [4]C. Sun. “Contributions to Software Architecture
carefully maintained. Construction, Description and Reconstruction”, [PhD
Thesis], Beihang University, 2002.
6. Conclusions [5]L. Bass, R. Kazman. “Architecture-based Development”,
We have presented a multi-view architectural model Technical Report, CMU/SEI-99-TR- 007, 1999.
and discussed relevant description and construction [6]L. Bass, P. Clements, R. Kazman. “Software Architecture
in Practice”, Addison Wesley, 1998.
techniques. The proposed architectural model is an
[7]C. Sun, M. Jin. “Overview on Software Architecture
extension to the “4+1” view architectural model which Description”, Computer Science, 2003, 30(2): 136-140.
is widely adopted in practice. [8]IEEE-SA Standards Board, “IEEE’s Recommended
Such an extension adequately addresses the four Practice for Architectural Description”, IEEE P1471-
basic concerns that have to be addressed during the 2000, 2000.
architectural design, and makes up the limitations of [9]C. Sun, J. Cao, M. Jin, C. Liu, M.R. Lyu. “Extendable and
existing architectural models. Firstly, it adds data Interchangeable Architecture Description of Distributed
aspect modeling by the data view which is especially Systems Using UML and XML”. LNCS 2834, Springer,
important for data-centric systems, such as the white- 2003, pp.536-545.
[10]C. Sun, M. Jin, C. Liu, “Constructing Software
box testing tools reported in the paper. Secondly,
Architecture Based on Architectural Pattern”,
multi-layer abstraction is well supported. The proposed Proceedings of NASAC 2002, pp.41-49.
architectural model provides the high-level coarse- [11]C. Sun, C. Liu, M. Jin, M. Zhang. “Architecture
granularity modeling by the framework view and the framework for software test tool”, Proceedings of
low-level fine granularity modeling by the logical view, TOOLS 2000, IEEE Computer Society, 2000, pp.40-47.
behavior view and data view. The refinement from [12]C. Sun, J. Zhou, J. Cao, M. Jin, C. Liu. “ReArchJBs: a
high-level architectural view to the low-level Tool for Automated Software Architecture Recovery of
architectural view is also supported. Thirdly, the JavaBeans-based Applications”, Proceedings of ASWEC
extension provides the integration view to address the 2005, IEEE Computer Society, 2005, pp.270-280.
[13]C. Sun. “Architectural solution for Software Testing
integration and deployment aspect, which effectively
platform”, [Technical Report], BUAA/SEI-TR-2002-001,
aids the instantiation from architectural model to Beihang University, April 2002.
implementation. As illustrated in the software testing
platform, individual testing tools can be easily derived

You might also like