<?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">Benefits of using Petri nets for cyber-physical systems&apos; controllers development in the classroom</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Luis</forename><surname>Gomes</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Science and Technology</orgName>
								<orgName type="institution" key="instit1">NOVA University Lisbon</orgName>
								<orgName type="institution" key="instit2">NOVA</orgName>
								<address>
									<country key="PT">Portugal</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="department">Center of Technology and Systems (CTS)</orgName>
								<orgName type="institution">UNINOVA</orgName>
								<address>
									<country key="PT">Portugal</country>
								</address>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="laboratory">Intelligent Systems Associate Laboratory (LASI)</orgName>
								<address>
									<country key="PT">Portugal</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><surname>Anikó Costa</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Science and Technology</orgName>
								<orgName type="institution" key="instit1">NOVA University Lisbon</orgName>
								<orgName type="institution" key="instit2">NOVA</orgName>
								<address>
									<country key="PT">Portugal</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="department">Center of Technology and Systems (CTS)</orgName>
								<orgName type="institution">UNINOVA</orgName>
								<address>
									<country key="PT">Portugal</country>
								</address>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="laboratory">Intelligent Systems Associate Laboratory (LASI)</orgName>
								<address>
									<country key="PT">Portugal</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Benefits of using Petri nets for cyber-physical systems&apos; controllers development in the classroom</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">F40E4CD6A3754C46B02D2EF0824CC973</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T18:58+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>Embedded controllers</term>
					<term>Modularity</term>
					<term>Composability</term>
					<term>Conflict resolution</term>
					<term>Petri nets</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Cyber-Physical Systems (CPS) are increasingly becoming widespread in our daily lives. The development of embedded controllers, as a major constituent of CPS, needs to cope with the impact of the sustained complexity increase verified during the last decades. Model-driven development strategies supported by graphical formalisms having precise semantics and interactive tools allowing model editing and composition, simulation, verification, and automatic code generation, can provide a highly efficient way to achieve rapid prototyping and reliable implementations. These challenges have a strong impact when defining academic curriculum and selecting pedagogical approaches to teach related topics. Petri nets can provide this type of support, as they are amenable to provide support for the major characteristics presented in this type of controllers, namely concurrency and parallelism, conflict and resource sharing modeling, as well as support to modularity and composability. In this paper, a line of examples based on the analysis of a parking lot controller will be used illustrating on how the referred modeling challenges can be faced by students when using Petri nets to describe the behavior of associated embedded controllers. Several types of exercises are presented addressing different levels of complexity, considering different configurations of the parking lot infrastructure. This line of examples can be used at different types of courses, ranging from those focusing at system level modeling to those focusing on specific implementation strategies, where several classes of autonomous and non-autonomous Petri nets can be used.</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>Cyber-Physical Systems (CPS), sometimes seen as a new generation of networked embedded systems, have been growing significantly in terms of visibility and importance. Among their characteristics, one can mention dependability, functioning in a reliable, safe, and secure manner, as argued in <ref type="bibr" target="#b0">[1]</ref>, which identifies research gaps and future directions for the different phases of the industrial system development life cycle. In parallel with other components, one of the CPS constituent parts is the controller part. Model-driven Development (MDD) approaches have an important role to play within their design methodologies. In order to cope with the above referred constraints it is of paramount importance to rely on a modeling formalism equipped with a precise execution semantics adequate to support a design automation approach supported by computational tools and covering all development phases, from specification to automatic execution code generation, and including tools for simulation and verification of behavioral properties.</p><p>Taking into consideration the main characteristics of most of the embedded controllers used in cyber-physical systems, Petri nets can be seen as the perfect candidate to be selected for the role of supporting modeling formalism. In particular, as the design of embedded controllers is intended, a non-autonomous class of Petri nets supporting explicit dependencies on its execution semantics to input and output signals and events is of interest, as will also allow their full integration in model-driven development approaches supporting automatic generation of execution code without writing a line of code.</p><p>In this paper the emphasis is put on the modeling and development tasks of the embedded controller to be carried out in the classroom. For that, a specific type of embedded controllers targeting parking lot access control is used. The advantages of selecting this class of applications are two-fold: being very well know by the students contributing to keep them involved and grab their interest, and exhibit different types of behavioral dependencies which can find in Petri nets a proper modeling formalism to use.</p><p>The paper is structured as follows. In the next section, the proposed challenge is presented, introducing a type of controlled systems to be modeled and analysed. In Section 3 a few relevant classes of Petri nets used for the referred tasks are identified. In Section 4 a discussion on the modeling strategies to be used is presented, followed by the Section 5 where a brief discussion is produced. Section 6 concludes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">The challenge</head><p>Students are challenged to tackle a practical problem involving a real-world scenario, considering a system's controller equipped with several physical sensors and actuators. Their task involves modeling both the behavior of the system and its actuators.</p><p>The proposed line of exercises relies on the analysis of a parking lot controller, including controlling its entrance and exit gates alongside monitoring parking capacity. Figure <ref type="figure" target="#fig_0">1</ref> shows the simplest parking lot configuration, with one entrance and one exit, where each entrance/exit has a presence detector on the floor to detect arrival of a car and a button to be activated by the driver (to get a ticket at the entrance, or to insert ticket after payment at the exit). At this point, simultaneous activities at entrance and exit needs to be considered (locality on evaluation and concurrency modeling) in a similar way as in a producer-consumer system. Resource availability modeling is also present, as the number of free parking places can be seen as resources that are competitively shared by incoming users.</p><p>However, starting with this simplest parking lot configuration, several complications can be considered, namely:</p><p>• including several entrances, where some conflicts may occur, e.g when the number of cars trying to enter the parking lot is higher than the free places available inside. • including also several exits as well as several parking areas or floors considering some modular structure of the parking lot (and where modular composition of the Petri nets models can be used). • including additional sensors at entrances and exits to improve detection of the driver behaviour, e.g. leaving the entrance after trying to enter and goes reverse afterwards.</p><p>In the referred complications, several abstraction levels can be adopted, ranging from a generic description of the system behavior, to a fine detailed control actions allowing direct association with actuation of gates.</p><p>Also different types of goals can be addressed, ranging from high-level description and analysis of the system behavior, to generation of operational models to be directly deployed in the parking lot controller, including simulation of the system's behaviour considering randomly arriving and exiting of cars, among others.</p><p>From the above, it is clear that the modeling of several key characteristics of the system can be adequately accommodated through Petri nets modeling (locality, concurrency, conflicts, resources, and so on).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">On the Petri net classes of interest</head><p>From the above, depending on the specific goals included on specific courses where students are enrolled, different types of Petri nets classes can be considered, including autonomous classes, such as elementary nets <ref type="bibr" target="#b1">[2]</ref>, place-transition nets <ref type="bibr" target="#b2">[3]</ref>, and coloured Petri nets <ref type="bibr" target="#b3">[4]</ref>, as well as non-autonomous classes, such as interpreted and synchronized Petri nets <ref type="bibr" target="#b4">[5]</ref> [6] <ref type="bibr" target="#b6">[7]</ref>.</p><p>In this last group, the Input-Output Place-Transition nets (IOPT-nets) <ref type="bibr" target="#b7">[8]</ref> [9] <ref type="bibr" target="#b9">[10]</ref>, and their associated tools framework (IOPT-Tools) <ref type="bibr" target="#b10">[11]</ref>, are of special interest. IOPT nets and IOPT-Tools allow explicit modeling of inputs and output signals dependencies, as well as automatic generation of execution code, which can be directly deployed in some popular boards, such as Arduino, Raspberry Pi, and FPGA-based (using C and VHDL code).</p><p>In the following sections, without loss of adequacy for the usage of the other referred classes, IOPT-nets will be used, illustrating possible lines of conduct.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Practicing basic modeling strategies</head><p>Coming back to the simplest parking lot configuration illustrated in Figure <ref type="figure" target="#fig_0">1</ref>, one possible approach to follow may rely on identification of sub-models associated with the different parts of the system. In this case, one may build separated models associated with the entrance, the parking area, and the exit, as illustrated in Figure <ref type="figure" target="#fig_2">2</ref>, where explicit reference on input signals dependencies as well as output actuators are included.  The modeling strategy may initially adopt a kind of simplified (or naif) approach, where when a car comes to the entrance/exit area will eventually enter/leave (as illustrated in Figure <ref type="figure" target="#fig_2">2</ref>(a) and (c)).</p><p>Staying with the simpler parking lot configuration (one entrance and one exit), the next step will compose the models producing the parking lot controller model, relying on the net addition operation between models <ref type="bibr" target="#b11">[12]</ref>  <ref type="bibr" target="#b12">[13]</ref>. For the case at hand, a synchronous composition is selected, where fusion of groups of transitions as illustrated in Figure <ref type="figure" target="#fig_3">3</ref> is used, allowing reaching the model of Figure <ref type="figure" target="#fig_4">4</ref>.</p><p>Further complications may consider different drivers' behavior where after being present at the entrance/exit, the driver goes reverse and leave the entrance/exit area (even before gate opening). In this line of complications, one additional ground detector can also be considered to be installed after the gate in order to confirm that the car actually cross the gate, or goes reverse not crossing the gate (as well as to avoid closing the gate while the car is entering). In this case, sub-models need to be  more elaborated, as instead of considering an atomic action associated with the fusion of transitions at entrance and at the parking area, it will be necessary to consider a two-phase operation, where the first phase checks availability of a free place to park and reserve the place (removing a token from the FreePlaces place), but only create a token during the second phase in the PlacesOccupied place after actually crosses the gate afterwards. If driver goes reverse, the token is regenerated at FreePlaces place.</p><p>Going further with composition of sub-models, one may consider to build the model of a parking lot with two entrances and two exits, considering the disjoint addition of two entrance models, two exit models, and one parking area model, and four fusion sets of transitions to be merged (synchronous composition), as presented in Figure <ref type="figure" target="#fig_5">5</ref>, resulting in the model of Figure <ref type="figure" target="#fig_6">6</ref>. Other complication that can be considered for large parking lot infrastructures is the existence of different floors or parking areas, while continue to monitoring the movement of vehicles between   Coming back to the model of Figure <ref type="figure" target="#fig_6">6</ref>, some effective conflicts may occur. In particular when only one place is free inside the parking lot and two cars are present at both entrances willing to enter, two transitions at the entrances are in conflict. This situation can be used to introduce the concept of arbiters, responsible to a-priori manage the conflict (for some types of controllers, where a non-deterministic behavior is not allowed, this type of arbiters may be necessary to consider).</p><p>Figure <ref type="figure" target="#fig_9">8</ref> presents two possible types of arbiters to a-priori fix conflicts, where the transitions at the top and at the bottom of the models will be fused with the in-conflict transitions of the entrances. Important to refer that using the model on the left of Figure <ref type="figure" target="#fig_9">8</ref> will still introduce a conflict (between one of the two transitions of the arbiter and one of the two transitions initially in-conflict), which can be fixed introducing priorities among the in-conflict transitions (giving low priority to the transitions of the arbiter). This can be used to introduce the concept of priorities associated with transitions.</p><p>On the other hand, if the right hand model of Figure <ref type="figure" target="#fig_9">8</ref> is used instead, no priorities are necessary to be introduced, but it will be necessary to consider test arcs, resulting in the model of Figure <ref type="figure" target="#fig_10">9</ref>. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Brief discussion</head><p>Other than the modeling activities referred in the previous sections, where the students were challenged to build the behavioral model of a parking lot controller taking advantage of composability of Petri net models, from the pedagogical point of view, other aspects important in controllers' development are emphasized.</p><p>One of them is related with the benefits of adoption of a model-driven development approach, where the system model can be used during all phases of development, ranging from specification to implementation, including simulation and verification of properties.</p><p>For that end, a set of web-based computational tools, the IOPT-Tools framework <ref type="bibr" target="#b10">[11]</ref>, freely available at http://gres.uninova.pt/IOPT-Tools/, is used to support the whole phases of development. IOPT-Tools have been in use at several universities supporting experimentation in several engineering courses <ref type="bibr" target="#b13">[14,</ref><ref type="bibr" target="#b14">15]</ref>. Some of the tools available within the IOPT-Tools provide support for simulation of the model, where students can validate their solutions. The simulator tool uses an interactive token-player interface, as well as a timing diagram (similar to those obtained with data analysers), which provides a visual representation of the evolution of the marking and transition firing, as well as of the input and output signals of the controller. In this sense, students can analyse the behavior of the controller from two different points of view, namely from a model-centric view, or from the input-output interface view.</p><p>The validation through the simulation of the model is complemented with a set of tools allowing property verification through the construction of the reachability graph representing the associated state space of the model and a querying system providing answers to specific questions on boundedness and reachability aspects, among others.</p><p>Also the physical implementation of the controllers is addressed as the IOPT-Tools provides automatic code generators for software-centric implementations based on C, as well as for hardware-based implementations based on VHDL. Generated code can be directly deployed (without writing additional lines of code) in popular low-cost boards used in the lab such as Arduino, ESP-32, LattePanda, Raspberry Pi and other Linux platforms, as well as on several FPGA boards from AMD-Xilinx. Current practice at our University is to loan a FPGA board to students to allow extensive and autonomously experimentation by them on the whole phases of development.</p><p>Overall, students enjoy having a web-based tool for development and a board for autonomous experimentation always available and are motivated to participate actively in the lab activities.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusions and future work</head><p>In this paper, a non-autonomous Petri net class based on Place-Transition nets and including priorities and test arcs was used (the class of IOPT-nets). However, as referred in Section 3, several classes of Petri nets can be equally used to explore exercises in this challenge framework.</p><p>As a matter of fact, most of the goals (namely introducing concurrency, locality on evaluation, conflict modeling, and so on) can also be achieved with autonomous Petri nets, namely Place-Transition nets, or other types of autonomous classes. Introducing high-level characteristics on the net, such as in Coloured Petri nets, will allow introducing new challenges, as different types of vehicles.</p><p>Also a final challenge (not presented in this paper) can address distributed execution of the global model, relying on the decomposition of the model into a set of sub-models and allowing their execution by a set of distributed controllers (one per entrance and exit, for instance), where the interaction between the different sub-controllers is achieved asynchronously (and overall the whole system can be seen as a Globally-Asynchronous Locally-Synchronous system).</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: A simple parking lot with one entrance and one exit.</figDesc><graphic coords="2,139.69,364.52,315.92,139.83" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Sub-models to be used in compositions.</figDesc><graphic coords="3,252.51,476.90,90.25,90.43" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Synchronous composition of the sub-models for a parking lot with 1 entrance and 1 exit, identifying the fusion sets to be used.</figDesc><graphic coords="4,72.00,65.61,451.28,98.25" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 4 :</head><label>4</label><figDesc>Figure 4: The parking lot controller model.</figDesc><graphic coords="4,72.00,208.15,451.28,103.85" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Figure 5 :</head><label>5</label><figDesc>Figure 5: Synchronous composition of the sub-models for a parking lot with 2 entrances and 2 exits, identifying the fusion sets to be used.</figDesc><graphic coords="4,72.00,493.27,451.28,199.48" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 6 :</head><label>6</label><figDesc>Figure 6: The parking lot controller model considering 2 entrances and 2 exits.</figDesc><graphic coords="5,72.00,65.61,451.29,199.37" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head></head><label></label><figDesc>those areas in order to provide information to the parking lot's users where they can find places to park. Considering different parking areas or different floors at the parking lot, one can replicate the model of Figure2(b) for each area (while keeping another replica of Figure2(b) to control the overall number of free and occupied places). In order to detect the movement of cars between those different parking zones it will be necessary to consider a model depending on some presence sensors, such the one presented at Figure7, which can be (asynchronously) composed with the remaining models (in this case, each parking zone will have an instance of the parking area of Figure2(b), and the composition of the model of Figure 7 will consider merging the places at the left hand side of Figure 7 with the places of the instance of Figure 2(b) of Zone A, and merging the places at the right hand side of Figure 7 with the places of the instance of Figure 2(b) of Zone B). Potential complications to be considered include unidirectional passages or bidirectional passages, allowing vehicles to go or not in reverse while in the transit area.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>Figure 7 :</head><label>7</label><figDesc>Figure 7: Modeling moves between different parking zones.</figDesc><graphic coords="5,72.00,484.45,451.29,76.05" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>Figure 8 :</head><label>8</label><figDesc>Figure 8: A-priori fixing conflicts using specific arbiters.</figDesc><graphic coords="6,229.95,65.61,135.39,166.48" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_10"><head>Figure 9 :</head><label>9</label><figDesc>Figure 9: The parking lot controller model considering 2 entrances and 2 exits including a arbiter for conflict management.</figDesc><graphic coords="6,72.00,304.96,451.29,233.22" type="bitmap" /></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>This work was financed by Portuguese Agency FCT -Fundação para a Ciência e Tecnologia, in the framework of project UIDB/00066/2020.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A survey of static formal methods for building dependable industrial automation systems</title>
		<author>
			<persName><forename type="first">R</forename><surname>Sinha</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Patil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Vyatkin</surname></persName>
		</author>
		<idno type="DOI">10.1109/TII.2019.2908665</idno>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Industrial Informatics</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="3772" to="3783" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Elementary net systems</title>
		<author>
			<persName><forename type="first">G</forename><surname>Rozenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Engelfriet</surname></persName>
		</author>
		<idno type="DOI">10.1007/3-540-65306-6_14</idno>
		<idno>doi:</idno>
		<ptr target="10.1007/3-540-65306-6_14" />
		<imprint>
			<date type="published" when="1998">1998</date>
			<publisher>Springer</publisher>
			<biblScope unit="page" from="12" to="121" />
			<pubPlace>Berlin Heidelberg; Berlin, Heidelberg</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Place/transition Petri Nets</title>
		<author>
			<persName><forename type="first">J</forename><surname>Desel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Reisig</surname></persName>
		</author>
		<idno type="DOI">10.1007/3-540-65306-6_15</idno>
		<idno>doi:</idno>
		<ptr target="10.1007/3-540-65306-6_15" />
		<imprint>
			<date type="published" when="1998">1998</date>
			<publisher>Springer</publisher>
			<biblScope unit="page" from="122" to="173" />
			<pubPlace>Berlin Heidelberg; Berlin, Heidelberg</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Coloured Petri Nets: Modelling and Validation of Concurrent Systems</title>
		<author>
			<persName><forename type="first">K</forename><surname>Jensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Kristensen</surname></persName>
		</author>
		<idno type="DOI">10.1007/b95112</idno>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Silva</surname></persName>
		</author>
		<title level="m">Las Redes de Petri : en la Automática y la Informática</title>
				<meeting><address><addrLine>Madrid; AC, D.L.</addrLine></address></meeting>
		<imprint>
			<publisher>Editorial</publisher>
			<date type="published" when="1985">1985</date>
		</imprint>
	</monogr>
	<note>1ª ed</note>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Petri Nets and Grafcet: Tools for Modelling Discrete Event Systems</title>
		<author>
			<persName><forename type="first">R</forename><surname>David</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Alla</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1992">1992</date>
			<publisher>Prentice-Hall, Inc</publisher>
			<pubPlace>USA</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">R</forename><surname>David</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Alla</surname></persName>
		</author>
		<title level="m">Discrete, Continuous, and Hybrid Petri Nets</title>
				<imprint>
			<publisher>Springer Publishing Company, Incorporated</publisher>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
	<note>2nd ed</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">The Input-Output Place-Transition Petri net class and associated tools</title>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Barros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Costa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Nunes</surname></persName>
		</author>
		<idno type="DOI">10.1109/INDIN.2007.4384809</idno>
	</analytic>
	<monogr>
		<title level="m">5th IEEE International Conference on Industrial Informatics</title>
				<imprint>
			<date type="published" when="2007">2007. 2007</date>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="509" to="514" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Extending Input-Output Place-Transition Petri nets for distributed controller systems development</title>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Moutinho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Pereira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ribeiro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Costa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-P</forename><surname>Barros</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICMC.2014.7231723</idno>
	</analytic>
	<monogr>
		<title level="m">ICMC&apos;2014 -International Conference on Mechatronics and Control</title>
				<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="1099" to="1104" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Refining IOPT Petri nets class for embedded system controller modeling</title>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Barros</surname></persName>
		</author>
		<idno type="DOI">10.1109/IECON.2018.8592921</idno>
	</analytic>
	<monogr>
		<title level="m">IECON 2018 -44th Annual Conference of the IEEE Industrial Electronics Society</title>
				<imprint>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page" from="4720" to="4725" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">IOPT-Tools -from executable models to automatic code generation for embedded controllers development</title>
		<author>
			<persName><forename type="first">F</forename><surname>Pereira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Moutinho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Costa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-P</forename><surname>Barros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Campos-Rebelo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-031-06653-5_7</idno>
	</analytic>
	<monogr>
		<title level="m">Application and Theory of Petri Nets and Concurrency</title>
				<editor>
			<persName><forename type="first">L</forename><surname>Bernardinello</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">L</forename><surname>Petrucci</surname></persName>
		</editor>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="127" to="138" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Net model composition and modification by net operations: a pragmatic approach</title>
		<author>
			<persName><forename type="first">J</forename><surname>Barros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<idno type="DOI">10.1109/INDIN.2004.1417350</idno>
	</analytic>
	<monogr>
		<title level="m">2nd IEEE International Conference on Industrial Informatics</title>
				<imprint>
			<date type="published" when="2004">2004. 2004. 2004</date>
			<biblScope unit="page" from="309" to="314" />
		</imprint>
	</monogr>
	<note>INDIN &apos;04</note>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Structuring and composability issues in Petri nets modeling</title>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Barros</surname></persName>
		</author>
		<idno type="DOI">10.1109/TII.2005.844433</idno>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Industrial Informatics</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="112" to="123" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Integrating different modelling formalisms supporting co-design development of controllers for cyber-physical systems -a case study</title>
		<author>
			<persName><forename type="first">G</forename><surname>Bazydło</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Costa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICELIE55228.2022.9969438</idno>
	</analytic>
	<monogr>
		<title level="m">ICELIE&apos;2022 -9th International Conference on E-Learning in Industrial Electronics</title>
				<meeting><address><addrLine>Brussels, Belgium</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2022">October 17-20, 2022. 2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Model-driven development in hardware-software co-design of controllers for cyber-physical systems</title>
		<author>
			<persName><forename type="first">L</forename><surname>Gomes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Costa</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICELIE58531.2023.10313106</idno>
	</analytic>
	<monogr>
		<title level="m">ICELIE&apos;2023 -10th International Conference on E-Learning in Industrial Electronics</title>
				<meeting><address><addrLine>Singapore</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2023">October 16-19, 2023. 2023</date>
		</imprint>
	</monogr>
</biblStruct>

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