Change propagation analysis for system modeling using semantic web technology Change propagation analysis for system modeling using semantic web technology Change propagation analysis for system modeling using semantic web technology Change propagation analysis for system modeling using semantic web technology Change propagation analysis for system modeling using semantic web technology Change propagation analysis for system modeling using semantic web technology
Trang 1Contents lists available atScienceDirect
Advanced Engineering Informatics journal homepage:www.elsevier.com/locate/aei
Full length article
Change propagation analysis for system modeling using Semantic Web
technology
Haoqi Wanga,⁎, Vincent Thomsonb, Chengtong Tanga
a School of Mechanical Engineering, Beijing Institute of Technology, China
b Department of Mechanical Engineering, McGill University, Canada
A R T I C L E I N F O
Keywords:
Model-based systems engineering
System modeling language
Engineering change management
Change propagation analysis
Ontology
Semantic Web technology
A B S T R A C T
Change propagation potentially affects many aspects of a SysML-based system model during the iterative process
of Model-Based Systems Engineering (MBSE) However, few authors have addressed the implication of en-gineering change and its impact To address having a successful change process, this article analyzes and ex-plicitly represents different scenarios of how a system model is changed from a formal perspective, i.e., how a system model should be changed, and how model elements should be added, deleted or modified in response to design changes A workflow is introduced to guide the change process taking change propagation into account Second, change impact relationships among requirements, behaviors, and structures of the system model are formalized by an ontology to make the semantics both human-understandable and machine-readable Reasoning rules are defined as well in order to improve automation of the change process Finally, an experiment using a water distiller system showed that the identification of change impact information could help designers complete the change in less time and with higher quality
1 Introduction
Systems modeling of contemporary products using model-based
systems engineering (MBSE) is an iterative process involving
re-presentations of multiple views, e.g., requirements, behaviors, and
structures The systems modeling language (SysML) is a key enabler in
MBSE approaches for creating a system model[1] During the modeling
process, system design evolves through many modifications until it is
feasible Accordingly, the SysML-based system model, which produces
the primary artifacts from a system design, has to be modified
fre-quently A single design change may lead to unexpected effects on other
model elements For example, an added requirement to the original
system design of a water distiller causes changes to the distiller
beha-vior, decomposition structure and internal structure that are tedious to
make [2] So, Engineering Change Management (ECM) of the system
model plays a pivotal role for a successful implementation of MBSE
As one of the ECM methods, the SysML-based methodology can
evaluate change situations arising from system design by representing
requirements, behaviors, structures and their relationships in a
con-sistent way[3] However, few authors have addressed the implication
of engineering change and its impact or the implication of different
approaches to design implementation, such as, technology,
modular-ization and make-or-buy [4] Although allocation relationships in
SysML are able to enhance the traceability of a system model[5], they are insufficient for specifically describing how change is propagated to impacted model artifacts In practice, it is always time consuming for designers to identify and change impacted model elements manually One reason is that requirements and scenarios are not always fully
defined, and thus, design changes require considerable analysis in order
to decide upon feasible approaches As a consequence, in order to keep the system model compatible with design changes, designers have to spend most of their time finding which model elements should be changed given how changes are propagated throughout the design and which types of changes should be executed for specific model elements For instance, in order to change the initial system design of a water distiller, more than 60 model elements were required to be added, deleted or modified[2]
Accordingly, limited to a formal perspective, not an engineering perspective where changes to detailed design parameters, such as the dimension, weight, and material of components, are taken into account, this paper addresses an approach that should be used for MBSE mod-eling when reasoning about change propagation To determine this approach we focus on three questions:
(1) How can the approach help designers to understand what needs to
be changed in the systems modeling process?
https://doi.org/10.1016/j.aei.2017.11.004
Received 4 May 2017; Received in revised form 25 November 2017; Accepted 29 November 2017
⁎ Corresponding author.
E-mail addresses: Haoqi.wang@mail.mcgill.ca (H Wang), vince.thomson@mcgill.ca (V Thomson), tangcht@bit.edu.cn (C Tang).
1474-0346/ © 2017 Elsevier Ltd All rights reserved.
T
Trang 2(2) If a change happens in a specific SysML diagram, how can the
ap-proach help designers know how other related diagrams need to be
changed?
(3) What procedures can be automated when modifying system
en-gineering models due to change propagation?
In order to answer these questions, first, this paper categorizes
different scenarios of the SysML modeling change process into three
subclasses and establishes a change propagation model Second, the
Web Ontology Language (OWL) is used to formalize the change
pro-pagation information, based on which reasoning rules are defined to
help designers to understand which SysML diagrams and model
ele-ments need to be changed, and then, guides them through the tedious
process of manually changing SysML models Third, possible
automa-tion of the process is investigated
2 Research background
2.1 Previous work about change impact analysis for the system model
Existing research on the impact of change on the system model in
MBSE can be divided into two classifications One is comprehensive
research on using the analytic capability of matrix-based
representa-tions The second is research on predicting the change propagation risk
by checking the inconsistency and incompatibility of the changed
system model
Thefirst classification focuses on establishing a Design Structure
Matrix (DSM) or a Multiple Domain Matrix based on SysML diagrams,
and then, using these matrixes to predict the impact of change[6–12]
Matrix-based representations offer magnificent analytic criteria to
achieve system understanding [10] Clarkson et al.[6] developed a
Change Propagation Method using numeric DSMs for the first time
Hamraz et al [7]extended the Change Propagation Method by
in-troducing Function-Behavior-Structure models Hamraz et al.[8]
fur-ther detailed the ontology of the Function-Behavior-Structure linkage
method to provide a uniform framework for developing models
Waldman and Sangal[9]were thefirst to construct a DSM that unites
the various views of SysML models Maisenbacher et al.[10]illustrated
the translation of SysML diagrams with network structures to their
matrix representation as a DSM or Multiple Domain Matrix, so as to
identify indirect dependencies in a system model Nonsiri et al.[11]
proposed a method for identifying the propagation path of changed
requirements by integrating a SysML model with a higher order DSM
Fei et al [12] developed a matrix-based method to analyze change
propagation between components of a product based on functional and
structural SysML models
The second classification mainly studies checking the inconsistency
and incompatibility of changed system designs to predict change
pro-pagation risk[13–16] By considering mechanical, software and
elec-trical⧹electronic incompatibility of changed mechatronic systems, an
interdisciplinary SysML-based approach, called SysML4Mechatronics,
for analyzing change influences was proposed by Kernschmidt and
Vogel-Heuser[13] Feldmann et al.[14]formalized the incompatible
information of the change influences of mechatronic manufacturing
systems by integrating systems modeling with semantic technologies
Kernschmidt et al [15] extended SysML-based incompatibility
checking to the entire system lifecycle Nejati et al.[16]suggested how
to automaticallyfind out the impact of changes to requirements based
on a system design expressed by SysML models through computing
reachability through inter-block dataflow and intra-block data as well
as controlflow dependencies
However, as listed inTable 1, change impact analysis of a
SysML-based system model, only a few of the works have investigated the
change process itself when an engineering change happens, i.e., how
the design or system model should be modified, and which model
elements should be added or deleted in response to design changes
Two such studies partially involve change implementation[17,18] Lin
et al.[17]proposed a workflow to combine change request manage-ment with model-driven engineering for industrial automation soft-ware In the technical review phase, affected model elements of the change requirements were identified, and a change solution was pro-posed In the impact analysis phase, processes that guide designers to change SysML models were provided However, several limitations still exist First, the method for identifying impacted model elements is only available for restricted situations where the impact of complex changes
to requirements, behaviors, and structures cannot be fully represented
by SysML cross-cutting relationships alone In SysML, a cross-cutting relationship is a kind of mapping relationship which can be established between any two model elements There are two types of mapping re-lationships,① the intra-domain relationships, i.e., the links between elements within a given domain, and② the inter-domain relationships, i.e., the links between elements across two domains[5] A cross-cutting relationship is the latter, i.e., an inter-domain relationship Second, besides the existing system model, two more SysML-based models should be created to represent impacted model elements and the cor-responding change solution For a system model with large SysML diagrams, this is obviously time-consuming Jiang et al [18] estab-lished a function-behavior-structure model of product design history to predict the effect of function change on the final product structures More importantly, what should be changed during the system design is clearly defined However, in contrast with SysML, the function-beha-vior-structure model covers only partial information of a system model For example, for the structure layer of the function-behavior-structure model, only assembly relationships are described The items, such as signals, energy or data, whichflow across different components, are not specified
Based on the above analysis, this paper emphasizes the need to improve the SysML model change process itself For enabling designers
to understand which SysML diagrams and model elements should be changed, scenarios for each change type and their change propagation information should be specified and formalized
2.2 Semantic Web technology
With regard to the many information representation technologies, Semantic Web technology [19] is being accepted by an increasing number of industries due to its strong semantic and logic expression capabilities Semantic Web technology provides the foundation for the representation of an ontology, which defines specific vocabularies of domain concepts and their semantic relationships[20] According to Zhang et al.[23],“the World Wide Web Consortium has contributed much towards standardizing the specification necessary for Semantic Web technology” by introducing the Resource Description Framework (RDF) and the RDF Schema[21] In order to enhance knowledge re-presentation, the World Wide Web Consortiumfinalized the OWL[22]
by extending the expressive power of the Resource Description Fra-mework and the RDF Schema However, there are many semantic re-lations that cannot be specified explicitly by the OWL ontology
Table 1 Change impact analysis of a SysML-based system model.
Approach In change stage
Impact analysis
Implementation
Matrix-based approach [9–12] Yes No Inconsistency and incompatibility contrast
approach [13–16]
Yes No Analyzing the change workflow [17] Yes Partially done Specifying the change situations of system
functions, behaviors, and structures [18]
Yes Partially done
Trang 3especially in the reasoning process[23] The Semantic Web Rule
Lan-guage (SWRL)[24]is an OWL-based rule language and it enables users
to write rules in regard to OWL concepts so as to give more
influen-tial referring capabilities than OWL alone
In this paper, OWL is used to formalize concept elements and their
semantic relationships for change propagation information SWRL rules
are defined to determine impacted model elements that should be
changed
3 Approach
Fig 1 describes an overview of a general system model change
process Different kinds of operations are classified in four rounded
rectangles with dotted lines From left to right,first, data from different
views, such as functional requirements, behaviors and structures are
put into a repository in order to manage the system model Second,
different SysML diagrams, like the Requirement Diagram, Activity
Diagram, Block Definition Diagram (BDD) and Internal Block Diagram
(IBD), are applied to represent the model Third, if the current design
does not perform as expected, for example, a new requirement is
needed or an existing component should be replaced, the system model
is changed as necessary to develop a feasible solution For example,
with the change of some functional requirements, impacted behaviors
and structures in the system model are changed After the design
change process, the result is a set of updated SysML diagrams Fourth,
during the change process, how the modeling elements are impacted by
the original change is identified in specific diagrams and how to
im-plement the changes is the set of objectives (shaded inFig 1) for the
proposed approach For example, when new actions are added to an
activity diagram for realizing a new functional requirement, impacted
elements such as actions, output pins, input pins and objectflows that
need to be deleted, added or modified accordingly in the diagram are
identified automatically The proposed approach is expected to infer
how the system model should be changed, and which model elements should be added, deleted or modified in response to design changes, such that the designer is guided to change the system model without needing to search for impacted SysML models manually
The proposed approach integrates system models with Semantic Web technologies as shown inFig 2 First, general change scenarios of the SysML model are analyzed and categorized, and a process for changing the system model according to change propagation is estab-lished Second, the change propagation information is formalized using the OWL ontology Third, by using predefined SWRL rules, impacted SysML elements can be identified
3.1 General change scenarios of SysML modeling What deserves illustration before analyzing different change sce-narios is that changes in this paper are regarded as indispensable ad-justments implemented on SysML diagrams in order to satisfy design change demands rather than changes that occur due to unexpected errors such as using a satisfy relationship to connect a requirement with its derived requirement or creating an output pin for an inputflow
In thefirst place, based on design change demands, model artifacts that should be changed directly are specified Changes implemented on any one of these are categorized into three subclasses: addition, dele-tion or modificadele-tion
Addition The act of adding a model artifact means creating, drawing and putting it into a changed diagram, in which case if the new artifact has relationships with other artifacts, more changes are required For instance, when a new block is created and added to a BDD as a part of
an assembly, a composition association should be added as well be-tween the new block and the block representing the assembly
As depicted inFig 3, one of four scenarios occurs when a new model artifact is added Because SysML is a graphical representation language, the added artifact is either a node, e.g., a function, a
Repository
System
structures
System
behaviors
System
function
requirements
Requirement Diagram
IBD
Activity Diagram
Requirement Diagram
Original changed FR
Changed Requirement Diagram
Analyze and change the Requirement Diagram
Changed Activity Diagram
Impacted actions
Analyze and change the Activity Diagram
Changed IBD & BDD
Impacted blocks
Analyze and change the IBD & BDD
Reasoned impacted elements
Impacted blocks, ports, interfaces, connectors, partAssociation relationships and their change types are identified
Impacted actions, input pins, output pins, item flows and their change types are identified
Impacted function requirements and their change types are identified
Satisfied by
Allocated to
A i i
BDD IB
Trace to
Fig 1 System model change process showing the proposed approach.
Trang 4requirement or a component, or an edge, e.g., an hierarchical
re-lationship between two components that bridges two nodes So, for
simplicity, only two nodes and one edge are used to represent the
ori-ginal diagram Diagrams with more model artifacts can be analyzed by
combing the four scenarios
As for the first scenario inFig 3, an independent node is added
having no relationship with other artifacts For instance, a shutdown
action indicating the termination of all of the actions of a particular
activity is a kind of independent node in the activity diagram In the
second scenario, an edge is added for linking two nodes A new node
with a corresponding edge is added in the third change scenario In the
last scenario, a new node is inserted between two nodes when two new
edges are added and the original edge is deleted In addition, the
complexity of the four addition scenarios increases from thefirst to the
last due to the growing number of impacted artifacts
Deletion The act of deleting a model artifact means removing a node
or edge in a specific diagram When a node is deleted, edges connecting the node with other nodes should also be deleted However, an edge can
be deleted without changing related nodes
Fig 4exhibits three kinds of deletion actions An edge is deleted alone in thefirst scenario A node is deleted by removing its related edge in the second scenario In the third scenario, a node is deleted followed by removing two edges, by which the deleted node is con-nected to the other two nodes
Modification The rearrangement and property change of model ar-tifacts are taken into account as two sub-categories of modification actions: the layout modification and the property modification Fig 5shows layout modifications where a node is moved to a new place in scenario 1 and where the edge of the modified node is further rearranged in scenario 2 Modifying the property of a node or edge is a property modification, as depicted in scenarios 3 and 4 inFig 5 For example, items thatflow between two blocks can be modified to change material requirements The change can be in part properties to increase performance, or in the service of a standard port to update a software program
If a new modeling element is added into a SysML diagram, the layout of the diagram has to be changed For example, the location and size of a new block, which represents a new component, should be modified to ameliorate the readability of the changed diagram
Section 3.1 and 3.2
General change scenarios of the SysML model
are analyzed.
A process for changing the system model
considering change propagation is established
Section 3.3
S ti 3 3
Formal representation of the change
propagation model is defined using the OWL
ontology
Section 3.4
Rules for inferring impacted SysML elements
are defined.
Fig 2 Integrate MBSE approach with Semantic Web technology to identify impacted
SysML elements.
1
3
4 2
Unchanged node Added node Unchanged edge Added edge
Complexity
Fig 3 Addition of a new model artifact.
2
3 1
Unchanged node Deleted node Unchanged edge Deleted edge
×
×
×
×
Fig 4 Deletion of a model artifact.
1
2
3
4
Unchanged node Modified node (property)
Modified edge (layout) Unchanged edge
( Modified node (layout)
Modified edge (property)
Fig 5 Modification of a model artifact.
Trang 53.2 Process for changing the system model with change propagation
After specifying different scenarios of how the system model is
changed in MBSE, the following section illustrates how a change affects
other model artifacts, and then, establishes a workflow to guide the
change process taking change propagation into account
An original design change is said to propagate when it is reflected in
different model artifacts For example, a deleted system functional
re-quirement can result in the deletion of corresponding artifacts that
represent system behaviors or structures Change propagation can be
recognized by combining the cross-cutting relationships of SysML with
the different change scenarios in Section3.1
In this paper, a SysML requirement diagram is used for expressing
system requirements and their relationships; system behavior is
mod-eled by a SysML activity diagram; a SysML BDD and an IBD are used for
capturing system structure
In different SysML diagrams, the nodes and edges that need to be
changed are not regarded in the same way Partial SysML model
ele-ments are provided in Table 2in a requirement diagram where
re-quirements are considered as nodes that are related by containment
links and drive links In an activity diagram, actions are defined as
nodes, which are connected byflows between their input and output
pins In a BDD, nodes are defined as blocks related by part associations
and generalization links In an IBD, nodes are items that are exchanged
between block ports by connectors
In addition, cross-cutting relationships can document mappings
among SysML diagrams[2], and those used in the change process of the
system model are displayed in Fig 6 A functional requirement in a
requirement diagram is satisfied by a block in a BDD and is traced to an
activity or action in an activity diagram Actions are allocated to a block
in a BDD that executes these actions A pin and connector of an action
in an activity diagram are allocated to a port and a connector of a block
in an IBD A block in a BDD has a dependency relationship with a block
in an IBD
A process is illustrated inFig 7that describes how to change dif-ferent SysML diagrams in general, according to pre-specified change scenarios when changes are propagated First, the change type is de-termined Second, the change scenario is selected Third, according to the specific change type and scenario, nodes and edges in the SysML diagram are added, deleted or modified Last, if a change is completed, impacted model artifacts in another SysML diagram are identified through cross-cutting relationships; else, a new round of change pro-cedures for changing the same diagram begins again
One of the dominant steps in the SysML diagram change process is the identification of impacted model artifacts in other SysML diagrams using cross-cutting relationships, which is shown in the bottom, shaded textbox inFig 7 For instance, if a requirement in a specific require-ment diagram is deleted, its impacted actions, blocks and related pins, flows, connectors, etc are identified by the ≪trace≫, ≪allocate≫,
≪satisfy≫ and ≪depend≫ relationships in the activity diagram, and the corresponding IBD and BDD are identified and removed as well Fig 8 exhibits this identification and removal process First, by the trace relationship, the activity and its pin andflow in the corresponding activity diagram are identified and deleted Then, based on three allo-cation relationships, the identified block and part association in the BDD diagram, and the block, port, and connector in the IBD are deleted
In addition, impacted model artifacts and modification scenarios can be identified in a similar way
3.3 Ontology for change propagation information Based on the specification of change scenarios that use a system model and a change process for documenting change propagation, this section formalizes the change propagation information using the OWL ontology
3.3.1 Basic SysML-based system model ontology The basic concept elements of a SysML-based model and element semantic relationships are createdfirst SysML model artifacts include the SysMLDiagram, SysMLNode and SysMLEdge classes As shown in Fig 9, the elements are further categorized according to a SysML spe-cification For example, SysMLEdge that bridges two SysML nodes is classified into the IntraDiagramEdge and InterDiagramEdge classes The IntraDiagramEdge class means edges in the same diagram, whereas the InterDiagramEdge class stands for edges between two different kinds of diagrams BDD, IBD, ActivityDiagram, and RequiementDiagram are sub-classes of the SysMLDiagram
Table 2
SysML diagrams, nodes and edges used in a system model.
Diagram type Nodes Edges
Requirement diagrams Requirements Containment links, derive
links Activity diagrams Actions, pins,
parameters
Control flows, object flows BDDs Blocks Part associations,
generalization links IBDs Blocks, ports Connectors
Trace
Allocate
Depend
Allocate Allocate
Satisfy
Fig 6 Uses of cross-cutting relationships.
Trang 6Besides hierarchical model artifacts, there are other semantic
re-lationships among the artifact concepts, like ‘‘hasRequirement”,
“hasBlock”, “allocate” and ‘‘satisfy”, etc According to Zhang et al
[23],”semantic relationships are usually defined as object properties of
the ontology by means of which retrieval and tracking from one artifact
to another artifact within a diagram or between two different diagrams
become possible.”Fig 10exhibits partial semantic relationships among
model artifacts
3.3.2 Change propagation information ontology
Basic SysML-based system model ontology provides the foundation
for the representation of change propagation information Concept
elements about SysML change process information and their semantic
relationships are described in this section
Changed SysML model artifacts are classified into the ChangedNode and ChangedEdge classes as described inFig 11 Instances of changed model elements can be existing SysML nodes and edges that are docu-mented in the basic SysML-based system model ontology They are associated with specific SysML diagrams by “hasChangedNode” and
“hasChangedEdge” object properties, and they are associated with changed nodes or edges by the“belongTo” property Furthermore, the
“propagateTo” object property associates a changed model artifact with the original artifact
Furthermore, attributes of the change propagation information on-tology are represented by data properties, which associate objects with
different data types Some of these attributes are illustrated inFig 12
Determine the change type
Determine the addition scenario deletion scenarioDetermine the
Determine the modification scenario
[type==addition] [type==modification]
[type==deletion]
Add an
independe
nt node
Add an edge
Add a node with an edge
Insert a node
Delete
an edge
Delete a node with
an edge
Delete a node with two edges
Modify the layout of a node
Modify a property of
a node
Modify the layout of
an edge
Modify a property of
an edge
Is the change compelte?
[No]
Identify impacted model artifacts in other SysML diagrams using cross-cutting relationships
[Yes] Change another
diagram
Fig 7 Change process of SysML diagrams.
Trace
Allocate
Depend
Allocate Allocate
Satisfy
×
×
×
×
Deleted nodes
Deleted edges
Fig 8 A deleted requirement and its propagation identification using cross-cutting relationships.
Trang 7For example, the “hasAddScenario” data property connects a SysML
diagram with different additional scenarios as illustrated inFig 4by
the enumeration, {“add_1”, ”add_2”, “add_3”, “add_4”}; the
“isChan-gedNode” property of a node is “True” when the node in a specific
SysML diagram is changed, whereas the“isImpactedNode” property of
a node is “True” when the node should be changed due to change
propagation The data properties of are exhibited inTable 3
3.4 SWRL rules for inferring impacted model elements
The ontology defined above can provide the concept knowledge
model for change propagation information of the system model in
MBSE In this section, SWRL is used to define rules that can be added to
the inference engine for assisting the ontology to complete the
rea-soning and retrieval of change propagation information Compared to
research by Zhang et al [23], inverse relations, mutual exclusion
re-lations, domains and ranges are defined in the same way However,
Zhang et al [23]use OWL and SWRL to represent the semantics of
design rationale information, such as design issue, solution, argument
and artifact In contrast, this paper focuses on change of the
propaga-tion informapropaga-tion of SysML based system models, such as requirements,
behaviors, structures, changed modeling elements and impacted
mod-eling elements
First, according to Zhang et al.[23],“in addition to part of the
built-in OWL relations and properties, the semantics of the user-defined re-lations and properties need to be explicitly defined by axiom rules”, such as inverse, transitive and disjoint axioms For example, domains and ranges of classes and properties of the ontology are restricted
OWL: Thing
SysMLDiagram
SysMLNode
SysMLEdge
ActivityDiagram ActivityDiagram RequirementDiagram
BDD IBD
Block Pin
Action
A ti Requirement
InterDiagram
Edge
IntraDiagram Edge
AllocateEdge DependentEdge SatisfyEdge TraceEdge
Connector ContainmentLink ObjectFlow DriveLink Generalization PartAssociation owl: subClassOf
Fig 9 A partial SysML model artifacts hierarchy.
SysMLEdge
SysMLNode
SysMLDiagram
hasNode
hasEdge
Requirement
Diagram BDD
Block Requirement
Pin
hasRequirement
satisfy
hasPin
ObjectFlow hasObjectFlow
hasBlock
ActivityDiagram
Action hasAction
Connector
trace
IBD
hasConnector
allocate
partOf
contain owl: subClassOf
objectProperty
InterDiagramEdge
Port hasPort
allocate
Fig 10 Some semantic relationships among SysML model artifacts.
OWL: Thing
SysMLNode
ChangedEdge
owl: subClassOf
SysMLDiagram
hasChangedNode
hasChangedEdge
objectProperty
ChangedNode
SysMLEdge
propagateTo
propagateTo Action
Block
Pin Requirement
belongTo
Connector ObjectFlow
DriveLink PartAssociation
belongTo
belongTo belongTo belongTo
belongTo belongTo belongTo impactDiagram
Fig 11 Some changed SysML model artifacts and their semantic relationships.
SysMLDiagram
SysMLNode
SysMLEdge
Enumeration
Boolean
Boolean
Enumeration hasDeleteScenario
Enumeration hasModifyScenario
isChangedNode Boolean
isImpactedNode isChangedEdge
Boolean isImpactedEdge
Boolean
Boolean isChangedDiagram
isImpactedDiagram hasAddScenario
hasNode
hasEdge
owl: subClassOf objectProperty dataProperty datatype
Fig 12 Some attributes of changed SysML model artifacts.
Table 3 Data properties of the change propagation information ontology.
Data property Domain Range hasAddScenario SysMLDiagram {add_1, add_2, add_3, add_4}
hasDeleteScenario SysMLDiagram {delete_1, delete_2, delete_3}
hasModifyScenario SysMLDiagram {modify_1, modify_2, modify_3,
modify_4}
isChangedDiagram SysMLDiagram Boolean isImpactedDiagram SysMLDiagram Boolean isChangedNode SysMLNode Boolean isImpactedNode SysMLNode Boolean isChangedEdge SysMLEdge Boolean isImpactedNode SysMLEdge Boolean shouldBeAdded Boolean shouldBeDeleted Boolean shouldBeModified Boolean
Trang 8“propagateTo” and “impactedBy” properties are used to represent the
semantic relationships when a change is propagated from a model
element to another model element where a model element is impacted
by a changed one So, the two object properties are mutually inverse
and can be defined as:
= propagateTo(? x,? y) impactedBy(? y,? x)
InterDiagramEdge and IntraDiagramEdge classes are distinct from
each other where a SysML edge crosses two diagrams or is within a
diagram, respectively Therefore, relationships between the two classes
can be defined as:
InterDiagramEdge(? x)
IntraDiagramEdge(? x) Φ
Second, according to existing relationships, new relationships are
able to be reasoned through a set of rules When certain conditions are
satisfied, a new relationship can be derived by automatic reference For
instance, the following shows some of the existing relationships:
•hasNode(? d,? n): The instance d of the SysMLDiagram class has an
instance n in the SysMLNode class;
•hasDeleteScenario(? d,“delete2”): The deletion scenario of the SysML
diagram d is“delete_2”
•isChangedNode(? n,“true”): The instance n of SysMLNode class is a
changed node;
The change type of a node can be addition, deletion or modification
The “shouldBeDeleted” property is employed to test whether a node
should be removed from a specific diagram In order to become a
de-leted node, two conditions should be satisfied:
•The node should be a changed node
•The diagram in which the node is deleted should contain a certain
deletion scenario
Therefore, the shouldBeDeleted(? n,“true”) relation can be defined
as:
∧
→
hasNode(? d,? n)
hasDeleteScenario(? d,“delete2”)
shouldBeDeleted(? n,“true”)
As a deleted node must be a changed node, a new rule is obtained
and can be defined as:
→
shouldBeDeleted(? n,“true”)
isChangedNode(? n,“true”)
Last, a change propagation rule library is established so as to
exe-cute semantic reasoning These rules are formalized through SWRL and
added into the inference engine, such as the Drools Some example rules
are given inTable 4 In addition, the rules are constructed from three perspectives
(1) Reinforcing the semantics of the SysML cross-cutting relationships (2) Improving the semantic relationships from changed model elements
to impacted model elements
(3) Identifying the change type and scenario of model elements that
reflect change propagation
4 Demonstration 4.1 Design of a water distiller system and problems when changing it
The design of a water distiller system is used in this section to de-monstrate the proposed approach The International Council on Systems Engineering (INCOSE) originally developed the example for the initial evaluation of SysML The MBSE method used for specifying the system includes six iterative steps[2]: (1) organize the model, (2) capture requirements, (3) analyze model behavior, (4) analyze model structure, (5) analyze performance of the current design, and (6) change the design based on change demands
After the first four steps, the initial system model is created by SysML, as displayed inFig 13 In step (5), a problem is recognized after analyzing the performance of the current design: The boiler will over-flow because there is no place for all the water used for condensing the steam to go Therefore, the design is not feasible and requires change
In step (6), the system requirement (Distiller Requirement), beha-vior (Distill Water), decomposition structure (Distiller Breakdown) and internal structure (Distiller Internal Structure) are changed to address the initial design according to the change demand, i.e., provide enough space to store water so that the system does not overflow
However, during the change process, designers have to determine manually which model elements should be changed and what impact change propagation has on other model elements in related diagrams Fig 14exhibits changed SysML diagrams, change types and the number
of added, deleted and modified elements in step (6) In a practical change case, although the initial demand is just to add a new require-ment in the requirerequire-ment diagram, its impact is huge, which makes the work long and tedious As a result, it is hard for a designer not to make mistakes like forgetting to delete a model element impacted by a change or adding model elements in an irrelevant diagram
4.2 Using the ontology and rules to improve the change process
In order to improve the efficiency of the change process, informa-tion about the system model is documented in the change propagainforma-tion ontology, and rules are executed to help modelers identify impacted model elements with change types
Protégé (http://protege.stanford.edu) and the Drools rule engine that supports the execution of SWRL rules in Protégé are used for
Table 4
Some SWRL rules defined in the change propagation information ontology.
trace(? r,? a) satisfy(? b,? r) allocate(? a,? b) Traceability is complemented by semantic relationships.
contain(? x,? y) isChangedNode(? x,“true”) isImpactedNode(? y,“true”) A changed requirement impacts its sub-requirements.
satisfy(? b,? r) isChangedNode(? r,“true”) isImpactedNode(? b,“true”) A model element is impacted by a changed and related model element.
satisfy(? b,? r) isChangedNode(? r,“true”) isImpactedNode(? b,“true”)
→ propagateTo(? r,? b)
Change is propagated from a changed model element to an impacted model element.
hasAction(? x,? a) hasBlock(? y,? b) allocate(? a,? b) isChangedNode(? x,“true”)
∧ isChangeDiagram(? x,“true”) → isImpactedDiagram(? b,“true”)
A diagram is changed due to changes of model elements in other diagrams.
∧
hasEdge(? d,? e) hasDeleteScenario(? d,delete1)
→ shouldBeDeleted(? e,“true”)
Change type of a model element is tested by the change scenario in its SysML diagram.
hasNode(? d,? n) withEdge(? n,? e) shouldBeModified(? n,“true”)
→ shouldBeModified(? e,“true”)
A model element should be changed when there is a changed and related model element.
Trang 9modeling the ontology and processing the reasoning.Fig 15conveys a
graphical view of the reasoning framework, illustrating the
relation-ships between the change propagation information ontology and the
rules Information of the SysML-based system model is documented as
individuals, properties and axioms of the OWL ontology by the Protégé
ontology editor (Fig 16) Corresponding SWRL rules and appropriate
OWL knowledge are transferred to the Drools rule engine, which runs,
and then, passes the inferred knowledge back to Protégé
Distiller system requirements are changedfirst A new requirement
named S6.0 (Provide Space) should be added in the requirement
dia-gram It is derived from requirement S2.0 (Heat Exchanger) and S3.0
(Boiler) Based on Section3.2, the change type is an addition and the addition scenario is“add_2”, which is created as properties of the cor-responding model elements
Second, the impact of the requirement change is specified and identified through running the reasoning engine The result (Table 5) conveys that the impacted diagram is the Distill Water activity diagram, and the impacted elements are the Condense Steam, Heat Water and Boil Water actions, their pins and the objectflow between them The next step is to change the activity diagram In order to meet new requirement S6.0, an action called Divert Feed should be added The change process includes deleting objectflow between the Heat Water and Boil Water actions, inserting the new action, adding corresponding pins and new objectflows, and modifying their layout Therefore, three types of change are involved The change scenarios are “delete_1”,
“modify_1”, “modify_2” and “add_2” Rules are executed The result in Table 6shows that the impacted diagrams are the Distiller Breakdown Structure BDD and Distill Internal Structure IBD In the BDD, the dis-tiller block is impacted; in the IBD, the“shouldBeDeleted” property of
<<trace>>
<<allocate>>
<<satisfy>>
<<allocate>>
<<depend>>
Fig 13 Initial system model and relationships among diagrams [2]
Number of
changed
elements
Changed SysML Diagram Distiller
Requirement
(Req)
Distill Water (Act)
Distiller Internal Structure (IBD)
Distiller Breakdown (BDD)
5
10
2
6
11
3 2
2
0
9
1
9
0 Addition Deletion Modification
Fig 14 Changed model elements in each SysML diagram.
Change propagation
Protégé ontology editor
Drools rule engine OWL+SWRL->Drools Drools->OWL
Fig 15 Reasoning framework using the Protégé and Drools rule engine.
Trang 10interface main2: H2O between the condenser and evaporator blocks is
“true” due to the change propagated from the deletion in the activity
diagram, and the impacted blocks “shouldBeMmodified The change
process enables designers to understand that adding a new requirement,
S6.0 Provide Space in the requirement diagram, requires adding a new
action named Divert Feed and deleting the correspondingflow in the
activity diagram, such as the H2O stream between the Heat Water
ac-tion and the Boil Water acac-tion
In the same way, the BDD and IBD can be changed with the help of the reasoning capability Due to the paper’s limited space, the detailed change is not discussed The identified impacted elements and change types are listed inTable 7 However, the shouldBeAdded properties that are in italics inTable 7are identified manually not automatically, be-cause there is no way to extract semantic information from uncreated model elements The reason is that, for the system to identify a neces-sary addition, any added scenario due to changed model elements would have to be specified in advance For instance, when a block re-presenting a new component is added in a specific IBD, the addition of input or output pins needs to be identified based on the semantics of the scenario; therefore, the addition of the new component cannot be identified automatically
4.3 Discussion
In the design of the water distiller system, SysML diagrams, model elements, changed information, their semantic relations and properties are explicitly represented and documented based on the ontology More significantly, according to the general process of changing the system
Fig 16 Partial ontology of the distiller system re-quirements.
Table 5
Partially identified impact from the requirement change.
Reasoned property Domain Range
isChangedDiagram Distiller_System_Requirements true
isImpactedDiaram Distill_ Water true
impactDiagram Distiller_System_Requirements Distill_ Water
propagateTo S6.0 (requirement) Condense_Steam
propagateTo S6.0 (requirement) Heat_Water
propagateTo S6.0 (requirement) Boil_Water
shouldBeModified S6.0 (requirement) true
shouldBeModified derive_S2.0 (deriveLink) true
Table 6
Some identified impacts from the change behavior.
isChangedDiagram Distill_Water true
isImpactedDiagram Distiller_Decomposition_Structure true
impactDiagram Distill_Water (activity diagram) Distiller_Breakdown_Structure
propagateTo Heat_Water (action) distiller (block)
shouldBeModified evaporator (block) true
isImpactedDiaram Distill_Internal_Structure true
impactDiagram Distill_Water (activity diagram) Distill_Internal_Structure
propagateTo of2 (object flow) main2: H2O
shouldBeDeleted main2: H2O (interface) true
propagateTo Heat_Water (action) condenser (block)
propagateTo Heat_Water (action) evaporator (block)
shouldBeModifed distiller (block) true
shouldBeModified condenser (block) true