scispace - formally typeset

Book ChapterDOI

A UML 2.0 profile for architecting B3G applications

13 Sep 2006-Vol. 4401, pp 18-34

TL;DR: An enhanced UML profile is proposed to define and analyze software architectures that explicitly exploit the B3G domain properties and create a completely new application domain where applying current software engineering design tools fails.
Abstract: B3G is an emerging network technology which conceives the convergence of telecommunication and IP-based networks for providing enhanced services able to transfer both voice and non-voice data through wired and wireless networks. Moreover, B3G networks can be no longer considered as "passive" entities which only transport data between end-points, but they must be considered as "active" parties that have their own behavior and provide services. This creates a completely new application domain where applying current software engineering design tools, such as software architectures, fails. In fact, dealing with B3G networks requires to explicit low-level details usually abstracted by the architectural descriptions. To this extent, we present an ongoing work on investigating B3G- oriented application modeling. In particular, we propose an enhanced UML profile to define and analyze software architectures that explicitly exploit the B3G domain properties.

Summary (3 min read)

1 Introduction

  • Beyond Third-Generation (B3G) [30] network is an emerging technology which conceives the convergence of telecommunication networks with IP based networks.
  • On the other hand, SA descriptions allow for analysis and verification of architectural choices, both qualitative and quantitative, since the early stages of the software life-cycle [6].
  • Hence, since they actively affect the overall system’s performance and behavior, they cannot be taken apart but must be considered, along with all their characteristics, within the design process.
  • In particular, the authors show how, starting from a small survey of the networks involved in B3G scenarios, it has been elicited a set of properties that characterizes B3G-oriented applications and, then they present an enhanced UML profile [24] for explicitly defining and analyzing SAs that take into account these properties of interest.

2 B3G Network Properties Elicitation

  • B3G network technology indicates the convergence of telecommunication networks with IP based networks.
  • Services associated with B3G provide the ability to transfer both voice data and non-voice data through different types of network, either wired or wireless.
  • Wireless networks are categorized into three groups based on their coverage range: (i) Wireless Wide Area Networks (WWAN) that includes wide coverage area technologies such as 3G cellular (UMTS), Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), i-Mode, etc. . . , (ii) Wireless Local Area Networks (WLAN) that includes 802.11, HiperLAN, and several others, and (iii) Wireless Personal Area Networks (WPAN) that represents wireless personal area network technologies such as Bluetooth and IrDA.
  • In this section the authors discuss the networks state-of-the-art by eliciting the properties of interest needed to architect B3G applications.

2.1 Networks in B3G

  • The widely accepted way to achieve interworking between heterogeneous network is the use of TCP/IP protocol suite.
  • Based on the shared-bus concept, it operates different data transfer rates (ranging from 10Mbps to 1Gbps) but it does not provide any support for QoS management neither any other type of service.
  • Also in this case, using TCP/IP over this network does not require any additional effort .
  • General Packet Radio Service (GPRS) – General Packet Radio Service (GPRS) [1] is a mobile communication standard based on packet-switched radio transmission.
  • In particular, Bluetooth allows users to set up wireless ad-hoc networks that achieve real-time voice and data exchange between limitedresources devices.

2.2 QoS–Related Properties of Interest

  • This section describes the characteristics of the networks introduced above by summarizing their properties of interest.
  • In particular, the authors firstly presents common QoS attributes that apply to all the B3G networks and, then they describe a set of enhanced QoS attributes that are specific of telecommunication networks such as GSM, GPRS, UMTS.
  • Is calculated as the variation of the transfer delay attribute from one packet to the next packet within the same packet stream/flow, also known as – Jitter.
  • Is the maximum size (number of octets) for which the network shall satisfy the QoS negotiated, also known as SDU size.
  • Represents the relative importance for handling of all SDUs belonging to the UMTS bearer, also known as – Traffic handling priority.

2.3 Network Services

  • As introduced above, in their vision B3G networks are no longer “passive” entities, but they are “active” parties that have their own behavior and provide services to the end-users.
  • – Wi-Fi Protected Access (WPA and WPA2) is a encryption protocol designed to secure wireless networks.
  • Due to a fixed amount of bandwidth is dedicated to connections over CSD and HSCSD (9.6Kbps and 14.4Kbps respectively), they are charged on a per-second basis, regardless of the amount of data sent over the link.
  • – Since GPRS is based on existing GSM networks, they share the same secure access mechanism and encryption facility.
  • In particular, the bearer services are: – Circuit switched data services and real-time data services which allow for interworking with the GSM network.

3 An UML Profile for B3G Software Architectures

  • In previous section, the authors presented the common networks involved in B3G scenarios by eliciting their main properties of interest.
  • As previously remarked, while designing B3G-oriented application these characteristics should not be abstracted away by SA descriptions, but rather they should be considered and analyzed since the early stages of the software life-cycle.
  • To this extent, in this section, the authors describe a UML 2.0 Profile for specifying B3G-oriented SAs which take into account all the discussed properties.
  • Hence, Dually simply maps SA-Components directly into UML components.
  • SA-Channels – In UML 2.0: “An assembly connector is a connector between two components that defines that one component provides the services that another component requires.

3.2 Extending SA-Channels for B3G

  • The Dually profile described above fulfills the gap between ADLs and UML 2.0 in specifying SAs.
  • Furthermore, CNet is specialized into the CN Wired and CN Wireless subtypes which provide Wired Network Channel and Wireless Network Channel respectively.
  • [ID] represents an array containing all the SSIDs retrieved.
  • In particular, it extends the set of attributes according to the advanced QoS properties discussed in Section 2.2, appropriately overrides inherited methods, and provide the following common services: – void mobilityManagement(ID): provides the service for managing mobility issues, such as handover and roaming.
  • Provides the service for sending Short Messages, also known as – void sendSMS(MSG).

3.3 Early Example

  • We present a simple example which aims to summarize the characteristics introduced above.the authors.
  • Note that, while Web Server accesses the XParlay connector services by using a CN Wired channel, the wireless clients are linked to it by using different CNW WWAN channels.
  • Let the UMTS PDA holder want to send an SMS to both the GSM Phone and the Laptop clients.
  • Even though this example is really simple and the SA is composed of few components, it shows the overall complexity inherent to B3G scenarios.
  • Modeling the same SA by using either ADLs or SA-oriented UML profiles would hide the main characteristics of this type of networks (i.e., QoS properties) and the services they provide (e.g, SMS service).

4 B3G Software Architecture Analysis

  • As remarked in previous section, SA descriptions allow for analysis and validation of architectural choices obtaining better software quality and shorter time-tomarket development [6].
  • To this extent, the B3G UML profile presented in previous section provides the ability to perform the following analysis by using UML-based automated tools: (i) SA Model Checking which allows for checking architectural model consistency, (ii) Performance Analysis of SA which allows for making quantitative analysis on SAs, and (iii) SA-driven Testing which allows for checking whether the implementation under test fulfills the architectural specification, and (iv) Runtime SA-based System Reconfiguration which allows for monitoring and reconfiguring the system at runtime.
  • Performance Analysis of SA – Software performance is the process of predicting and evaluating whether a system meet the user performance requirements [4].
  • This, allows us to automatically transform B3G-oriented SAs into QNs and then carry on a performance analysis that takes into account also the network QoS properties discussed in Section 2.
  • To this extent, the use of SA performance analysis, for evaluating the actual system status and choosing the next system configuration, achieves fine tuned reconfiguration process that overcomes the observed QoS problems [9].

5 Conclusions and Future Work

  • B3G technology conceives the convergence of telecommunication networks with IP based networks for providing enhanced services.
  • This define a new application domain where applications can not only interact with each other, but they can also interact with non-software entities (i.e., humans).
  • Then, the authors proposed an extended UML Profile which allows for defining B3G-oriented SA and for performing different kind of analysis which aim to validate B3G-oriented applications with respect to both qualitative and quantitative requirements.
  • The work discussed herein represents the first step of a long term research.
  • Plastic is a IST Project [26], the authors are involved in, which aims to construct a platform for delivering software services deployed over B3G networks.

Did you find this useful? Give us your feedback

Content maybe subject to copyright    Report

HAL Id: inria-00415917
https://hal.inria.fr/inria-00415917
Submitted on 11 Sep 2009
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entic research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diusion de documents
scientiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
A UML 2.0 Prole for Architecting B3G Applications
Mauro Caporuscio, Valérie Issarny
To cite this version:
Mauro Caporuscio, Valérie Issarny. A UML 2.0 Prole for Architecting B3G Applications. 3rd
International Workshop on Rapid Integration of Software Engineering techniques : RISE 2006, 2006,
Geneva, Switzerland. pp.18-34. �inria-00415917�

A UML 2.0 Profile for Architecting B3G
Applications
Mauro Caporuscio and Valerie Issarny
INRIA-Rocquencourt
Domaine de Voluceau
78153 Le Chesnay, France
{mauro.caporuscio, valerie.issarny}@inria.fr
Abstract. B3G is an emerging network technology which conceives the
convergence of telecommunication and IP-based networks for providing
enhanced services able to transfer both voice and non-voice data through
wired and wireless networks. Moreover, B3G networks can be no longer
considered as passive entities which only transport data between end-
points, but they must be considered as active parties that have their
own behavior and provide services. This creates a completely new appli-
cation domain where applying current software engineering design tools,
such as software architectures, fails. In fact, dealing with B3G networks
requires to explicit low-level details usually abstracted by the architec-
tural descriptions.
To this extent, we present an ongoing work on investigating B3G-
oriented application modeling. In particular, we propose an enhanced
UML profile to define and analyze software architectures that explicitly
exploit the B3G domain properties.
1 Introduction
Beyond Third-Generation (B3G) [30] network is an emerging technology which
conceives the convergence of telecommunication networks with IP based net-
works. Services associated with B3G provide the ability to transfer both voice
data (i.e., a telephone call) and non-voice data (i.e., downloading information,
exchanging email, and instant messaging) through different types of network, ei-
ther wired or wireless. This opens to a new world where distributed applications
can not only interact with each other over plenty of different networks, but they
can also interact with non-software entities (i.e., humans), by exploiting services
offered by telecommunication networks.
Such a vision breaks some assumptions posed so far by the software engineer-
ing community and requires for adapting/revising the software life-cycle, and the
related tools, since the early activities. In particular, the software design is the
first process activity to be aected by the B3G application domain. The software
design aims to build the first description, both behavioral and structural, of the
entire system under development. Consequently, since the architectural design is
described by means of Software Architecture (SA) modeling [5][25], also this one
should be adapted/revised accordingly.
N. Guelfi and D. Buchs (Eds.): RISE 2006, LNCS 4401, pp. 18–34, 2007.
c
Springer-Verlag Berlin Heidelberg 2007

A UML 2.0 Profile for Architecting B3G Applications 19
SA has been largely accepted as a well suited tool to achieve a better soft-
ware quality while reducing the time-to-market. This results in a proliferation
of different Architectural Description Languages (ADLs), defined by both the
academia and the industry [20].
The use of SA descriptions allows software engineers to model large, com-
plex applications by using suitable abstractions of the system components and
their interactions. This forces the separation of architectural concerns from other
design ones, thus abstracting away many details. On the other hand, SA descrip-
tions allow for analysis and verification of architectural choices, both qualitative
and quantitative, since the early stages of the software life-cycle [6].
However, the use of SA fails when specifying B3G-oriented applications. In
fact, dealing with B3G networks requires to explicit those low-level details usu-
ally abstracted by SA specifications. To this extent, we argue networks involved
in B3G scenarios can be no longer considered as passive entities which only
transport data between end-points, but they must be considered as active
parties that have their own behavior and provide services. Hence, since they
actively affect the overall system’s performance and behavior, they cannot be
taken apart but must be considered, along with all their characteristics, within
the design process. According to this and due to the high degree of network
heterogeneity inherent to the B3G application domain, it is important to raise
up some characteristics such as network type, quality of service, security, network
services,etc.
This paper presents an ongoing work on investigating B3G-oriented applica-
tion modeling. In particular, we show how, starting from a small survey of the
networks involved in B3G scenarios, it has been elicited a set of properties that
characterizes B3G-oriented applications and, then we present an enhanced UML
profile [24] for explicitly defining and analyzing SAs that take into account these
properties of interest.
The paper is organized as follows: Section 2 first describes the different net-
works available in the B3G application domain and then presents the sets of
properties elicited. Section 3 presents the B3G-oriented UML profile we designed
while Section 4 discusses the analysis aspects related to the B3G application do-
main. Finally, Section 5 concludes and discuss future work.
2 B3G Network Properties Elicitation
B3G network technology indicates the convergence of telecommunication net-
works with IP based networks. Services associated with B3G provide the abil-
ity to transfer both voice data and non-voice data through different types of
network, either wired or wireless. In this setting, wireless networks are catego-
rized into three groups based on their coverage range: (i) Wireless Wide Area
Networks (WWAN) that includes wide coverage area technologies such as 3G
cellular (UMTS), Global System for Mobile Communications (GSM), General
PacketRadioService(GPRS),i-Mode,etc...,(ii) Wireless Local Area Networks
(WLAN) that includes 802.11, HiperLAN, and several others, and (iii) Wireless

20 M. Caporuscio and V. Issarny
Personal Area Networks (WPAN) that represents wireless personal area network
technologies such as Bluetooth and IrDA.
In this section we discuss the networks state-of-the-art by eliciting the prop-
erties of interest needed to architect B3G applications.
2.1 Networks in B3G
The widely accepted way to achieve interworking between heterogeneous network
is the use of TCP/IP protocol suite. Figure 1 shows how the protocol stacks,
implemented by (some) networks involved in B3G scenarios, relate to TCP/IP
standard. In the following, we give a high-level description of such networks and
their properties
1
, namely Quality of Service (QoS), security, etc. . .
Fig. 1. Network protocol stacks underlying TCP/IP
Ethernet (IEEE 802.3) Nowadays, the prominent technology for providing
wired LANs is Ethernet [16]. Based on the shared-bus concept, it operates differ-
ent data transfer rates (ranging from 10Mbps to 1Gbps) but it does not provide
any support for QoS management neither any other type of service. As shown
in Figure 1.a, using TCP/IP over this network does not require any additional
effort.
WiFi (IEEE 802.11) The WiFi 802.11 standard [15] (afterward enhanced
by other task groups) defines the MAC and Physical levels in order to create
Wireless LANs. It is worth noticing that WiFi network may operate in two
different modes: (i) infrastructure mode and (ii) ad-hoc. While infrastructure
mode defines a controlled network composed of a number of managed fixed nodes
that provides access points to wireless clients, ad-hoc mode defines a self-managed
network where wireless clients directly communicate each other without any
control. Also in this case, using TCP/IP over this network does not require any
additional effort (see Figure 1.a).
1
For any further detail, please refer to the relative citations.

A UML 2.0 Profile for Architecting B3G Applications 21
Global System for Mobile Communications (GSM) The Global System
for Mobile Communications standard [22] specifies infrastructures and services
for digital cellular networks. GSM is based on circuit-switched protocol, where
a traffic channel is allocated to a user for the entire duration of a call and it
is simply unused if there is no data to be transmitted during the call. This
limits both the data rates and the number of users that can be supported.
Moreover, GSM specifies two circuit-switched protocols to tunnel and convoy
data throughout the network. Thus, GSM clients can use TCP/IP directly on
top of them (see Figure 1.b).
General Packet Radio Service (GPRS) General Packet Radio Service
(GPRS) [1] is a mobile communication standard based on packet-switched radio
transmission. The main advantage over circuit-switched radio technologies is its
handling of the radio resources. GPRS is structured as a GSM overlay, although
it does require some changes to a few of the basic GSM network elements. GPRS
provides an architecture for integrating external packet-data networks (e.g., the
Internet backbone wired network) and mobile stations (i.e., cell phones, PDAs,
and other such mobile devices). Thus, mobile stations are enabled to use TCP/IP
based protocols directly on top of GPRS (see Figure 1.c).
Universal Mobile Telecommunication System (UMTS) –TheUniversal
Mobile Telecommunication System (UMTS) [2] is part of the 3G Network family
which defines both the circuit-switched and the packet-switched transmission
for voice and data communications relatively. Also in this case, clients can use
TCP/IP based protocols directly on top of UMTS (see Figure 1.d). Moreover,
important characteristics of UMTS are (i) the high data transfer rate (up to
2Mbps) and (ii) the ability to negotiate/manage different fixed classes of QoS [3].
Bluetooth The Bluetooth [8] technology is the de-facto standard for achiev-
ing short-range WPANs. In particular, Bluetooth allows users to set up wireless
ad-hoc networks that achieve real-time voice and data exchange between limited-
resources devices. However, Bluetooth does not directly support TCP/IP proto-
cols and then the use of PPP protocol [23] is required (as shown in Figure 1.e).
2.2 QoS–Related Properties of Interest
This section describes the characteristics of the networks introduced above by
summarizing their properties of interest. In particular, we firstly presents com-
mon QoS attributes that apply to all the B3G networks and, then we describe a
set of enhanced QoS attributes that are specific of telecommunication networks
such as GSM, GPRS, UMTS.
General QoS Properties The set of general QoS properties is composed of
few attributes that identify the basic metrics needed for describing the perfor-
mance of a network. In particular, they relates to the bandwidth, transmission
time, packet ordering and error ratio provided by the network under analysis:

Citations
More filters

01 Jan 2008
TL;DR: This paper proposes a reference model for architecting SOM solutions over next generation networking environment and evaluates it by designing a conforming lower-level model for the SOM developed for the PLASTIC project.
Abstract: From the software engineering perspective, the notion of Service Oriented Architecture (SOA) has been receiving significant attention within the software design and development community. This attention has led to the proliferation of conflicting characterizations of SOA, resulting in an ambiguous understanding of SOA entities and relationships among them. To achieve a common understanding, OASIS and SeCSE propose reference models that introduce a comprehensive ontology for modeling software services around the well known service-oriented interaction pattern. However OASIS and SeCSE models abstract the actual interaction pattern runtime support, which is generally provided by a Service Oriented Middleware (SOM). In this paper we propose a reference model for architecting SOM solutions over next generation networking environment and evaluate it by designing a conforming lower-level model for the SOM developed for the PLASTIC project.

5 citations


Journal ArticleDOI
16 Dec 2010
TL;DR: This paper proposes a modelling of architectural elements such as: multimedia, application components, communication, etc. and an UML profile for verification and validation of MMSA architectures and detection of heterogeneities between components communicating with multimedia flows.
Abstract: Multimedia technology is increasingly being used to create reliable and effective communication environments. However, the design of multimedia applications is currently driven more by intuition than by empirically or theoretically derived design guidelines. In a multimedia application, the software architecture is defined as a set of components manipulating various multimedia data types with specific constraints that we must take into consideration at the architectural design. For instance, the problem of heterogeneity related to the exchanged of multimedia data flows. In the absence of prescriptive architectural design principles, meta-model for multimedia software architecture (MMSA) enables the description of software architectures expressing a multimedia software system as a collection of components which handle various types and formats of multimedia data, and interacts between them via adaptation connectors. This paper proposes a modelling of architectural elements such as: multimedia, application components, communication, etc. and an UML profile for verification and validation of MMSA architectures and detection of heterogeneities between components communicating with multimedia flows.

4 citations


Cites methods from "A UML 2.0 profile for architecting ..."

  • ...Mauro (Caporuscio and Issarny, 2006) proposed a UML profile to define and analyze software architectures that exploit explicitly the domain properties of B3G (Beyond ThirdGeneration)....

    [...]


Proceedings ArticleDOI
Jiseon Lee1, Hyeonmok Ko1, Cheeha Kim1Institutions (1)
26 Mar 2012
TL;DR: A reservation based MAC protocol for multimedia data to increase the channel utilization efficiency and evaluate the performance of the proposed scheme through simulations that compares channel utilization and drop probability with an existing scheme.
Abstract: UWB WiMedia MAC has been widely used in wireless multimedia networks, but it suffers from inefficient channel utilization. In this paper, we propose a reservation based MAC protocol for multimedia data to increase the channel utilization efficiency. The proposed scheme has two components. First, the protocol lets flows with large amounts of data be reserved early among the nodes. Second, when anode allocates slots, the protocol uses wasted slots. We evaluate the performance of the proposed scheme through simulations that compares channel utilization and drop probability with an existing scheme. The simulation results show that the measured performance metrics are improved.

3 citations


Cites background from "A UML 2.0 profile for architecting ..."

  • ...Wireless communications can be classified into three groups on the basis of the transmission range [1]....

    [...]


Journal ArticleDOI
TL;DR: This paper proposes a domain-specific environment, called ubiDSE, that aids the development of applications that exploits the ubiSOAP features, from design to implementation, and allows developers to focus on the main behavior of the modeled systems, rather than on complex details inherent to ubiquitous environments.
Abstract: Supporting the execution of service-oriented applications over ubiquitous networks specifically calls for a service-oriented middleware (SOM), which effectively enables ubiquitous networking while benefiting from the diversity and richness of the networking infrastructure. However, developing ubiquitous applications that exploit the specific features offered by a SOM might be a time-consuming task, which demands a deep knowledge spanning from the application domain concepts down to the underlying middleware technicalities. In this paper, first we present the model-driven development process underpinning ubiSOAP, a SOM for the ubiquitous networking domain. Then, based on the domain concepts defined by the conceptual model of ubiSOAP, its architecture and its technicalities, we propose a domain-specific environment, called ubiDSE, that aids the development of applications that exploits the ubiSOAP features, from design to implementation. ubiDSE allows developers to focus on the main behavior of the modeled systems, rather than on complex details inherent to ubiquitous environments. As part of ubiDSE, specific tools are provided to automatically generate skeleton code for service-oriented applications to be executed on ubiSOAP-enabled devices, hence facilitating the exploitation of ubiSOAP by developers.

2 citations


Proceedings ArticleDOI
18 May 2009
TL;DR: A reference model for architecting SOM solutions over B3G network is proposed for service oriented architecture deployment in next generation pervasive networking e.g., Beyond 3rd Generation (B3G).
Abstract: Service Oriented Middleware (SOM) is getting key support to enable service oriented architecture deployment in next generation pervasive networking - e.g., Beyond 3rd Generation (B3G). This paper proposes a reference model for architecting SOM solutions over B3G network.

2 citations


References
More filters

01 Sep 1996
TL;DR: Model checking tools, created by both academic and industrial teams, have resulted in an entirely novel approach to verification and test case generation that often enables engineers in the electronics industry to design complex systems with considerable assurance regarding the correctness of their initial designs.
Abstract: Turing Lecture from the winners of the 2007 ACM A.M. Turing Award. In 1981, Edmund M. Clarke and E. Allen Emerson, working in the USA, and Joseph Sifakis working independently in France, authored seminal papers that founded what has become the highly successful field of model checking. This verification technology provides an algorithmic means of determining whether an abstract model---representing, for example, a hardware or software design---satisfies a formal specification expressed as a temporal logic (TL) formula. Moreover, if the property does not hold, the method identifies a counterexample execution that shows the source of the problem. The progression of model checking to the point where it can be successfully used for complex systems has required the development of sophisticated means of coping with what is known as the state explosion problem. Great strides have been made on this problem over the past 28 years by what is now a very large international research community. As a result many major hardware and software companies are beginning to use model checking in practice. Examples of its use include the verification of VLSI circuits, communication protocols, software device drivers, real-time embedded systems, and security algorithms. The work of Clarke, Emerson, and Sifakis continues to be central to the success of this research area. Their work over the years has led to the creation of new logics for specification, new verification algorithms, and surprising theoretical results. Model checking tools, created by both academic and industrial teams, have resulted in an entirely novel approach to verification and test case generation. This approach, for example, often enables engineers in the electronics industry to design complex systems with considerable assurance regarding the correctness of their initial designs. Model checking promises to have an even greater impact on the hardware and software industries in the future. ---Moshe Y. Vardi, Editor-in-Chief

7,382 citations


Book
Len Bass1, Paul Clements1, Rick Kazman1Institutions (1)
01 Jan 1997
TL;DR: This second edition of this book reflects the new developments in the field and new understanding of the important underpinnings of software architecture with new case studies and the new understanding both through new chapters and through additions to and elaboration of the existing chapters.
Abstract: From the Book: Our goals for the first edition were threefold. First, we wanted to show through authentic case studies actual examples of software architectures solving real-world problems. Second, we wanted to establish and show the strong connection between an architecture and an organization's business goals. And third, we wanted to explain the importance of software architecture in achieving the quality goals for a system. Our goals for this second edition are the same, but the passage of time since the writing of the first edition has brought new developments in the field and new understanding of the important underpinnings of software architecture. We reflect the new developments with new case studies and the new understanding both through new chapters and through additions to and elaboration of the existing chapters. Architecture analysis, design, reconstruction, and documentation have all had major developments since the first edition. Architecture analysis has developed into a mature field with industrial-strength methods. This is reflected by a new chapter about the architecture tradeoff analysis method (ATAM). The ATAM has been adopted by industrial organizations as a technique for evaluating their software architectures. Architecture design has also had major developments since the first edition. The capturing of quality requirements, the achievement of those requirements through small-scale and large-scale architectural approaches (tactics and patterns, respectively), and a design method that reflects knowledge of how to achieve qualities are all captured in various chapters. Three new chapters treat understanding quality requirements, achieving qualities, and theattribute driven design (ADD) method, respectively. Architecture reconstruction or reverse engineering is an essential activity for capturing undocumented architectures. It can be used as a portion of a design project, an analysis project, or to provide input into a decision process to determine what to use as a basis for reconstructing an existing system. In the first edition, we briefly mentioned a tool set (Dali) and its uses in the re-engineering context; in in this edition the topic merits its own chapter. Documenting software architectures is another topic that has matured considerably in the recent past. When the first edition was published, the Unified Modeling Language (UML) was just arriving on the scene. Now it is firmly entrenched, a reality reflected by all-new diagrams. But more important, an understanding of what kind of information to capture about an architecture, beyond what notation to use, has emerged. A new chapter covers architecture documentation. The understanding of the application of software architecture to enable organizations to efficiently produce a variety of systems based on a single architecture is summarized in a totally rewritten chapter on software product lines. The chapter reinforces the link between architecture and an organization's business goals, as product lines, based around a software architecture, can enable order-of-magnitude improvements in cost, quality, and time to market. In addition to the architectural developments, the technology for constructing distributed and Web-based systems has become prominent in today's economy. We reflect this trend by updating the World Wide Web chapter, by using Web-based examples for the ATAM chapter and the chapter on building systems from components, by replacing the CORBA case study with one on Enterprise JavaBeans (EJB), and by introducing a case study on a wireless EJB system designed to support wearable computers for maintenance technicians. Finally, we have added a chapter that looks more closely at the financial aspects of architectures. There we introduce a method--the CBAM--for basing architectural decisions on economic criteria, in addition to the technical criteria that we had focused on previously. As in the first edition, we use the architecture business cycle as a unifying motif and all of the case studies are described in terms of the quality goals that motivated the system design and how the architecture for the system achieves those quality goals. In this edition, as in the first, we were very aware that our primary audience is practitioners, so we focus on presenting material that has been found useful in many industrial applications, as well as what we expect practice to be in the near future. We hope that you enjoy reading it at least as much as we enjoyed writing it. 0321154959P12162002

4,872 citations


Book
07 Jan 1999

4,475 citations


Journal ArticleDOI
Nenad Medvidovic1, Richard N. Taylor2Institutions (2)
TL;DR: A definition and a classification framework for architecture description languages are presented and the utility of the definition is demonstrated by using it to differentiate ADLs from other modeling notations, enabling us, in the process, to identify key properties ofADLs.
Abstract: Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. Architecture description languages (ADLs) have been proposed as modeling notations to support architecture-based development. There is, however, little consensus in the research community on what is an ADL, what aspects of an architecture should be modeled in an ADL, and which of several possible ADLs is best suited for a particular problem. Furthermore, the distinction is rarely made between ADLs on one hand and formal specification, module interconnection, simulation and programming languages on the other. This paper attempts to provide an answer to these questions. It motivates and presents a definition and a classification framework for ADLs. The utility of the definition is demonstrated by using it to differentiate ADLs from other modeling notations. The framework is used to classify and compare several existing ADLs, enabling us, in the process, to identify key properties of ADLs. The comparison highlights areas where existing ADLs provide extensive support and those in which they are deficient, suggesting a research agenda for the future.

2,125 citations


Journal ArticleDOI
Dewayne E. Perry1, Alexander L. Wolf2Institutions (2)
TL;DR: A model of software architecture that consists of three components: elements, form, and rationale is presented, which provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements.
Abstract: The purpose of this paper is to build the foundation for software architecture. We first develop an intuition for software architecture by appealing to several well-established architectural disciplines. On the basis of this intuition, we present a model of software architecture that consists of three components: elements, form, and rationale. Elements are either processing, data, or connecting elements. Form is defined in terms of the properties of, and the relationships among, the elements --- that is, the constraints on the elements. The rationale provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements. We discuss the components of the model in the context of both architectures and architectural styles and present an extended example to illustrate some important architecture and style considerations. We conclude by presenting some of the benefits of our approach to software architecture, summarizing our contributions, and relating our approach to other current work.

2,070 citations


Network Information
Related Papers (5)
25 Mar 2004

Huiqun Yu, Xudong He +2 more

01 Jan 2009

David Garlan, Kathleen M. Carley +3 more

01 Dec 2009

Adil Kenzi, Bouchra El Asri +2 more

06 Dec 1995

F. De Paoli, Francesco Tisato

Performance
Metrics
No. of citations received by the Paper in previous years
YearCitations
20141
20121
20101
20091
20081