inpkhmini08a

Upload: scorpio

Post on 10-Apr-2018

213 views

Category:

Documents


0 download

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/