inpkhmini08a
TRANSCRIPT
-
8/8/2019 inpKhMiNi08a
1/5
Representation of UML Activity Models as Ontology
Ali Hanzala Khan, Abid Ali Minhas Moazzam Fareed Niazi Department of Computer & System Sciences Department of Information Technology
Royal Institute of Technology-KTH, Sweden University of Turku, Finland
{hanzala, aaminhas} @kth.se [email protected]
Abstract
Ontology is a conceptual model that is used to
represent the concepts in a domain and relationshipbetween the concepts. It can be used for sharing andreuse of the knowledge that allows humans and
machines to exchange diverse information. A process
is a series of activities that result in an outcome.
Processes can be shared and reused by creating a
repository that keeps all the information about them.Such a repository can serve us independent of the
domain for which a process is modeled. Process
modeling is a technique for the graphical
representation of a process. Among many process-
modeling techniques, UML Activity Model is acommonly used process-modeling notation and isadopted for our research. This research aims at to
provide a solution for representing UML Activity
Model as an Ontology expressed in OWL. A method is
proposed for this purpose that defines mapping rules
between a UML Activity Model and Ontology. Toevaluate the validity and usefulness of our research acase study is conducted. Military action scenario,
modeled using UML Activity Model, is taken as input.
Consequently they are mapped into ontology, thus
expressing behavioral knowledge captured in theprocess as OWL ontology.
1. Introduction
Process Modeling is the graphical representation of
processes that capture, manipulate store, and distribute
data between a system and its environment and amongcomponents within a system [1]. Such a model
identifies constructs that are used to define and
represent a process in graphical form. Commonly used
process models arePetri Nets [2], UML Activity model
[3], UML Sequence Diagram [4] andBPMN(Business
Process Modeling Notation) [5].
Ontology is a conceptual model which is used to
represent the concepts in a domain and relationship
across them [6]. Researchers propose the use of
ontologies for sharing and reuse of the knowledge that
allows humans and machines to exchange diverse
information [7]. OWL (Web Ontology Language) [8]
is a current standard for specifying such ontologies.
The UML behavioral models are process modelsthat contain information, which can be stored using a
knowledge representation format like ontology. A
process, business activity or workflow can be
transformed into ontology for this purpose. Such a
format will aid the information to be shared and reused
by domain experts without understanding the concepts
and notations of ontology.
Past research regarding UML Models to Ontology
transformations was limited to mapping UML Class
diagrams to Ontology [9-11]. Efforts like [9, 12, 13,
14, 15, 16] are successful to extent of mapping Static
Structural Models into ontology. Behavior models like
Petri Nets [2], UML Activity model[3], UML SequenceDiagram [4] and BPMN[5] that illustrates work flowand business processes are not significantly addressed.
UML Activity model is widely used approach for
process modeling. Consequently we have chosen this
model for our desired purpose. Currently, a limited
research is available on how we should represent the
behavioral knowledge captured in an UML activity
model using the same OWL ontology language.
2. UML Behavioral model to OWL
According to our proposed method, a UML activity
diagram is modeled in a UML modeling tool, forexample, Poseidon for UML, a UML based modeling
tool. The tool exports an XMI, which is embedded
with the behavioral knowledge expressed in a
particular UML activity diagram. This XMI serves as
input to mapping application as shown in Figure 1. On
the other hand we have target process ontology
-
8/8/2019 inpKhMiNi08a
2/5
expressed in OWL. This ontology is specially modeled
to match the needs of our research.
The mapping rules are scripted in form of XML
Style sheet Language Transformation XSLT;XSLT is a
language for transforming XML documents into other
XML documents [17]. XSLT together with XMI
representation of UML activity diagram is used as
input to the mapping application. The output is OWL
ontology expressing the behavior knowledge
represented by activity diagram; Figure 1 depicts a
detailed overview of our proposed solution.
Figure 1. Proposed solution
2.1. Target Ontology
Translation of UML Activity Diagram into ontology
requires the use of predefined target ontology. Target
ontology needs to be expressive enough to capture the
information contained in a UML Activity Diagram.
There exist many process ontologies such as Open
Source Business Management Ontology [18], Biological Process Ontology [19], Software Design
Process Ontology [20] and Gene Ontology [21]. But
they are domain specific and are not readily usable for
representing a generic process. There are some otherontologies like A Process Ontology [22] and OWL-Sthat support generic process representation. None of
these can be used as it is for our research. But a
thorough examination reveals that OWL-S is very
suitable for the cause if we modify OWL-S to build our
target ontology.
OWL-S is an OWL based ontology proposed for
description of web services [23]. It enables automatic
discovery, invocation, composition and interoperation
of web services for software agents. OWL-S consists
of three parts i.e.service profile,service groundingand
service process model. Service profile tells what a
service does where as service grounding encloseinformation necessary for a user to interact with the
service. Process model describes the procedure for
service execution illustrating the input, output and
activities involved in course of action. Service process
model of OWL-S is closely related to what we need as
target ontology to capture the semantics of UML
activity diagram.
OWL-S process ontology is modified to obtain a
process ontology that will serve the purpose of this
research. We are excluding UAD-OWL target ontology
figure because of the space reason but its accessible
on one of the authors homepage at [24]. Following is
a summary of UAD-OWL target ontology.
Process class represents a process.Control Construct is a class concept with sub class
concepts Merge, Fork, Choice, Perform, Join and
Decision. These classes represent the UML activity
diagram control constructs.
Activity is a class concept with sub class concepts Atomic Activity and Composite Activity. Composite
activity represents the process as whole. Atomic
activity represents the activities or tasks to complete
the process. The sub class concepts of atomic activity
capture detailed information of each activity, for
example, time limit, loop etc.
List class concept has a sub class concept named asControl Construct List used to maintain the
information regarding the sequence of graphical
control constructs of a UML activity diagram.
UAD-OWL ontology will serve as a repository of
processes. It is capable of expressing the behavioral
knowledge represented by processes modeled using
UML activity diagram. This repository will facilitate
sharing and reuse of different processes. UML-OWL
can be viewed in an ontology-modeling tool such as
Protg [25].
2.2. Mapping Rules
This section describes how constructs across the two
models are related at conceptual level. This leads to
realization of correspondence between source model
and target model notations. Table 1 represents an
overview of the way control constructs of OWL
ontology map to UML Activity Diagram constructs.
A UML activity diagram can have six different
types of control constructs i.e. Fork, Join, Transition,
Decision, Merge and State. In UAD-OWL ontology
there is class concept Control Constructthat can servethis purpose. It has six sub classes named as Fork,
Choice, Perform, Join and Decision. Accordingly
Fork, Join, Transition, Decision, Merge and State from
UML activity diagram are mapped onto Fork, Join,
Transition, Decision, Merge and State class constructsof OWL respectively.
Table 1 summarizes the correspondence between
above mentioned constructs across two models.
-
8/8/2019 inpKhMiNi08a
3/5
Type UML 2.0 UAD-OWL
Control Construct Fork Fork
Join Join
Transition Choice
Decision Decision
Merge Merge
State Perform
Activity State Action Task
Model Composite Activity
Table 1. Construct mapping at conceptual level.
A UML activity diagram models activities involved
in a process. The process modeled is labeled as Modeland each activity are labeled as State. Proposed
ontology has class concepts as Atomic Activity and
Composite Activity. State and Model constructs from
UML are mapped into Atomic Activity and Composite
Activity constructs of OWL respectively.
The association between vocabularies of the two
models, as shown in Table 2, tends towards the general
rules for transformation. These rules can be followed
for translation of UML Activity to OWL ontology.
Thus mapping at implementation level can beachieved. XML Metadata Interchange (XMI) is a
standard for exchanging metadata information via
XML. OWL is also a XML schema. All we need is to
transform one XML document to another XML
document. For that reason we have identified
relationship between UML metadata XMI tags and
OWL tags. Summary of the relationship between
source XMI and target OWL is presented in Table 2.
Table 2. Construct mapping at implementation level.
3. Related Work
Woong Kim and Kyong-Ho Lee propose a method
for Describing semantic web services: From UML toOWL-S [26], they are using XSLT to transform
activity model into ontology, Table 3 and Table 4
shows the comparison of Kims method with UAD-
OWL method mapping rules at conceptual and
implementation level respectively.
Table 3. Mapping rulescomparison at conceptual level
Table 4. Mapping rulescomparison at implementation level
4. Case Study
4.1. Base Object Models (BOMs)
The Simulation Interoperability Standards
Organization (SISO) focuses on facilitating simulation
interoperability across governmental and non-
governmental application worldwide. SISO has
proposed Base Object Models (BOMs) [27] as amethod to support and promote reuse of simulation
components.
Base Object Models (BOMs) provide a component
framework for facilitating interoperability, reuse, and
compatibility. The assumption behind BOMs is that
piece parts of models, simulations, and federations can
be extracted and reused as modeling building or
components. The interplay between simulations can be
captured in the form of reusable patterns. The patternof interplay is sequence of events between simulation
elements. BOMs capture the representation of the
pattern. Simulation conceptual model found in BOMs
contain information on how conceptual entities andconceptual events, representing real world entities,
relate or interact with each other in real world. This
information is illustrated in the form of patterns of
interplay andstate machines.
UML-XMI OWL
Construct XML Tag Construct Kim
XMLTag
UAD-OWL XML
Tag
Model Process X
Join Join X
Decision
Decision X
Type UML 2.0 Kim-OWL UAD-OWL
Control
Construct
Fork Split Fork
Join Join Join
Transition X Choice
Decision Choice Decision
Merge X Merge
State X Perform
Activity
State X Action Task
Model X CompositeActivity
UML-XMI OWL
Construct XML Tag Construct UAD-OWL XML Tag
Model Process
Fork Fork
Transition Choice
Merge Merge
-
8/8/2019 inpKhMiNi08a
4/5
4.2. Test Case
This section is about the transformation of activity
model for the Target Entity of a Weapon Effects BOM
in to OWL.
4.2.1. State machine of the target entity
In this case study, the only conceptual entity
identified for fulfilling the state machine is the
TargetEntity. The details of a conceptual entity, such
as TargetEntity, are defined separately within a BOM.
Each state transition is carried out by an exit action.
Details of the exit actions, such as Weapon Fire
Action, Munition Detonation Action, and Damage
State Update Action, including their dependency on
an event type or BOM to carry out the pattern action,
maybe provided elsewhere in the BOM using the
pattern of interplay template component.
Table 5. State machine for target entity.
4.2.2. Activity Diagram
We use Poseidon for UML PE 5.0.1 for the
modeling of state machine for Target Entity as mention
in section 4.2.1.
Figure 2. Weapons effect BOM using UMLActivity Diagram.
Each block identifies a sate, and the message lines
between states represent the pattern action that takes
place, thereby satisfying that exit condition.
4.2.3. Transformation
After Activity modeling we extract metadata in
form of XMI from Poseidon, then send this XML as
input into XSLT Processor parallel with XSLT
Mapping rules. The output of XSLT processor [28]
will be an OWL file which contains output ontology.
The output ontology can be viewed at [24] because of
the space limitations.
5. Conclusion and Future work
In this paper, we proposed a solution to problemsof representing behavioral knowledge expressed in
UML activity diagram as OWL ontology. According to
our proposed method, a UML activity diagram is
modeled in a UML modeling tool. An XMI is exported
from the tool, which encloses the behavioral
knowledge expressed in a particular UML activity
diagram. The XMI is the input to XSLT Processor. On
the other hand we have designed target process
ontology expressed in OWL. This ontology is specially
modeled to match the needs of our research.
The mapping rules are script in form of XML Style
sheet Language Transformation XSLT is used to script
the mapping rules in the form of XML. XSLT together
with XMI representation of UML activity diagram is
used as input to the XSLT Processor. The output is
OWL ontology expressing the behavior knowledge
represented by activity diagram.
In future we shall work on other frequently used
process models like Petri Nets, UML Sequence
Diagram and BPMN (Business Process ModelingNotation).
6. References
[1] Process Modeling Definition. Available from:http://www.cbu.edu/~lschmitt/I351/glossary.htm
[2] Petri Nets. Information available from:http://www.petrinets.info/
[3] Braun et al. UML Activity model. Available from:
http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/activity.htm
[4] Donald Bell. UML Sequence Diagram. Available
from:http://www.ibm.com/developerworks/rational/library/3101.html
[5] Object Management Group (OMG). Business ProcessModelling Notation. Available from:
http://www.bpmn.org/[6] T. R. Gruber, 1993, A translation approach to portable
ontologies.KnowledgeAcquisition, 5(2), pp. 199-220.
http://portal.acm.org/citation.cfm?id=173747
[7] Stanislav Ustymenko, 2005, Ontology-SupportedSharing and Reuse of Knowledge in Diverse
Environments, in Proceedings of the 43rd annual
StateMachine
Name
ConceptualEntity
StateNote
State Name Exit Condition
Exit Action Next State
Target
States
Target
Entity
Ready Weapon Fire Action Under Fire Na
Under Fire Munition DetonationAction
ImpactDetonation
Na
ImpactDetonation
Damage State UpdateAction
Ready Na
-
8/8/2019 inpKhMiNi08a
5/5
Southeast regional conference - Volume 2, pp. 347-348, Kennesaw, Georgia.
[8] W3C Consortium. Web Ontology Language (OWL).Available from: http://www.w3.org/2004/OWL/
[9] Stephen Cranefield. UML and the Semantic Web.In
proceedings of the International Semantic WebWorking Symposium (SWWS), pages 113-130, 2001.
[10] Baclawski et al. Extending UML to support ontology
engineering for the semantic web in the bookUML2001 The Unified Modeling Language. Modeling
Languages, Concepts, and Tools, pages 342-360.
[11] Kabilan, V., Johanneson, P., UML for ontology
modeling and interoperability. Proceeeding of 1st INTEROP-EMOI Open Workshop on EnterpriseModels and Ontologies for Interoperability, Co
Located with CAiSE, 2004.
[12] Falkovych et al, 2002, UML for the Semantic Web:
Transformation-based Approaches. Available from:http://www.cwi.nl/~media/publications/UML_for_SW.
pdf.
[13] D. Djuric et al Ontology Modeling and MDA,Journal of Object Technology, vol. 4, no. 1, pp. 109-128, 2005. Available from:http://www.jot.fm/issues/issue_2005_01/article3.
[14] Grnmo, R. et al. Transformations between UML andOWL-S,Proceedings of the 1st European Conferenceon Model Driven Architecture: Foundations and
Applications, Nuremberg, Germany, pages 269-283,2005.
[15] S. Cranefield and M. Purvis, UML as an ontologymodeling language. Proceedings of the Workshop on
Intelligent Information Integration, 16th International
Joint Conference on Artificial Intelligence (IJCAI-99),1999.
[16] H. Na, O. Choi, J. Lim, A Method for Building
Domain Ontologies based on the Transformation ofUML Models, Fourth International Conference onSoftware Engineering Research, Management and
Applications (SERA'06) pp. 332-338, 2006.
[17] W3C Consortium. XML Style sheet LanguageTransformation. Available from:http://www.w3.org/TR/xslt
[18] Jenz & Partner. Open Source Business Management
Ontology (BMO). Available from:http://www.bpiresearch.com/Resources/RE_OSSOnt/re
_ossont.htm
[19] The GO Consortium. Biological Process Ontology.
Available from:http://www.geneontology.org/GO.process.guidelines.shtml
[20] Wongthongtham et al. Software design processontology development in Meersman, R. and Tari, Z.and Herrero, P. (ed), 2nd IFIP WG 2.12 & WG 12.4
International Workshop on Web Semantics (SWWS) inconjunction with OTM 2006, pages 1806-1813,
Montpellier, France, Oct 29 2006. Springer-Verlag,USA.
[21] The GO Consortium. Gene Ontology. Availablefrom: http://www.geneontology.org/
[22] Aitken et al. A Process Ontology. Springer Berlin /Heidelberg, ISBN: 978-3-540-44268-4, pages 263-270,Date: January 01, 2002.
[23] D. Martin et al. OWL-S: Semantic Markup for WebServices. Available from:http://www.daml.org/services/owl-s/1.1/overview/
[24] UAD-OWL target ontology figure. Informationavailable from:http://users.utu.fi/moania/Innovation08/
[25] Protg. http://protege.stanford.edu/
[26] Kim et al., Describing Semantic Web Services: FromUML to OWL-S. ICWS 2007. IEEE International
Conference on Web Services. 9-13 July 2007, pp 529-536, 2007.
[27] SISO Based Object Model product development group.Base Object Model (BOM) Template Specification.
Available from:
www.boms.info/spec/BOM_Specification_v2006_FINAL.pdf
[28] XSLT Processor XALANhttp://xml.apache.org/xalan-j/