<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Petri Nets Based Approach for Modular Verification of SysML Requirements on Activity Diagrams</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Messaoud</forename><surname>Rahim</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">FEMTO-ST Institute</orgName>
								<orgName type="laboratory">UMR CNRS 6174</orgName>
								<address>
									<settlement>Besançon</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Malika</forename><surname>Boukala-Ioualalen</surname></persName>
							<affiliation key="aff1">
								<orgName type="department" key="dep1">MOVEP</orgName>
								<orgName type="department" key="dep2">Computer Science department</orgName>
								<orgName type="institution">USTHB</orgName>
								<address>
									<settlement>Algiers</settlement>
									<country key="DZ">Algeria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ahmed</forename><surname>Hammad</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">FEMTO-ST Institute</orgName>
								<orgName type="laboratory">UMR CNRS 6174</orgName>
								<address>
									<settlement>Besançon</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Petri Nets Based Approach for Modular Verification of SysML Requirements on Activity Diagrams</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">CCC03A784B7AE18261689B002A9D35BA</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T22:55+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>SysML</term>
					<term>Activity Diagram</term>
					<term>SysML Requirements</term>
					<term>Requirements Formalization</term>
					<term>Modular Verification</term>
					<term>Petri nets</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The validation of SysML specifications needs a complete process for extracting, formalizing and verifying SysML requirements. Within an overall approach which considers an automatic verification of SysML designs by translating both requirement and behavioral diagrams, this paper proposes a modular verification of SysML functional requirements on activity diagrams. The contribution of this paper is the proposition of a methodology guided by the relationships between requirements and SysML activities for verifying complex systems with many components. We propose a model-to-model transformation to automatically derive from SysML activities a modular Petri net, then SysML requirements are formalized and verified using the derived Petri net modules. A case study is presented to demonstrate the effectiveness of the proposed approach.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Model-based systems engineering is becoming a promising solution to design complex systems. SysML (System Modeling Language) <ref type="bibr" target="#b0">[1]</ref> is a standard modeling language which has been proposed to specify systems that include heterogeneous components. It covers four perspectives on system modeling : structure, behavior, requirement, and parametric diagrams. Particularly, the SysML requirement diagram is used for better organizing requirements at different levels of abstraction, allowing their representation as model elements, and showing explicitly the various kinds of relationships between requirements and design elements <ref type="bibr" target="#b1">[2]</ref>. However, one of the main challenge in system design is to ensure that a model meets its requirements. To provide a validation of SysML specifications, existing approaches <ref type="bibr" target="#b2">[3]</ref><ref type="bibr" target="#b3">[4]</ref><ref type="bibr" target="#b4">[5]</ref> propose to translate SysML behavioral models into formal specification languages, then they verify temporal properties by using modelchecking techniques. These approaches ignore systems composition and do not relate system requirements to design elements. The activity diagram is one of SysML models used to specify the system behavior and where requirements can be verified. Based on using the call behavior action concept, a modular design of complex systems can be obtained by structuring its behaviour in many activities. This provides a compositional specification and enables modular analysis of the specified systems <ref type="bibr" target="#b5">[6]</ref>. Requirements can be expressed as properties to verify by an activity diagram during its execution. Unfortunately, the need for formal specifications of properties expressed using logics or automata is a major obstacle for the adoption of formal verification techniques by SysML practitioners <ref type="bibr" target="#b6">[7]</ref>. The contribution of this paper is the proposition of a methodology which provides a modular verification of functional SysML requirements captured by activity diagrams. It consists on: (1) performing a compositional translation from SysML activity diagrams into modular Petri nets where modular PNML <ref type="bibr" target="#b7">[8]</ref> is used as target language. (2) proposing a new language (AcTRL : Activity Temporal Requirement Language) to express functional requirements related to activities and showing how AcTRL expressions can be automatically translated into properties expressed as temporal logic formulas. Finally, (3) presenting a modular verification algorithm. The compositional translation enables the modular verification by considering the decomposition of activity diagrams into sub-activities and the use of AcTRL avoids the specification of SysML requirements directly as properties of the formal semantic model (Petri nets in our case). This paper is organized as follows. Section 2 surveys related works. Section 3 presents related concepts. Section 4, introduces our overall methodology. In Section 5, we present a compositional translation from SysML activities to modular Petri nets. In Section 6, we define AcTRL and its grammar. An algorithm for modular verification of requirements will be presented in section 7. In Section 8, we illustrate our approach by a case study. Finally, in Section 9, we conclude and we outline future works.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Work</head><p>Ensuring the correctness of complex and critical systems needs automated approaches for verifying and validating their designs. In <ref type="bibr" target="#b2">[3]</ref>, authors propose to derive for each SysML behavioral diagram a formal semantic model reflecting its characteristics. In this work, requirements was expressed as temporal properties on the formal semantic model which makes the verification process difficult for SysML practitioners. Linhares et al <ref type="bibr" target="#b8">[9]</ref> designed a process for verifying SysML specification by considering block, activity and requirement diagrams and where requirements must be expressed using Linear Temporal Logic(LTL). In <ref type="bibr" target="#b3">[4]</ref>, authors propose TEPE, a graphical temporal property expression language based on SysML parametric diagram to express system requirements. This work is restricted to state machine diagrams. Regarding activity diagram, a symbolic model checking was proposed in <ref type="bibr" target="#b9">[10]</ref>, where activity diagram is translated into SMV and the NuSMV model checker was used to verify LTL properties. Data flows were not considered in this work. In <ref type="bibr" target="#b10">[11]</ref>, the authors present a technique to map the SysML activities to time Petri net for validating the requirements of real-time systems with energy constraints. This work considers non functional requirements. The work presented in <ref type="bibr" target="#b11">[12]</ref> proposes a model-driven engineering approach for simulating SysML activity diagram using Petri net and VHDL-AMS. This work focuses on defining rules to translate SysML diagram elements to Petri net specification but it does not consider compositional structure of activity diagrams. To our knowledge, the present work is the first that considers a modular verification of SysML requirements by taking into account their relations to activities.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Preliminaries</head><p>In this section, we present SysML requirement and activity diagrams as described in the OMG standard <ref type="bibr" target="#b0">[1]</ref>. In addition, we describe modular PNML language <ref type="bibr" target="#b7">[8]</ref> for representing modular Petri nets.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">SysML requirement diagram</head><p>Requirements in SysML are defined in an informal way with an identifier and a text. Requirement diagrams are used for specifying requirements and to depict their hierarchy and the exiting relationships between them and other SysML models. As depicted in Figure <ref type="figure" target="#fig_0">1</ref>, the &lt;&lt;Verify&gt;&gt; relationship is a dependency between a requirement and a test case that can determine whether a system fulfills the requirement <ref type="bibr" target="#b0">[1]</ref>. The &lt;&lt;deriveReqt&gt;&gt; relationship is a dependency between two requirements. It is used to derive a requirement from another. Other relationships exists, we refer to <ref type="bibr" target="#b0">[1]</ref> for a detailed description. In this paper, we exploit the &lt;&lt;Verify&gt;&gt; relationship, to determine the activities which are used to verify requirements. We derive from functional requirements, more formal requirements described as properties about activity diagram elements. For tractability purpose, the &lt;&lt;deriveReqt&gt;&gt; relationship will be exploited to relate between natural text and the more formal requirements.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">SysML activity diagram</head><p>In this section, we introduce only a brief description of the SysML activity diagram and its elements, more details can be found in <ref type="bibr" target="#b0">[1]</ref>. In SysML, an activity is a formalism for describing behaviour that specifies the transformation of inputs to outputs through a controlled sequence of actions. The basic constructs of an activity are actions and control nodes as illustrated in Figure <ref type="figure" target="#fig_1">2</ref>. Actions are the building blocks of activities, each action can accept inputs and produces outputs, called tokens. These tokens can correspond to anything that flows such as information or physical item (e.g., water, signal). Control nodes include fork, A specific type of action is the call behavior action. A call behavior action permits to invoke an activity when it starts, and passes the tokens from its input pins to the input parameter nodes of the invoked activity. A call behavior action terminates when its invoked activity reaches an activity final, or when the action receives a control disable. The tokens on the output parameter nodes of the activity are placed on the output pins of the action and a control token is placed on each of the control outputs of the action.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">PNML for Modular Peri nets</head><p>The Petri Net Markup Language (PNML) <ref type="bibr" target="#b12">[13]</ref> is an interchange format for all kinds of Petri nets. It is currently standardised by ISO/IEC JTC1/SC7 WG 19 as Part 2 of ISO/IEC 15909 <ref type="bibr" target="#b12">[13]</ref>. The main features of PNML are its readability which is guaranteed by its XML syntax, its universality to support different Petri net type and its mutuality guaranteed by the use of common principals and common notations <ref type="bibr" target="#b7">[8]</ref>. To address real world systems which are too large to be drawn on single page, the PNML provide a net type independent mechanism for structuring large Petri nets. Two mechanisms are proposed, pages and modules.</p><p>The concept of pages is used with the concept of references to structure the nets </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Overall methodology</head><p>In this section, we describe our methodology for verifying SysML requirements on activity diagrams. First, the SysML designer creates requirement and activity diagrams to specify the system. Then, he drives from functional requirements, which are related to the activity diagram by a &lt;&lt;Verify&gt;&gt; relationship, temporal requirements described as properties about activity diagram elements. After that, an automatic translation process is used to transform this SysML specification into a formal specification. The SysML activity diagram is translated into modular Petri net and temporal requirements into formal properties described as temporal logic formulas. A Petri Net tool will be used to check if these requirements are verified in the derived Petri net modules. The verification will be guided by the existing &lt;&lt;Verify&gt;&gt; relationships between requirements and activities. Finally, a feed back is given to the SysML designer to correct his specification. As our approach is modular, in the case of the non satisfaction of a requirement, the generated feed back can give a more accurate indication about the sub activity and the actions which are related to the design error. The Figure <ref type="figure" target="#fig_3">4</ref> summarizes the steps of our methodology. In this section, we describe our translation of SysML activity diagrams into modular PNML. We propose to use the activity diagram meta-model defined in the TOPCASED tool <ref type="bibr" target="#b13">[14]</ref> as source meta-model and the modular PNML metamodel presented in Section 3.3 as target meta-model. Based on EMF( Eclipse Modeling Framework) with Ecore meta meta-model and ATL language <ref type="bibr" target="#b14">[15]</ref>, the transformations are defined as semantic and structural mappings based on the respective meta-models. The target model of the transformation is a modular Petri net described in modular PNML which preserve the structure and the semantic of the source SysML activity diagram model.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Mapping the structure</head><p>The transformation must preserve the composite structure of the SysML activity diagram in the target Petri net model. When the SysML activity diagram includes a call behavior actions to define composite activities, the derived Petri net will be composed of modules. Each sub-activity is translated into Petri net module.</p><p>The Figure <ref type="figure" target="#fig_4">5</ref> illustrates the derivation of the Petri net modular structure according to the activity decomposition. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Translating SysML activity constructs</head><p>The translation of basic activity constructs is inspired from the work presented in <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b5">6]</ref>. So, as we are interested to preserve the composite structure of the SysML activity diagram, we have adapted this translations mainly for input and output pins. The Figure <ref type="figure" target="#fig_5">6</ref> presents the used translation rules.</p><p>Translating call behavior actions Three principal steps are considered when translating call behavior actions : The mapping of a call behavior action A that invokes an activity Act with one input and one output control flow, n input pins and m output pins is as presented in Figure <ref type="figure">7</ref>. The PNML code related to this translation includes definitions of Fig. <ref type="figure">7</ref>: Translation of call behavior action transitions, places and arcs related to step 1 and step 3. It must also include an instance of the Petri net module defined for the activity Act (see the next section). This instance is defined like in the following listing : &lt;instance id="A_Act" ref=URI#Act&gt; &lt;Paramassign parameter="ictparm" ref="ictpar"/&gt; &lt;Paramassign parameter="iparm1" ref="ipar1"/&gt; ...... &lt;Paramassign parameter="iparmn" ref="iparn"/&gt; &lt;/instance&gt; We signal that the nodes octpar, opar1, opar2, ....oparn (step 3) are instance reference places. They are defined in modular PNML like : &lt;InstRefPlace id="octpar" instance="A_Act" ref="octparm"/&gt; &lt;InstRefPlace id="opar1" instance="A_Act" ref="oparm1"/&gt; ..... &lt;InstRefPlace id="oparm" instance="A_Act" ref="oparmm"/&gt;</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Mapping Sub-Activities</head><p>As described in Section 5.1, sub-activities are translated into PNML modules. Activity parameters are for accepting inputs to an activity and providing outputs from it. An activity with input and output parameters is translated into PNML module as illustrated in Figure <ref type="figure" target="#fig_6">8</ref>. Input activity parameters are translated into </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">AcTRL: Activity Temporal Requirement language</head><p>As presented in Section 3.1, SysML requirements are described using an Id and natural text. To address this limitation, we propose AcTRL(Activity temporal requirement language) which can be used by SysML designers to express requirements to verify on activity diagrams. First, we define a high level representation of the activity diagram operational semantic as states/transitions system. Then, we define a set of predicate expressions which can be formulated about the states of activity diagram elements. To express temporal requirements related to the execution of an activity diagram, predicate expressions about activity elements are temporally quantified using the property specification pattern system proposed in <ref type="bibr" target="#b15">[16]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.1">Operational semantic of SysML activity diagram</head><p>During execution, at each instant, an activity has a specific state. This state is defined among others by : the activity status (not started, started, finished), the states of all its actions, the states of its input and output parameters and the value of all the local variables used to express guards defined to control the tokens flows. The state of an action is defined by : its status (active, not active), the states of its incoming and outgoing control flows and the states of its input and output pins. According to this description, the operational semantic of an activity diagram can be represented by a high level states/transitions system as depicted in Figure <ref type="figure" target="#fig_7">9</ref>. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.2">Predicate expressions about activity diagram elements</head><p>In this section, we present a sub-set of predicate expressions which can characterize the elements an activity diagram during its execution. Let ActivityN ame activity, of such predicate expressions are : 7. If actExp1, actExp2 are valid expressions, then actExp1 and actExp2 and actExp1 or actExp2 are valid expressions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.3">Temporal expressions</head><p>The idea of property specification pattern system <ref type="bibr" target="#b15">[16]</ref> is to allow users to construct complex properties from basic, assuredly correct building blocks by providing generic specification patterns (left side of Figure <ref type="figure" target="#fig_0">10</ref>) encoding certain elementary properties: existence, absence, universality, bounded existence, precedence (chains), and response (chains), each specialized for a set of different scopes (right side of Figure <ref type="figure" target="#fig_0">10</ref>) : globally, before R, after Q, between Q and R, after Q until R. Given an activity diagram, requirements about its execution are interpreted as Fig. <ref type="figure" target="#fig_0">10</ref>: Temporal pattern and scopes properties over the states of its elements. These states can be characterized by the predicate expressions defined above. The SysML designer derives from functional requirements the elementary predicate expressions, then, he formalizes requirements by quantifying the predicate expressions by the necessary patterns and scopes to get temporal requirements about the activity execution. In the following, is given the grammar of the AcTRL (&lt;Pred-exp&gt; is predicate expression as defined above): Functional requirements described using AcTLR can automatically translated into temporal logic formulas. A complete library is provided in <ref type="bibr" target="#b16">[17]</ref>, which propose translations into many formalisms (LTL, CTL, QREs, ...). So, we have to give a semantic for the defined predicate expressions according to the translation of activity diagram into Petri nets. As example, we consider the following predicate expression: [ActivityN ame].[actionN ame].isActive(), according to the translation of an action ( Figure <ref type="figure" target="#fig_5">6</ref> ) will be translated into (Marking(on_A) =&lt; 1 &gt;), a proposition which means : the place on_A contains the mark &lt; 1 &gt;.</p><p>As second example, the predicate expression [actionN ame].output[P inN ame] .isN otEmpty(), according to the translation of output pins (Figure <ref type="figure" target="#fig_5">6</ref>), will be translated into (Marking(P _OutApin)! =&lt;&gt;), which means : the place P _OutApin is marked.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Modular verification of requirements</head><p>Considering the compositional structure of activity diagrams can reduce the spatial and temporal complexity of their verification by model-checking. In this section, we propose an algorithm that guides the modular verification of SysML requirements on activities. We consider the verification of functional SysML requirements on a composite activity diagram where a set of call behavior actions is used to call set of activities. The proposed modular verification concerns the subactivities and the composite activities according to their relations with SysML requirements. We assume that all functional requirements related to activities are expressed in AcTRL and depicted in a requirement diagram. By exploiting the &lt;&lt; verif y &gt;&gt; relationships, we generate a set of associations Set-Req-act containing all couples (ReqId, ActName), where ReqId is a requirement related to the activity ActName by a &lt;&lt; verif y &gt;&gt; relationship. When performing the translation of an activity diagram into a modular Petri net, we generate a set of associations Set-ACT-PNM containing all couples (Act-Name, PNMname), where PNMname is a Petri net module translated from the activity ActName. When performing the translation of functional requirements expressed in AcTRL into temporal logic formulas, we generate a set of association Set-Req-LFor, which contains all couples (ReqId, lform), where Lform is a temporal logic formula derived from the requirement ReqId. The verification of requirements on activities is achieving according to the algorithm 1. Changing the design of a sub-activity may influence the verification of a requirement related to its main activity. For this reason, the requirements related to a composite activity are verified after the validation of all the requirements related to their sub-activities. The algorithm begins by verifying the requirements related to sub-activities, then it process the verification of requirements related to composite activities until it reaches the main activity. The algorithm has complexity depending on the complexity of the model-checking (the function check()). It process N check; where N is the number of requirements. In this section, we consider a Ticket Vending Machine(TVM) case study to illustrate our methodology. A TVM can be used to dispense tickets to passengers at a railway station. The behavior of the machine is triggered by passengers who need to buy a ticket. When passenger starts a session, TVM will request trip information from commuter. Passengers use the front panel to specify their boarding and destination place, details of passengers (number of adults and children) and date of travel. Based on the provided trip info, TVM will calculate payment due and display the fare for the requested ticket. Then, it requests payment options. Those options include payment by cash, or by credit or debit card. After that, the passenger chooses a payment option and processes to payment. After a success payment, the TVM prints and provides a ticket to passenger. We specify the function of TVM by the activity diagram shown in Figure <ref type="figure" target="#fig_9">11a</ref>. The activity diagram describes a composite activity which calls another activities. As example, we present the "process payment" sub-activity in the Figure <ref type="figure" target="#fig_9">11b</ref>.</p><p>We specify the requirements to verify by activities using requirement diagrams. As example, two requirements are presented in Figure <ref type="figure" target="#fig_1">12</ref>. They are expressed in AcTRL and related by a &lt;&lt; verif y &gt;&gt; relationship to activities. In this diagram extract, Set-Req-act = {(DREQ1, TicketVending), (DREQ2, Process Payment)}. From AcTRL expressions, we derive two logic formulas F1 and F2. As consequence, Set-Req-LFor = {(DREQ1, F1), (DREQ2, F2)}.</p><p>The activity diagram is translated into Petri net modules described in PNML. The running of the implemented ATL rules produces a XMI serialisation of the modular PNML document. The Figure <ref type="figure" target="#fig_10">13</ref> shows the structure of the derived . By applying the algorithm 1, F2 will be checked in "Module ProcessPayment" then F2 will be checked in "Petri net TicketVending". The translation from SysML activities to modular Petri net was fully automated using model to model transformation with ATL language. To illustrate the effectiveness of the proposed methodology, a practical case study was given.</p><p>As future work, we plan to automatize the translation of AcTRL expressions according to the translation of the activity diagram. Also, we plan to implement our methodology into complete framework. By completing these tasks, a SysML specification with requirements and activity diagram can be automatically verified using a Petri net tool. The next step will be the feedback of analysis results and their interpretation on SysML models.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 :</head><label>1</label><figDesc>Fig. 1: &lt;&lt;Verify&gt;&gt; and &lt;&lt;deriveReqt&gt;&gt; relationships in requirement diagram</figDesc><graphic coords="3,184.65,447.13,229.69,131.83" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 :</head><label>2</label><figDesc>Fig. 2: Activity diagram basic constructs</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 :</head><label>3</label><figDesc>Fig. 3: Extract of the defined meta-model for the modular PNML</figDesc><graphic coords="5,163.17,128.12,272.66,196.76" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 4 :</head><label>4</label><figDesc>Fig. 4: Overall methodology</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 5 :</head><label>5</label><figDesc>Fig. 5: The structure of the derived Petri net</figDesc><graphic coords="7,137.76,251.21,323.47,77.44" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 6 :</head><label>6</label><figDesc>Fig. 6: Translation of basic SysML AD constructs</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 8 :</head><label>8</label><figDesc>Fig. 8: Translation of Sub-activities</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Fig. 9 :</head><label>9</label><figDesc>Fig. 9: Operational semantic of activity diagram</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head></head><label></label><figDesc>&lt;AcTRL&gt;::= &lt;pattern&gt; &lt;scope&gt; &lt;pattern&gt;::= always &lt;Pred-exp&gt; | never &lt;Pred-exp&gt; | eventually &lt;Pred-exp&gt; | &lt;Pred-exp&gt; precededing &lt;Pred-exp&gt; | &lt;Pred-exp&gt; following &lt;Pred-exp&gt; &lt;scopes&gt; ::= globally | before &lt;Pred-exp&gt; | after &lt;Pred-exp&gt; | between &lt;Pred-exp&gt; and &lt;Pred-exp&gt; | after &lt;Pred-exp&gt; until &lt;Pred-exp&gt; 6.4 Translation into CTL/LTL formulas</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>Fig. 11 :</head><label>11</label><figDesc>Fig. 11: Activities for TVM</figDesc><graphic coords="14,133.32,361.82,334.97,178.96" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_10"><head>Fig. 13 :</head><label>13</label><figDesc>Fig. 13: Structure of the derived modular PNML</figDesc><graphic coords="15,188.49,128.12,222.02,148.01" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>The same expression can be defined for an output control flow. 3. If actionN ame is action from activity ActivityN ame and P inN ame is its input pin, then [actionN ame].input[P inN ame].isN otEmpty() is a valid predicate expression. The same expression can be defined for an output pin. 4. All the boolean OCL expressions about the objects manipulated in the activity ActivityN ame are valid predicate expressions. 5. All the boolean expressions about the local variables used in ActivityN ame are valid predicate expressions. 6. If actExp is a valid predicate expression, then not actExp is valid predicate expression.</figDesc><table /><note>1. If actionN ame is action from activity ActivityN ame, then [ActivityN ame].[actionN ame].isActive() is a valid predicate expression. Its value is True on a given state if actionN ame is on execution. 2. If actionN ame is action from activity ActivityN ame and ctlf N ame an incoming control flow of actionN ame, then [actionN ame].incoming[ctlf N ame].isN otEmpty() is a valid predicate expression.</note></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">PNSE'14 -Petri Nets and Software Engineering</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<ptr target="http://www.omg.org" />
		<title level="m">OMG: OMG Systems Modeling Language (OMG SysML TM ) Version 1.2</title>
				<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A SysML-based approach to traceability management and design slicing in support of safety certification: Framework, tool support, and case studies</title>
		<author>
			<persName><forename type="first">S</forename><surname>Nejati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sabetzadeh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Falessi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Briand</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Coq</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information and Software Technology</title>
		<imprint>
			<biblScope unit="volume">54</biblScope>
			<biblScope unit="page" from="569" to="590" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Verification and Validation in Systems Engineering: Assessing UML/SysML Design Models</title>
		<author>
			<persName><forename type="first">M</forename><surname>Debbabi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Hassaine</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Jarraya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Soeanu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Alawneh</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2010">2010</date>
			<publisher>Springer-Verlag New York, Inc</publisher>
			<pubPlace>New York, NY, USA</pubPlace>
		</imprint>
	</monogr>
	<note>1st edn</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">TEPE: a SysML language for timeconstrained property modeling and formal verification</title>
		<author>
			<persName><forename type="first">D</forename><surname>Knorreck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Apvrille</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>De Saqui-Sannes</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM SIGSOFT Software Engineering Notes</title>
		<imprint>
			<biblScope unit="volume">36</biblScope>
			<biblScope unit="page" from="1" to="8" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">ACTIVITYDIAGRAM2PETRINET : Transformation-Based Model In Accordance With The Omg SySML Specifications</title>
		<author>
			<persName><forename type="first">D</forename><surname>Foures</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Vincent</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pascal</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Eurosis, The 2011 European Simulation and Modelling Conference</title>
				<meeting>the Eurosis, The 2011 European Simulation and Modelling Conference</meeting>
		<imprint>
			<date type="published" when="2011">2011</date>
			<biblScope unit="page" from="429" to="434" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Modular and Distributed Verification of SysML Activity Diagrams</title>
		<author>
			<persName><forename type="first">M</forename><surname>Rahim</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hammad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ioulalen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">MODELSWARD 2013, 1st Int. Conf. on Model-Driven Engineering and Software Development</title>
				<meeting><address><addrLine>Barcelona, Spain</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="202" to="205" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Joint structural and temporal property specification using timed story scenario diagrams</title>
		<author>
			<persName><forename type="first">F</forename><surname>Klein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Giese</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Fundamental Approaches to Software Engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="185" to="199" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">The Petri net markup language</title>
		<author>
			<persName><forename type="first">W</forename><surname>Michael</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Ekkart</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Petri Net Technology for Communication-Based Systems</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="124" to="144" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Introducing the modeling and verification process in SysML</title>
		<author>
			<persName><forename type="first">Marcos</forename><surname>Linhares</surname></persName>
		</author>
		<author>
			<persName><surname>Vinicius</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rômulo</forename><surname>De Oliveira</surname></persName>
		</author>
		<author>
			<persName><surname>Silva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J-M And</forename><surname>Farines</surname></persName>
		</author>
		<author>
			<persName><forename type="first">François</forename><surname>Vernadat</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Emerging Technologies and Factory Automation (ETFA) IEEE Conference</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="344" to="351" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Symbolic model checking of UML activity diagrams</title>
		<author>
			<persName><forename type="first">R</forename><surname>Eshuis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Software Engineering and Methodology (TOSEM)</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="1" to="38" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">A Methodology for Mapping SysML Activity Diagram to Time Petri Net for Requirement Validation of Embedded Real-Time Systems with Energy Constraints</title>
		<author>
			<persName><forename type="first">E</forename><surname>Andrade</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Macie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Callou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Nogueira</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Third International Conference on Digital Society, ICDS&apos;09</title>
				<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="266" to="271" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Automation of SysML activity diagram simulation with model-driven engineering approach</title>
		<author>
			<persName><forename type="first">D</forename><surname>Foures</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Albert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Pascal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Nketsa</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2012 Symposium on Theory of Modeling and Simulation -DEVS Integrative M&amp;S Symposium. TMS/DEVS &apos;12</title>
				<meeting>the 2012 Symposium on Theory of Modeling and Simulation -DEVS Integrative M&amp;S Symposium. TMS/DEVS &apos;12<address><addrLine>San Diego, CA, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="page">6</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<author>
			<persName><surname>Pnml</surname></persName>
		</author>
		<ptr target="http://www.pnml.org" />
		<title level="m">Reference site for the implementation of Petri Net Markup Language (PNML)</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">The TOPCASED project: a toolkit in open source for critical aeronautic systems design</title>
		<author>
			<persName><forename type="first">P</forename><surname>Farail</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Goutillet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Canals</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Le Camus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Sciamma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Michel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Crégut</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Pantel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Ingenieurs de l&apos;Automobile</title>
		<imprint>
			<biblScope unit="page" from="54" to="59" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">ATL-eclipse support for model transformation</title>
		<author>
			<persName><forename type="first">F</forename><surname>Allilaire</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bézivin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Jouault</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Kurtev</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Eclipse Technology eXchange workshop (eTX) at the ECOOP 2006 Conference</title>
				<meeting>the Eclipse Technology eXchange workshop (eTX) at the ECOOP 2006 Conference<address><addrLine>Nantes, France</addrLine></address></meeting>
		<imprint>
			<publisher>Citeseer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">66</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Patterns in property specifications for finite-state verification</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">B</forename><surname>Dwyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">S</forename><surname>Avrunin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Corbett</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Software Engineering</title>
				<meeting>the International Conference on Software Engineering</meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="411" to="420" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<author>
			<persName><forename type="first">H</forename><surname>Alavi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Avrunin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Corbett</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Dillon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dwyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Pasareanu</surname></persName>
		</author>
		<ptr target="http://patterns.projects.cis.ksu.edu" />
		<title level="m">Specification Patterns</title>
				<imprint/>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
