Sie sind auf Seite 1von 7

(IJCNS) International Journal of Computer and Network Security, 1

Vol. 2, No. 5, May 2010

A Model-driven Approach for Runtime Assurance


of Software Architecture Model
Yujian Fu1, Xudong He2, Sha Li3, Zhijiang Dong4 and Phil Bording5
1
Alabama A&M University, School of Engineering & Technology,
4900 Meridian Street, Normal AL 35762, USA
Yujian.fu@aamu.edu
2
Middle Tennessee State University, College of Basic and Applied Sciences,
1301 East Main Street, Murfreesboro, TN 37132, USA
zdong@mtsu.edu
3
Florida International University, School of Computing and Information Science,
11200 SW 8th Str, Miami, FL 33199, USA
Hex@cs.fiu.edu
4
Alabama A&M University, School of Engineering & Technology,
4900 Meridian Street, Normal AL 35762, USA
Phil.bording@aamu.edu
5
Alabama A&M University, School of Education,
4900 Meridian Street, Normal AL 35762, USA
Sha.li@aamu.edu

notations of UML. As a result, UML has been adapted for


Abstract: Unified Modeling Language (UML) has been widely
accepted for object-oriented system modeling and design, and software architecture descriptions in recent years [21, 16,
has also been adapted for software architecture descriptions in 30]. Defining software architecture using UML has the
recent years. Although, the use of UML for software following advantages: graphical, extensible, and capable of
architecture representation has the obvious benefits of representing both structural and behavioral aspects. In
facilitating learning and comprehension, UML lacks precise addition, the UML architecture level representation provides
semantics for defining key features of software architecture a simple transition or relation to a detailed object-oriented
level entities. In this paper, we present an approach to map a design also described in UML.
UML architecture description into a formal specification model As a general-purpose object-oriented modeling language,
called SAM, which serves as a semantic domain for defining the UML does not directly provide constructs needed for
precise semantics of the UML description and supports formal software architecture modeling, such as architectural
analysis. Furthermore, when the UML architecture description
configurations, connectors, and styles. Although a UML
contains sufficient details, an implementation from the resulting
SAM architecture description to Java code can be automatically
component diagram can be used to describe the organization
generated from our existing SAM translator tool. The generated of a software system in terms of its components and
Java code contains monitoring checkers for run-time interconnections at specification level, it is unclear that how
verification. Therefore, our approach provides not only a to instantiate component interfaces and dependency
method of formal analysis to detect design errors, but also a relationships and how to associate interaction protocols with
technique to automatically generate executable code with run- component dependencies.
time verification capability, which effectively eliminates the Several research works explored the integration of UML
tedious, labor intensive, and error-prone manual coding process. with some existing ADLs [31]. Among these works, three
Keywords: Software architecture, UML, runtime verification, approaches can be identified. In the first approach, rules are
temporal logic, Petri nets. provided to translate architectural descriptions between a
particular ADL and UML. In the second approach, key
1. Introduction constructs are added to standard UML to represent software
architecture, which often results in a large and complex
Software architecture is a high level representation of a language that is hard to understand and use. In the third
software design, which can significantly impact the overall approach, UML’s built-in extension mechanisms such as
system development as well as future system maintenance stereo-types and tagged values are tailored for architecture
and evolution. The importance of software architecture description. None of the above approaches address the issues
design and description has been widely recognized in the of code generation from an architecture description and the
past decade. As a result, many architecture description verification of generated code.
languages (ADLs) have been proposed. Most of these ADLs In this paper, we present an integrated approach that
are based on some formal methods. Although the formal combines the ideas of the 1st and the 3rd approaches
basis of an ADL enables some early design level analysis, mentioned above, as well as code generation from an
the formality and peculiar syntax of an ADL often hinder its architecture description. This approach maps a UML
wide acceptance. architecture description into a formal software architecture
In contrast, UML has been widely accepted for object- model called SAM, which serves as a semantic domain for
oriented system modeling and design. Software architects defining the precise semantics of the UML description and
and designers are familiar with the main features and supports formal analysis. Furthermore, when the UML
2 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

architecture description contains sufficient details, an composition Ci as well as a set of composition constraints
implementation from the resulting SAM architecture Csi, e.g. Ci = {Cmi, Cni, Csi}. In addition, each component or
description to Java code can be automatically generated connector is composed of two elements, a behavioral model
from our existing SAM translator tool. and a property specification, e.g. Cij = (Bij, P ij). Each
The paper proceeds as follows: Section 2 gives some behavioral model is described by a Petri net, while a
background information. Section 3 describes our approach property specification by a temporal logical formula. The
to mapping UML architecture description to SAM model; atomic proposition used in the first order temporal logic
Section 4 gives an example of the approach applied an formula is the ports of each component or connector. Thus
embedded system example and evaluates the approach; each behavioral model can be connected with its property
Section 5 describes related work and Section 6 concludes. specification. A component Cmi or a connector Cni can be
refined to a low level composition Cl by a mapping relation
2. Preliminaries h, e.g. h(Cmi ) or h(Cmi ) = Cl. SAM is suitable to describe
large scale systems’ description.
In this section, we provide a brief introduction to software SAM gives the flexibility to choose any variant of Petri nets
architecture documentation, UML, and SAM. and temporal logics to specify behavior and constraints
2.1 Software Architecture Viewpoints according to system characteristics. In our case, Predicate
Transition (PrT) net [11] and linear temporal logic (LTL)
Although, there is not a universally accepted way in
are chosen.
documenting software architecture design. The component
and connector (C&C) view, showing the dynamic behavioral
aspect of a software system, proposed in [35] is no doubt an 3. Our Approach
essential one, which has been the target used in the Our approach takes a software architecture description based
development of many software architecture description on the C&C view and documented using the UML, and
languages. The C&C view is also included in the work of produces a formal software architecture description in SAM.
the Software Engineering Institute (SEI) [30], where the More specifically, in the UML software architecture
authors presented three view types - module, component and description:
connector, and allocation view in documenting software a) A class diagram is used to model the overall
architecture design; and provided guidelines of how to use structure of a software architecture,
UML to document these architecture view types. With b) State chart diagrams are used to define the behavior
regard to the representation of the C&C view, three of individual components and connectors, and
strategies are demonstrated: using component types as c) OCL is used to specify architecture level
classes, subsystems, or real-time profiles. Since the behavior constraints.
of each class and object is described by the state charts The above UML notations are mapped to SAM entities as
diagram, the behavior of the system represented by the class follows:
diagram can be a group of state charts diagram with a) The class diagram is mapped to an overall
interactions. hierarchical SAM structure,
2.1 SAM – Software Architecture Model b) State chart diagrams are mapped to PrT nets, and
c) OCL expressions are mapped to temporal logic
SAM is an architectural description model based on Petri formulae.
nets [29], which are well-suited for modeling distributed The resulting SAM model can be analyzed with various
systems. SAM [15] has dual formalisms underlying – Petri existing formal analysis techniques including model
nets and Temporal logic. Petri nets are used to describe checking.
behavioral models of components and connectors while Furthermore, to improve the productivity and quality, we
temporal logic is used to specify system properties of provide an automated realization of the resulting SAM
components and connectors. model. We have designed and implemented a tool, named
SAM (Software Architecture Model) is hierarchically SAM parser, with the PrT-XML and temporal logic-XML
defined as follows. A set of compositions C = {C1, C2, …, transformation. Figure 1 shows the overall structure of the
Ck} represents different design levels or subsystems. A set of approach.
component Cmi and connectors Cni are specified within each

Figure 1. Overall Structure of Our Approach


(IJCNS) International Journal of Computer and Network Security, 3
Vol. 2, No. 5, May 2010

b) Each substate s ∈ S, where children(S) = Φ, is


3.1 Mapping from State-charts to SAM
mapped into a component Cm ∈ C. We have fT(S)
Composition
= Cm, where children(S) = Φ, Cm ∈ C, and Cm =
It is straightforward to map each class into a composition < Bm, P m> . Let S be < En,Ex,Do,A,G> , where En,
in a SAM model. In this section, we mainly focus on the Ex, Do, and A represent entry, exit, do and other
mapping from state charts to a SAM composition. regular actions taken inside the states
A statechart diagram specified the states that an object respectively, G denotes the guard of any actions.
can inhabit in, describes the events triggered flow of b.1 The behavior model of the component (Bm) is
control and actions responded from the system, as the described by following mapping:
result of the objects reactions to events from the fT(S) = <<pt_in, ten>, <pt_out, tex>, ti, gt >, where
environment. The semantics of statecharts is based on the pt_in, and pt_out denote input and output port
run-to-completion assumption [1]. A State is an abstract respectively, ten and tex denotes transitions that
metaclass that models a situation during which some are corresponding to entry and exit action
(usually implicit) invariant conditions hold. The structure respectively, ti denotes transitions that
of a state vertex, defined by the following function corresponding to the do action and other
children, incarnates the hierarchy of state machines. internal actions, gt denotes the internal
transition’s guard function.
Definition 1 (Children). Let S be a set of state vertices. b.2 The property specified (P m) by OCL can be
The function children: S defines for each state the set of transformed into first order (or propositional)
its direct substates. logic and temporal logic.
c) Pseudo states include initial, History, join, fork,
We define childreni (s) = {s’|s’ ∈ childreni-1(s)} for i > 1. junction and choice. We use some special tokens
Thus the function children+(s) = ∪i>0childreni (s) defines to denote and symbolize the pseudo states.
for each state a set of its transitively nested substates. • Initial state is mapped to a token < “init” > in
Incoming events are processed one at a time and an event an input port of the component as initial
can only be processed if the processing of the previous marking.
event has been completed – when the statechart • History state is mapped to some token in a
component is in a stable state configuration. In our study, place. The sort of the token would be
we considered the events and actions defined by the <History, OtherTokens >.
methods which are specified in the corresponding classes. • Fork and junction states are special states that
Thus we can obtain more detailed implementation represent the splitting of a single flow of
information. To map the state chart diagram to SAM control and the synchronization of concurrent
composition, we present a translation algorithm (fT) in the flows of control. Generally there is no label
following steps. for the input and output transitions. In the
a) Each super state S, where children(S) ≠ Φ, is component we use a special token < “Fork” >
mapped into a composition C in SAM model, i.e., or < “Join” > to represent them. Fig. 2
fT(S) = Ci , where children(S) ≠ Φ. illustrates the translation of these two special
states.

Figure 2. Translated SAM Model of States Fork and Join


4 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010
directly. Some other predefined operations, such as
S toUpper(), Concat() have no images in the logic
d) A transition t inside the super state S is mapped
into a connector Cn ∈ C. Let S be < E,A,Valr ,G> . domain. Attributes can be (atomic) predicates in the
first order or propositional logic.
In this case, we have:
• invariants: This means that the constraints are always
fT (< E,A,Valr ,G> ) = <<pt_in, t>, <pt_out, t>, tk,
holding in the context, thus it is a context-specific
gt_internal>, where E denotes trigger event or safety property:  invariants
action, A denotes action, pt_in, and pt_out denote • pre- and post-condition: can be mapped to the
input and output port respectively, t denotes following temporal formula precondition → ⋄
transition, tk denotes tokens in the ports, Valr postcondition. In the case that it is an invariants, we
denotes returned value of the action A, and G have  (precondition → ⋄postcondition)
denotes guard of the label, gt_internal denotes the • let-in clause: let clause defines some variables used in
internal transition’s guard function. the in clause. In the in clause, you can use any
e) Generally, we can merge the place holding the defined syntax in the OCL.
return value for entry action with the place • if-then-else clause: Let use format if cond then r1 else
holding the parameters for the do action, the r2, we have the logic formula as follows
holding the return value for do action with the cond → r1 ∨ r2.
place holding the parameters for the exit action. • previous value @pre: The postfix @pre refers to a
value of a property at the start of an operation in a
From above translation algorithm (fT), we can realize a
postcondition. In this case we have to record the
mapping relation between each item in the state-chart previous value and then invoke the value through
diagram and the SAM architecture model. This some method since there is not a corresponding
translation algorithm (fT) is meaningful for the formal mapping in the logic.
verification of UML architecture document.
3.3 Tool Support – SAM Translator
Runtime verification, composed of a software module and
3.2 Mapping from OCL to First Order Temporal an observer, monitors the execution of a program, and
Logic checks its conformity with a requirement specification,
In the translation from OCL to first order and temporal often written in a temporal logic. Runtime verification
logic, it is worth to note that following features of OCL can be applied to evaluate automatically test runs, either
restrict the translation to temporal logic. on-line or o_-line, analyzing stored execution traces; or it
1. There is not timing concept in the OCL can be used on-line during operation, potentially steering
specification. the application back to a safety region if a property is
2. There is not object concept in the temporal logic violated. It is highly scalable. Several runtime verification
specification. systems have been developed, such as JPaX [14], Java-
3. OCL is an implementation-based and oriented MAC [17], etc..
specification language, while temporal logic is a We have developed a runtime monitoring system, SAM
high level specification language. Thus there is not Parser, on Software Architecture Model (SAM) [15]
type system, data structure, condition and flow whose behavior is modeled by Petri Nets and properties
control sentence in temporal logic. by temporal logic. To validate the translated state charts
4. Finally, OCL is 3-value function logic (true, false, model, we adapted it to SAM parser to reuse that tool. We
and undefined,) while temporal logic is a 2-value introduce the SAM Parser simply introduced in the
logic. following.
Considering the above features and difference between Input: The runtime checker has to have two input data:
OCL and temporal logic and first order logic, we decide transformed SAM model and temporal logic. These data
to map OCL expression to the first order logic with the are specified in the PNML and XML format.
following concerns: Code Generation: The code of SAM model and temporal
• Context: It indicates the scope of the entity. It can be logic and first order logic formulae are automatically
translated to the quantifiers ∀ or ∃. The difference is generated from the input files. In our work, we construct
that the scope of the quantifiers in the OCL context
a class as a child of templates for each net, place,
generally is finite.
transition, arc, inscription, initial marking, and guard.
• Navigation: Navigation through association either
results in a Set(Object) or in a Seq(Object) if The reason for this is to make it easier to understand and
association is marked as ordered. We can use a maintain. For example, the user can provide a more
quantifier ∃ on Set(Object), Seq(Object) or Collection, efficient way to check the enableness of a transition and
since the later two also have the set concept. In the way to fire it by replacing methods of corresponding
addition, select and reject used in the Collection can classes without any side effects on other transitions. The
be mapped to the quantifiers ∀ and ∃, since they execution of generated code is non-deterministic, i.e. we
restrict the scope of instances. choose an enabled transition and a valid assignment
• forall and exists: are obviously translated into randomly to fire. It is hard to generate code automatically
quantifiers ∀ and ∃. given a Petri net due to the complexity of sorts, guard
• allinstance: It semantically matches ∃. conditions of transition and arc labels [25]. If some
• operations, attributes: All predefined boolean
restrictions[10] are satisfied, we can achieve it.
operations can be mapped into first order logic
operations. All mathematic operations can be used
(IJCNS) International Journal of Computer and Network Security, 5
Vol. 2, No. 5, May 2010

Temporal logic and first order logic formulae are intervention from the driver, by actuating the throttle-
transformed into automata by a logic engine Maude ([5]). accelerator pedal linkage. A modern automotive cruise
These translated automata will feed into our runtime control is a control loop that takes over control of the
checker generator to produce monitors for different throttle, which is normally controlled by the driver with
formulae. the gas pedal, and holds the vehicle speed at a set value.
We assume an automatic transmission vehicle. When
Runtime Checker Generation: Runtime checkers are turned on by the driver, a cruise-control system (CCS)
generated by breaking the temporal logic formula into automatically maintains the speed of a car over varying
subformulae and creating a matrix for the formula [33]. terrain. The CCS can be turned on by pressing Start
In order to generate monitoring codes for properties button, and enabled by pressing SetSpeed button. Resume
(linear temporal formulae), a logic server, Maude [5] in button will enable the CCS at the last maintained speed
our case, is necessary. Maude, acting as the main when the brake is released. The cruise control function is
algorithm generator in the framework, constructs an disabled when the brake or accelerator pedal is pressed.
e_cient dynamic programming algorithm (i.e. monitoring Pressed once Resume button can increase the speed with
code) from any LTL formula [33]. The generated 1mph and the SetSpeed button can decrease the speed
algorithm can check if the corresponding LTL formula is with 1mph when the cruise control function is enabled.
satisfied over an event trace. The cruise control system should be automatically
disabled when the speed is below 25mph and above
4. An Application of the MDA Approach 90mph. For the space limit, we cannot show the UML
diagram and generated code. Each place or port must
We present an instance of our approach in a statechart carry its state information which is also ignored in the
diagram, which is one of the state machine in the UML tables. Finally, we have to point out that the guard
models, through a case study. The case study deals with a function for a transition has to be added some more
simplified cruise control system adapted from [13]. In restrictions for the evaluations. For instance, if there is a
this section we will first introduce the cruise control token “void” in the input place of a transition, it means
system and a state chart diagram for the cruise controller. the previous action does not have return value, we have to
Then we present some properties of this example. Finally, justify that field to evaluate the firing condition of the
the runtime verification results are discussed. transition. This means that automatically mapping a
4.1 Cruise Control System and UML Documentation guard condition in a state chart diagram to a guard
function is not sufficient in some cases.
The purpose of a cruise control system is to accurately
maintain the driver’s desired set speed, without
All properties are true if the conditions and guard are
4.2 Experiment Results and Discussion
satisfied. We also check some conditions that is not
The time of generated code with monitors is 4.3s. We suitable for the method, such as different parameters
checked 5 properties covering 5 components and 4 feeding for the method that makes the guard is not
connectors. satisfied, in that case the formula is evaluated as false.
Since the events and actions are defined by the methods The Results are consistent with what we expected from
which are specified in the corresponding classes, each the state chart diagram. Finally, we also find a mapping
fired transition represents a method is operated under mistake in the component Accelerating and component
some guard condition. The properties specified in the Decelerating when we check properties relative to them.
OCL expressions for the state chart diagram is mapped to We modified the mapped SAM composition according to
temporal formulae and further used to generate monitors. the checking results.
analysis of generic UML object-oriented designs [7, 34, 12,
5. Related Work 24, 4, 26, 35], their results may not be ready applicable to
UML architecture level designs.
Our MDA approach and the presented framework integrate Code Generation from the UML Description and
two aspects: software architecture with UML design Verification in the Implementation:
notation and its extension. Moreover, our approach also There is a significant amount of research that considers
provided a runtime validation and verification technique by mappings from UML to other (mostly formal) modeling
using SAM Parser. The related works are discussed in the techniques to validate UML models (e.g. using B [22], CSP
following. [8], SPIN [23], PVS [2], Petri Nets [27, 38], Z/Eves [3] and
Formal Modeling and Analysis of Architecture the work with Object-Z [19, 20, 18, 39]). These works focus
Descriptions in UML: Our work has been influenced by a on the mapping from UML diagrams to formal methods for
large body of research and practical experience. In the model checking or some specification language for the
interest of brevity, we only compare it to the most relevant model checkers. Moreover, less of them address the code
approaches. The work reported in this paper relates to works generation and verification in the implementation level.
that focus on specifying structural and possibly behavioral Property Specification – OCL Expression and Temporal
aspects of a software system using UML. The representative Logic: Various methodologies proposed to deal with the
UML architecture description examples are provided by property specification of object-oriented systems. There are
Kruchten [21], Hofmeister et al. [16] and Clements et al. two main streams to cooperate OCL with temporal logics,
[31]. Although several researchers have explored the formal one is extending OCL with temporal notations ([31, 9, 37]
6 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 5, May 2010

etc.), another is add object concepts into temporal logics [9] S. Flake and W. Mueller. An OCL extension for real-
([6]). The work in both streams increases the complexity of time constraints. In Object Modeling with the OCL,
the extended language and obstacles of the usage. pages 150–171, 2002.
[10] Y. Fu, Z. Dong, and X. He. A Methodology of
6. Conclusion and Future Works Automated Realization of a Software Architecture
Design. In Proceedings of The Seventeenth
In this paper, we have presented an integrated approach for International Conference on Software Engineering and
transferring an architecture description represented in UML Knowledge Engineering (SEKE2005), 2005.
to a formal architecture model represented in SAM, which [11] H. J. Genrich. Predicate/Transition Nets. Lecture Notes
not only supports design level analysis but also automated in Computer Science, 254, 1987.
code generation with run-time verification capability. The [12] M. Gogolla and F. P. Presicce. State Diagrams in UML:
specific details of the approach, outlined in the algorithms A Formal Semantics using Graph Transformations. In
in Section 3, are likely to evolve as our research on the Proceedings of International Conference of Software
relationship between UML and software architectures Engineering, Workshop on Precise Semantics of
deepens; however, we believe that the approach is flexible Modeling Techniques, pages 55–72, 1998.
and general enough to accommodate needed new changes. [13] H. Gomaa. Designing Concurrent, Distributed, and
As pointed out by Medvidovic in the work [27] ensuring Real-Time Applications with UML. Addison-Wesley
system properties at the level of architecture is of little value Professional, 2000.
unless it can also be ensured that those properties will be [14] K. Havelund and G. Rosu. An overview of the runtime
preserved in the resulting implementation. This reflects the verification tool java pathexplorer. Journal of Formal
importance of the code generation and runtime verification Methods in System Design, 2004.
of system properties in the implementation. Our automated [15] X. He and Y. Deng. A Framework for Specifying and
code generation and run-time verification approach nicely Verifying Software Architecture Specifications in SAM.
addresses the above research issue. volume 45 of The Computer Journal, pages 111–128,
2002.
Acknowledgements We appreciate for all reviewers to read [16] C. Hofmeister, R. L. Nord, and D. Soni. Describing
this paper. This work is supported by Title III under grant Software Architecture with UML. In Proceedings of the
PO31B085057-08. TC2 1st Working IFIP Conference on Software
Architecture (WICSA1), pages 145 – 160, 1999.
[17] M. Kim, S. Kannan, I. Lee, and O. Sokolsky. Java-
References MaC: a Run-time Assurance Tool for Java. In
[1] Uml 2.0 specification. http://www.omg.org/ Proceedings of RV’01: First International Workshop
technology/documents/formal/uml.htm. on Runtime Verification, Paris, France, Electronic
[2] Enhancing Structured Review with Model-Based Notes in Theoretical Computer Science. Elsevier
Verification. IEEE Transaction on Software Science, 2001.
Engineering, 30(11):736–753, 2004. Member-Issa [18] S.-K. Kim, D. Burger, and D. Carrington. An mda
Traore and Member-Demissie B. Aredo. approach towards integrating formal and informal
[3] N. Am´alio, S. Stepney, and F. Polack. Formal proof modeling languages. In FM 2005: Formal Methods,
from uml models. In ICFEM’04, volume 3308 of International Symposium of Formal Methods Europe,,
Lecture Notes in Computer Science, pages 418–433, volume 3582 of Lecture Notes in Computer Science,
2004. pages 448–464, 2005.
[4] D. B. Aredo. Semantics of UML statecharts in PVS. In [19] S.-K. Kim and D. Carrington. Formalizing the UML
Proceeding of 12th Nordic Workshop on Programming Class Diagrams Using Object-Z. In UML’99: The
Theory, Bergen, Norway, 2000. Unified Modeling Language - Beyond the Standard,
[5] M. Clavel, F. J. Dur´an, S. Eker, P. Lincoln, N. Mart´ı- Second International Conference, volume 1723 of
Oliet, J. Meseguer, and J. F. Quesada. Maude: Lecture Notes in Computer Science, 1999.
Specification and Programming in Rewriting Logic. [20] S.-K. Kim and D. Carrington. A Formal Mapping
http://maude.csl.sri.com/papers, March 1999. between UML Models and Object-Z Specifications.
[6] D. Distefano, J.-P. Katoen, and A. Rensink. On a Lecture Notes in Computer Science, volume 1878,
Temporal Logic for Object-Based Systems. In S. F. pages 2–21, 2000.
Smith and C. L. Talcott, editors, Formal Methods for [21] P. Kruchten. The 4+1 view model of architecture. IEEE
Open Object-Based Distributed Systems IV - Proc. Software, 12(6):42–50, 1995.
FMOODS’2000, Stanford, California, USA, September [22] K. Lano, D. Clark, and K. Androutsopoulos. UML to B:
2000. Kluwer Academic Publishers. Formal Verification of Object-Oriented Models. volume
[7] Z. Dong and X. He. Integrating UML State-chart and 2999 of Lecture Notes in Computer Science, pages 187–
Collaboration Diagrams Using Hierarchical Predicate 206,2004.
Transition Nets. In GI Lecture Notes in Informatics, [23] D. Latella, I. Majzik, and M. Massink. Automatic
2001. Verification of a Behavioural Subset of UML Statechart
[8] G. Engels, R. Heckel, and J. M. K¨uster. Rule-based Diagrams Using the SPIN Model-checker. Formal
specification of behavioral consistency based on the Aspects of Computing, 11(6):637 – 664, 1999.
UML meta-model. volume 2185, pages 272–284, 2001.
(IJCNS) International Journal of Computer and Network Security, 7
Vol. 2, No. 5, May 2010

[24] D. Latella, I. Majzik, and M. Massink. Towards a [38] Jiexin Lian, Zhaoxia Hu, Sol M. Shatz. Simulation-
Formal Operational Semantics of UML Statechart based analysis of UML statechart diagrams: methods
Diagrams. In Proceedings of the 3rd IFIP International and case studies. Software Quality Journal. 16(1),
Conference on Formal Methods for Open Object-based March, 2008. ISBN: 0963-9314. Springer Netherlands.
Distributed Systems, pages 331–347, February 1999. [39] Rafael M. Borges and Alexandre C. Mota. Integrating
[25] S. W. Lewandowski and X. He. Generating Code for UML and Formal Methods. Electronic Notes in
Hierarchical Predicate Transition Net Based Designs. In Theoretical Computer Science (ENTCS). Volume 184.
Proceedings of the 12th International Conference on Page 97-112. July 2007. Elsevier Science Publishers.
Software Engineering & Knowledge Engineering, pages
15–22, Chicago, U.S.A., July 2000. Authors Profile
[26] J. Lilius and I. P. Paltor. The Semantics of UML State
Machines. Technical Report 273, Turku Centre for Yujian Fu received the B.S. and M.S. degrees in Electrical
Computer Science, 1999. Engineering from Tianjin Normal University and Nankai
[27] N. Medvidovic, D. S. Rosenblum, and D. F. Redmiles. University in 1992 and 1997, respectively. In 2007, she received
Modeling Software Architectures in the Unified her Ph.D. degree in computer science from Florida International
Modeling Language. ACM Transactions on Software University. She joined the faculty of Department of Computer
Science at the Alabama A&M University in the same year. Dr.
Engineering and Methodology, 11(1):2–57, January
Yujian Fu conducts research in the software verification, software
2002. quality assurance, runtime verification, and formal methods. Dr.
[28] H. Motameni. Mapping to Convert Activity Diagram in Yujian Fu also actively serves as reviewers of several top journals
Fuzzy UML to Fuzzy Petri Net. World Applied Sciences and prestigious conferences. She continuously committed as a
Journal, 3(3): 514 – 521, 2008. ISBN: 1818-4952. member of IEEE, ACM and ASEE.
[29] T. Murata. Petri Nets: Properties, Analysis and
Applications. Proceedings of the IEEE, 77(4):541–580, Zhijiang Dong received the B.S. and M.S. degrees in Huazhong
1989. Tech University, Ph.D. degree in computer science from Florida
[30] J. S. e. a. Paul Clements, Len Bass. Documenting International University. He currently is assistant professor at
Software Architectures: Views and Beyond. Addison- Middle Tennessee University. Dr. Dong’s research is mainly in the
software engineering. Dr. Dong also actively serves as reviewers of
Wesley, January 2003.
several top journals and conferences. He continuously committed
[31] S. Ramakrishnan and J. McGregor. Extending OCL to as a member of IEEE, ACM.
Support Temporal Operators. In 21st International
Conference on Software Engineering (ICSE 99), Xudong He is a professor of school of computing and
Workshop on Testing Distributed Component-Based information science and director of center for advanced and
Systems, May 1999. distributed system engineering at Florida International University.
[32] J. E. Robbins, N. Medvidovic, D. F. Redmiles, and D. Dr. He’s research are software engineering, formal verification and
S. Rosenblum. Integrating architecture description specification. Dr. He currently has over one hundred publications
languages with a standard design method. In ICSE ’98: in prestigious journals and conferences.
Proceedings of the 20th international conference on
Sha Li is an associate professor at department of curriculum,
Software engineering, pages 209–218, Washington, teaching and educational leadership, school of education of
DC, USA, 1998. IEEE Computer Society. Alabama A&M University. Dr. Sha Li received his doctorial
[33] G. Rosu and K. Havelund. Rewriting-Based Techniques degree of educational technology from Oklahoma State University,
for Runtime Verification. Journal of Automated 2001. Sha Li' research interests include distance education,
Software Engineering, 2004. instructional technology, instructional design and multimedia for
[34] J. Saldhana and S. M. Shatz. UML Diagrams to Object learning.
Petri Net Models: An Approach for Modeling and
Analysis. In Proceedings of the International Phil Bording is an associate professor and chair of department of
computer science at Alabama A&M University. Dr. Phil Bording
Conference on Software Engineering and Knowledge
received his Ph.D. degree in computer science from University of
Engineering, pages 103–110, 2000. Tulsa in 1995 and M.S. degree from University of Alabama at
[35] T. Sch¨afer, A. Knapp, and S. Merz. Model Checking Huntsville in 1984. Dr. Bording’s research area is parallel
UML State Machines and Collaborations. Electronic computing.
Notes in Theoretical Computer Science, 55(3):1–13,
2001.
[36] M. Shaw and D. Garlan. Software Architecture:
Perspectives on an Emerging Discipline. Prentice Hall,
1996.
[37] P. Ziemann and M. Gogolla. An Extension of OCL with
Temporal Logic. In Critical Systems Development with
UML – Proceedings of the UML’02 workshop, pages
53–62, TUM, Institut fur Informatik, TUM-I0208,
September 2002.

Das könnte Ihnen auch gefallen