Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Using UML for Modeling Complex Real-Time

Using UML for Modeling Complex Real-Time

Ratings: (0)|Views: 2 |Likes:
Published by m awais
Bran Selic, ObjecTime Limited
Jim Rumbaugh, Rational Software Corporation

The embedded real-time software systems encountered in applications such
as telecommunications, aerospace, and defense typically tend to be large and
extremely complex. It is crucial in such systems that the software is designed with a
sound architecture. A good architecture not only simplifies construction of the initial
system, but even more importantly, readily accommodates changes forced by a
steady stream of new requirements. In this paper, we describe a set of constructs that
facilitate the design of software architectures in this domain. The constructs, derived
from field-proven concepts originally defined in the ROOM modeling language, are
specified using the Unified Modeling Language (UML) standard. In particular, we
show how these architectural constructs can be derived from more general UML
modeling concepts by using the powerful extensibility mechanisms of UML.
Bran Selic, ObjecTime Limited
Jim Rumbaugh, Rational Software Corporation

The embedded real-time software systems encountered in applications such
as telecommunications, aerospace, and defense typically tend to be large and
extremely complex. It is crucial in such systems that the software is designed with a
sound architecture. A good architecture not only simplifies construction of the initial
system, but even more importantly, readily accommodates changes forced by a
steady stream of new requirements. In this paper, we describe a set of constructs that
facilitate the design of software architectures in this domain. The constructs, derived
from field-proven concepts originally defined in the ROOM modeling language, are
specified using the Unified Modeling Language (UML) standard. In particular, we
show how these architectural constructs can be derived from more general UML
modeling concepts by using the powerful extensibility mechanisms of UML.

More info:

Published by: m awais on Sep 16, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/16/2010

pdf

text

original

 
104/08/98
Using UML for Modeling Complex Real-TimeSystems
Bran Selic, ObjecTime LimitedJim Rumbaugh, Rational Software CorporationMarch 11, 1998
Abstract
The embedded real-time software systems encountered in applications such as telecommunications, aerospace, and defense typically tend to be large and extremely complex. It is crucial in such systems that the software is designed with a sound architecture. A good architecture not only simplifies construction of the initial system, but even more importantly, readily accommodates changes forced by a steady stream of new requirements. In this paper, we describe a set of constructs that facilitate the design of software architectures in this domain. The constructs, derived from field-proven concepts originally defined in the ROOM modeling language, are specified using the Unified Modeling Language (UML) standard. In particular, we show how these architectural constructs can be derived from more general UMLmodeling concepts by using the powerful extensibility mechanisms of UML.
 
204/08/98
1. Introduction
We apply the Unified Modeling Language (UML [2], [3]) to describe a set ofconstructs suitable for modeling an important category of real-time software systems.They are derived from the set of concepts initially defined in the ROOM modelinglanguage [1].
1.1
 
The Application Domain
The one common feature of all real-time software systems is
timeliness 
; thatis, the requirement to respond correctly to inputs within acceptable time intervals.However, this ostensibly simple property characterizes a vast spectrum of verydifferent types of systems ranging from purely time-driven to purely event-drivensystems, from soft real-time systems to hard real-time systems, and so on. Over time,each of these categories of systems has developed its own idioms, design patterns,and modeling styles that collectively capture the distilled experience of many projects.In this document we focus on a major category of real-time systems that arecharacterized as complex, event-driven, and, potentially, distributed. Such systemsare most frequently encountered in telecommunications, aerospace, defense, andautomatic control applications. The size and complexity of these systems demand aconsiderable initial development effort, typically involving large development teams,that is followed by an extended period of evolutionary growth. During this time newrequirements are identified and the system is modified incrementally to meet them.Under such circumstances an overriding concern is the
architecture 
of thesoftware. This refers to the essential structural and behavioral framework on which allother aspects of the system depend. This is the software equivalent of the load-bearing frames in buildings – any changes to this foundation necessitates complexand costly changes to substantial parts of the system. Therefore, a well-designedarchitecture is not only one that simplifies construction of the initial system, but moreimportantly, one that easily accommodates changes forced by new systemrequirements.To facilitate the design of good architectures, it is extremely useful to capturethe proven architectural design patterns of the domain as first-class modelingconstructs. This is why ROOM, among other things, incorporates concepts thatconstitute a domain-specific
architectural definition language 
. These constructs havebeen in use for over a decade and have proven their effectiveness across hundreds ofdiverse large-scale industrial projects. We have found that this domain-specific usagecan be cleanly implemented using the general-purpose UML.
1.2
 
The Use of UML
As noted earlier, UML was used to capture these constructs. We found it verywell suited to this purpose so that
no new UML modeling concepts were needed 
. Thestandard UML tailoring mechanisms based on stereotypes, tagged values, andconstraints were used to great effect. For example, the central “actor” concept ofROOM is captured by the «capsule» stereotype – a specialization of the general UMLconcept of a class. This stereotype adds additional domain-specific semantics ontothe various aspects that are associated with a UML class (e.g., state machines,
 
304/08/98collaborations). The stereotype facility provides a simple shorthand way of referring tothe collection of well-formedness rules that specify these semantics.In effect, the modeling constructs described in this document represent atype of library of applied UML concepts intended primarily for use in modeling thearchitectures of complex real-time systems. They are used in combination with all theother UML modeling concepts and diagrams to provide a comprehensive modelingtoolset.
1.3
 
Acknowledgements
We would like to express our gratitude to Grady Booch and Ivar Jacobsonwho reviewed drafts of this document and provided valuable feedback and manyhelpful suggestions on optimal ways to render these constructs in UML.

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->