<?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">Controlling a virtual rover using AutoFOCUS3</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Levi</forename><surname>Lúcio</surname></persName>
							<email>lucio@fortiss.org</email>
							<affiliation key="aff0">
								<orgName type="institution">fortiss GmbH</orgName>
								<address>
									<addrLine>Guerickestraße 25</addrLine>
									<postCode>80805</postCode>
									<settlement>München</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sudeep</forename><surname>Kanav</surname></persName>
							<email>kanav@fortiss.org</email>
							<affiliation key="aff0">
								<orgName type="institution">fortiss GmbH</orgName>
								<address>
									<addrLine>Guerickestraße 25</addrLine>
									<postCode>80805</postCode>
									<settlement>München</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Andreas</forename><surname>Bayha</surname></persName>
							<email>bayha@fortiss.org</email>
							<affiliation key="aff0">
								<orgName type="institution">fortiss GmbH</orgName>
								<address>
									<addrLine>Guerickestraße 25</addrLine>
									<postCode>80805</postCode>
									<settlement>München</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Controlling a virtual rover using AutoFOCUS3</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">CA27E7DCD5738E34BF9FE1AF3C814702</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T15:17+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>Modelling Environment</term>
					<term>Embedded Systems</term>
					<term>Deployment</term>
					<term>Code Generation</term>
					<term>Controller</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>AUTOFOCUS3 (AF3) is a mature model-driven engineering environment for developing software for embedded systems. For the past 20 years, several versions of AF3 have served as a platform for experimenting with cutting edge research ideas in Model-Driven Development. AF3 is a tool that fully encompasses the software lifecycle, from requirements, to architecture, simulation, deployment, code generation and verification. In this article we describe how we used an existing model of a complex controller for a real-life miniature vehicle and have downsized and adapted it to control a rover in a virtual environment. The model we present here automates the maneuvering of a rover to follow another leader rover in a virtual environment, while keeping a safe distance to it. The controller operates by adapting the rover's speed and steering according to the position and movements of the leader. The results we present in this article illustrate the whole development cycle of an embedded system using AF3, from the development of the model down to deployment to a specific platform as well as code generation and connecting to the hardware.</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>AUTOFOCUS3 is a model-based development (MBD) environment for embedded systems, based on the Focus theory <ref type="bibr" target="#b8">[9]</ref>. Focus is a framework encompassing computations supported by the notion of streams ("in particular untimed, timed and timesynchronous streams" <ref type="bibr" target="#b15">[16]</ref>). The current version of AF3 follows a string of earlier prototypes <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b15">16]</ref> started in 1996 <ref type="bibr" target="#b16">[17]</ref>. Existing literature on AF3 reports on particular aspects of the tool <ref type="bibr">[5, 10-12, 20, 24, 25]</ref>, or on its application in the context of industrial case studies <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b5">6,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b12">[13]</ref><ref type="bibr" target="#b13">[14]</ref><ref type="bibr" target="#b14">[15]</ref>. More information about current state of the AF3-related research can be found in the official site of the tool <ref type="foot" target="#foot_0">1</ref> . AF3 can be freely downloaded and is open-source.</p><p>AF3's goal is to demonstrate the feasibility and applicability of MBD tooling approaches. The idea behind AF3 embraces seamless integration of all models throughout the development process, encompassing requirements engineering on initial stage, system modeling at a high level of abstraction, deployment and model simulation. AF3 also comprises formal verification and testing. Being an open source tool with a 6 months release period, AF3 embodies a study tool for proving scientific concepts and methods which have been tested via industrial case studies.</p><p>In the context of domain-specific software development, there are several approaches to system modeling. The first of those is characterized by starting from a general (non platform-specific) model and proceed by transforming this model into specialized one. In this approach, domain specific languages are built by restricting a universal language (such as the UML) and incarnated as development tools. This is the "Model-Driven Architecture" concept and is represented by such tools as Enterprise Architect <ref type="bibr" target="#b20">[23]</ref> or Papyrus <ref type="bibr" target="#b2">[3]</ref>. AF3 embodies a "bottom-up" approach, which aims at guiding the modeler until full creation of a domain-specific model. In comparison with the former approach, AF3 follows the domain-specific modeling philosophy, where only the strictly required concepts are developed into tools while starting from a blank slate. The goal is to minimize the possibility of error by enforcing, as much as possible, correctness-byconstruction. Additionally, AF3 is built on top of an extensible kernel which constitutes a base for further development. Examples of other tools that follow AF3's "bottom-up" approach are Sirius <ref type="bibr" target="#b7">[8]</ref> or JetBrains' MPS <ref type="bibr" target="#b17">[19]</ref>.</p><p>Tools that resemble AF3 in purpose are Enterprise Architect <ref type="bibr" target="#b20">[23]</ref>, Papyrus <ref type="bibr" target="#b2">[3]</ref>, UML Designer <ref type="bibr" target="#b19">[22]</ref>, Sirius <ref type="bibr" target="#b7">[8]</ref>, JetBrains' MPS <ref type="bibr" target="#b17">[19]</ref>, mbeddr <ref type="bibr">[18]</ref> or Simulink <ref type="bibr">[21]</ref>. Although space does not allow elaborating on the differences between these tools and AF3, our tool is, to the best of our knowledge, the only open-source model-driven tool that supports the whole embedded-software development cycle in an out-of-the-box, easily installable package. AF3 includes support for requirements engineering, formal verification, deployment or domain space exploration cases natively (among other features), which we have not found in combined in one unique package in other tools.</p><p>In this paper we explain how we have developed an AF3 model to operate a rover in a virtual environment in a way that it follows another leader rover that advances freely, while always keeping a safe distance to it. "Sensor" data regarding the position of the rover in front and the distance between the two rovers is provided by the environment. The rover has access to its own position and angle of movement and should constantly adjust its speed and angle by directing power to the wheels (turning implies asymetrically providing power to the left and right wheels). The virtual environment the rover functions on is part of the MDE tool challenge proposed by the MDE Tools workshop at the MODELS 2018 conference <ref type="bibr" target="#b1">[2]</ref>.</p><p>The paper is organized as follows. In section 2 we provide a high level description of a controller built in AF3 for a physical car in the context of a lab course offered at the Technical University of Munich. Section 3 then describes how we have adapted the Adaptive Cruise Control component built during the lab courses to serve the purpose of following the leader. In section 4 we explain how we have deployed the model and generated C code for the controller. Section section 5 concludes.</p><p>The model that we developed for the MDE tool challenge is based on a larger model, that was originally created in the context of a lab course at Technical University Munich. Two subsequent courses involving 10 students built not only the logical model for the vehicle, but also the hardware platform of a car in a scale of 1:10. An important requirement for this vehicle was a high level of realism. Accordingly, a professional platform with a realistic Ackermann steering and electrical all wheel drive was chosen and configured in such a way that the driving dynamics correspond to a realistic car. A picture of the vehicle is shown in Figure <ref type="figure" target="#fig_0">1</ref>. The model that the students developed in the first lab course implemented basic driving functionalities such as steering, braking, accelerating, gear shifting and different drive modes, as well as two driver assistance functions for emergency braking and adaptive cruise control. The second lab course extended this outcome with lane keeping as well as vehicle2vehicle communication and platooning. Our main interest in the development of such a vehicle was to show the applicability of model-based development by using our tool AUTOFOCUS3 on the one hand, and on the other hand to come up with a software architecture for future (semi-) autonomous cars. The general question we addressed was how (semi-) autonomous functionality can be integrated into a software architecture of a car, using a model-based approach. The current state of the architecture is shown in Figure <ref type="figure">2</ref> and is given as a means to illustrate the complexity of the model of the controller developed by the students.</p><p>For the MDE tool challenge we used the Adaptive Cruise Control (ACC) part of the model, highlighted in Figure <ref type="figure">2</ref>. Because of the component based approach of AF3, we were able to reuse the component which realized this function and adapt it to the challenge by developing against the component's interface. Although we kept that part of the functionality that adapts the distance to the leader rover, we had to incorporate in the model new capabilities to allow automatic steering in order to implement the "follow the leader" requirement. Naturally, we also had to adapt the inputs and the outputs of the component to the data provided and expected by the virtual environment.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Controlling the virtual rover</head><p>In Figure <ref type="figure">3</ref> we depict the top-level model of the controller for the follower vehicle. The controller is meant to operate in a loop by reading the distance to the leader rover, the GPS coordinates of the leader (LeaderPosition) and the rover's own (RoverPosition) GPS coordinates as well as its own orientation with respect to the north (RoverAngle). Note that the inputs to the model appear in Figure <ref type="figure">3</ref> as small black circles, while the outputs have the same shape but are white. The power provided to the wheels is constantly updated to reflect the changes in the input values to the controller.</p><p>The controller for the virtual rover is composed by three AF3 components, as explained in the next sections.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Component StraightPower</head><p>The StraightPower component is responsible for calculating the required forward power based on the distance to the leader. This component is composed of two components as shown in Figure <ref type="figure" target="#fig_2">4</ref>. The component CalculateDistanceError calculates the error with respect to the ideal distance with the leader. For the proposed challenge, the follower was required to remain in the distance range between 12 and 15 from the leader. We have thus taken the ideal distance as the average of these two values, i.e. 13.5. This is a constant and can be easily changed to allow for different ranges.</p><p>We then use this error and feed it to a PID controller for calculating the power to be directed forward. The general equation for a PID controller is:</p><formula xml:id="formula_0">u = K P e + K I I + K D D<label>(1)</label></formula><p>, where K P , K I and K D are the parameters of the controller, e is the error with the desired value, I is the integral -summation of the previous errors, and D the differential -difference with the last error. For calculating the forward power we have used the following constant values:  </p><formula xml:id="formula_1">K P = 5, K I = 1.5, K D = 30.</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Component RotationalDifferential</head><p>The rover turns when the left and right wheels rotate at different speeds. The magnitude of the difference is proportional to the turning angle.</p><p>When the leader turns the follower also has to turn in order to follow the leader. In order to achieve this the RotationalDifferential component calculates the required difference between the power applied to the right and the left wheel to turn the rover to provide the correct turning angle.</p><p>The component bearingAngle calculates the bearing of the leader with respect to north when seen from the follower. This calculation uses the GPS positions of the follower and the leader. We then calculate the angleError i.e., the difference between the orientation of the follower (with respect to north) and the bearing angle. This angleError is then passed onto another PID controller in order to calculate the required difference in power sent to the rover's right and left wheels. The sign of this value decides the direction of the turning.</p><p>The constants used of the PID controller (equation 1) for calculating the rotational differential are: K P = 2, K I = 0.75, K D = 10.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Component CalculateFinalPower</head><p>The CalculateFinalPower component takes the forward power and rotational differential, and outputs the final power to apply to the right and left wheels. In addition to calculating the values for the right and left power, the component also normalizes the amount of power provided in case the calculated value exceeds the maximum.</p><p>The environment of the rover challenge proposed by the MDETools workshop provides at the end of a run of the system, which lasts one minute, the percentage of time during which the rover was within the expected distance limits. The system we developed consistently stays within these limits over 70% of the runs we have attempted. Although we have not tuned the values of the PID controller further, we believe even better results could be achieved. The AF3 models we have used for the challenge can be downloaded at <ref type="bibr" target="#b0">[1]</ref>. For readers interested in further experimentation, instructions accompanying the model provide the steps on how to install and deploy the software.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Deployment and code generation</head><p>After the model is built, it needs to be deployed on an architecture. For the real rover mentioned in section 2 the architecture is a Raspberry Pi that can connect to the sensors and actuators of the device.</p><p>The virtual rover simulation environment used in the context of this article communicates using TCP ports. Additionally, the signals flowing from the virtual environment and back are different from the ones for the real rover. For instance, the real rover accepts target speed as input and the hardware of the rover itself controls engine power (using an embedded PID controller) in order to attain such a speed and maintain it. The virtual rover expects that power to the wheels is provided as a means to attain a certain speed.</p><p>AF3 provides a generic, non-device specific architecture for deployment, as shown in Figure <ref type="figure">6</ref>. Additionally, the ports of the ECU need to be mapped to the logical ports of the controller of the model we have defined in section 3, as depicted in figure <ref type="figure">7</ref>.</p><p>Deploying onto an architecture provides the skeleton of an interface that declares the signatures of the methods used by the controller logic to communicate with the device underneath. When the architecture is fully defined, the code with for gluing with the device can also be automatically generated. For our work we have deployed onto a generic architecture as a means to automatically generate the structure of our controller's communication infrastructure as C<ref type="foot" target="#foot_1">2</ref> code. The logic corresponding to the model we have presented in section 2 is also generated as C code and is meant to run in a loop with the controlled device, in this case the virtual rover.</p><p>The C code that is generated for the generic architecture only provides the interface for the functions that read the sensors and send commands on the actuators of the virtual Fig. <ref type="figure">6</ref>. A Generic ECU for the Virtual Rover Controller Fig. <ref type="figure">7</ref>. Deploying the Logical Ports onto the ECU ports environment. Because of that, a manual step of coding such methods and connecting the controller with the virtual environment via TCP was additionally necessary to connect the controller to the rover and to finalize the deployment of the model onto the hardware.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusion</head><p>We have presented in this article the lifecycle of the development of a controller for a virtual rover, based on a controller for a real vehicle developed at lab courses given by us. Our experience points to the fact that AF3 is a sufficiently mature environment for developing systems, in particular controllers. The facilities for generating code for a specific platform (in our case a generic one) make life for the developer of embedded code simple, as the communication infrastructure with the underlying hardware can be fully automated. We have observed this advantage when we, in the course of the lab courses, deployed the code generated from models directly to Raspberry Pis, without any need for further customization. Additionally, the modularity enforced by AF3 makes it easy to reuse parts of projects. We found that the copy/paste facilities of AF3 are very helpful in that respect.</p><p>We have certainly encountered editing issues with AF3's editor while building the model for the challenge, but they were minor and the modelling experience was very slighted affected by them. The calibration of controllers such as the one we present in this paper also poses a problem, as it is mostly only possible once the hardware is in the loop with the generated code. AF3 does not provide a basic infrastructure for calibration (although a prototypical version of such an infrastructure does exist). In practice, we have observed that a significant amount of time still needs to be devoted to making sure the parameters of the controller are well configured.</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. A Physical Rover used for a lab course at the Technical University of Munich</figDesc><graphic coords="3,134.77,254.01,345.79,259.34" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .Fig. 3 .</head><label>23</label><figDesc>Fig. 2. The AF3 Model developed by the Students to Control a Physical Vehicle</figDesc><graphic coords="5,170.88,115.85,273.60,484.14" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. Subcomponents implementing the StraightAcceleration component.</figDesc><graphic coords="6,134.77,251.24,345.84,59.97" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. Subcomponents implementing the RotationalDifferential component.</figDesc><graphic coords="7,134.77,115.83,345.83,90.32" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0"><head></head><label></label><figDesc></figDesc><graphic coords="8,169.35,115.83,276.66,211.50" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://af3.fortiss.org/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">Besides C, AF3 also allows the generating JAVA code.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<ptr target="http://download.fortiss.org/public/MDETools2018/model-and-instructions_AF3.zip" />
		<title level="m">AF3 model used in the MDETools 2018 challenge</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<ptr target="https://mdetools.github.io/mdetools18/" />
		<title level="m">MDETools Workshop Website</title>
				<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<ptr target="https://wiki.eclipse.org/Papyrus_User_Guide" />
		<title level="m">The Eclipse Foundation</title>
				<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
	<note>Papyrus user guide</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">AutoFOCUS 3: Tooling concepts for seamless, model-based development of embedded systems</title>
		<author>
			<persName><forename type="first">V</forename><surname>Aravantinos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Voss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Teufl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Hölzl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Schätz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 8 th Int. MODELS Workshop Model-based Archit. Cyber-physical Embed. Syst. (ACES-MB &apos;15)</title>
				<meeting>8 th Int. MODELS Workshop Model-based Archit. Cyber-physical Embed. Syst. (ACES-MB &apos;15)</meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="19" to="26" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Building productlines of mixed-criticality systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Barner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Diewald</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Eizaguirre</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Vasilevskiy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Chauvel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Forum Specif</title>
				<editor>
			<persName><surname>Des</surname></persName>
		</editor>
		<editor>
			<persName><surname>Lang</surname></persName>
		</editor>
		<meeting>Forum Specif<address><addrLine>Bremen, Germany</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2016-09">2016. Sept. 2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">DREAMS toolchain: Model-driven engineering of mixed-criticality systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Barner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Diewald</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Migge</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Syed</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Fohler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Faugère</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">Gracia</forename><surname>Pérez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ACM/IEEE 20 th Int.Conf. Model Driven Eng. Lang. Syst. (MODELS &apos;17)</title>
				<meeting>ACM/IEEE 20 th Int.Conf. Model Driven Eng. Lang. Syst. (MODELS &apos;17)</meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="259" to="269" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">A formal systems engineering approach in practice: An experience report</title>
		<author>
			<persName><forename type="first">W</forename><surname>Böhm</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Junker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Vogelsang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Teufl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Pinger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Rahn</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 1 st Int. Workshop Software Engineering Research and Industrial Practices</title>
				<meeting>1 st Int. Workshop Software Engineering Research and Industrial Practices<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="34" to="41" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Sirius: Your custom modeling environment made easy</title>
		<author>
			<persName><forename type="first">S</forename><surname>Bonnet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Brun</surname></persName>
		</author>
		<ptr target="http://www.eclipse.org/sirius/doc/" />
	</analytic>
	<monogr>
		<title level="m">EclipseCon</title>
				<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
	<note>at last</note>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m" type="main">Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement</title>
		<author>
			<persName><forename type="first">M</forename><surname>Broy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Stølen</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">User-friendly model checking integration in modelbased development</title>
		<author>
			<persName><forename type="first">A</forename><surname>Campetelli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Hölz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Neubeck</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 24 th Int. Conf. Comput. Appl. Ind. Eng. (CAINE</title>
				<meeting>24 th Int. Conf. Comput. Appl. Ind. Eng. (CAINE</meeting>
		<imprint>
			<publisher>ISCA</publisher>
			<date type="published" when="2011">2011. 2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">ExplicitCase: Integrated modelbased development of system and safety cases</title>
		<author>
			<persName><forename type="first">C</forename><surname>Cârlan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Barner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Diewald</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Tsalidis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Voss</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. SAFECOMP Workshops (ASSURE &apos;17)</title>
				<meeting>SAFECOMP Workshops (ASSURE &apos;17)</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="52" to="63" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">A lightweight design space exploration and optimization language</title>
		<author>
			<persName><forename type="first">A</forename><surname>Diewald</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Voss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Barner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 19 th Int. Workshop Softw. Compil. Embed. Syst. (SCOPES &apos;16)</title>
				<meeting>19 th Int. Workshop Softw. Compil. Embed. Syst. (SCOPES &apos;16)</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="190" to="193" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Bringing DSE to life: exploring the design space of an industrial automotive use case</title>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Zverlov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Voss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Khalil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ipatiov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ACM/IEEE 20 th Int.Conf. Model Driven Eng. Lang. Syst. (MODELS &apos;17)</title>
				<meeting>ACM/IEEE 20 th Int.Conf. Model Driven Eng. Lang. Syst. (MODELS &apos;17)</meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2017-09">Sept. 2017</date>
			<biblScope unit="page" from="270" to="280" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">A refined top-down methodology for the development of automotive software systems: The keylessentry system case study</title>
		<author>
			<persName><forename type="first">M</forename><surname>Feilkas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">A P F</forename><surname>Hölzl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Rittmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Schätz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Schwitzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Sitou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Spichkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Trachtenherz</surname></persName>
		</author>
		<idno>TUM-I1103</idno>
		<imprint>
			<date type="published" when="2011">2011</date>
		</imprint>
		<respStmt>
			<orgName>Technische Universität München</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">A top-down methodology for the development of automotive software</title>
		<author>
			<persName><forename type="first">M</forename><surname>Feilkas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Fleischmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Hölzl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Pfaller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Scheidemann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Spichkova</surname></persName>
		</author>
		<author>
			<persName><surname>Trachtenherz</surname></persName>
		</author>
		<idno>TUM-I0902</idno>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
		<respStmt>
			<orgName>Technische Universität München</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">AutoFOCUS 3: A scientific tool prototype for model-based development of component-based, reactive, distributed systems</title>
		<author>
			<persName><forename type="first">F</forename><surname>Hölzl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Feilkas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 2007 Int. Dagstuhl Conf. Model-based Eng. Embed. Real-time Syst. (MBEERTS&apos;07)</title>
				<meeting>2007 Int. Dagstuhl Conf. Model-based Eng. Embed. Real-time Syst. (MBEERTS&apos;07)</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="317" to="322" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Autofocus -a tool for distributed systems specification</title>
		<author>
			<persName><forename type="first">F</forename><surname>Huber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Schätz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Schmidt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Spies</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Formal Tech. Real-Time Fault-Tolerant Syst. (FTRTFT&apos;96)</title>
				<meeting>Formal Tech. Real-Time Fault-Tolerant Syst. (FTRTFT&apos;96)</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1996">1996</date>
			<biblScope unit="page" from="467" to="470" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Meta Programming Systems</title>
		<ptr target="http://www.eclipse.org/sirius/doc/" />
	</analytic>
	<monogr>
		<title level="m">Tutorials Formatted by Space2Latex from the MPS wiki</title>
				<imprint>
			<date type="published" when="2017">2017. 2017</date>
			<biblScope unit="page" from="2017" to="2018" />
		</imprint>
	</monogr>
	<note>MPS</note>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Processaware model-driven development environments</title>
		<author>
			<persName><forename type="first">L</forename><surname>Lúcio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Abid</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Rahman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Aravantinos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kuestner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Harwardt</surname></persName>
		</author>
		<ptr target="WS.org" />
	</analytic>
	<monogr>
		<title level="m">Proc. of FlexMDE 2017, co-located with MODELS 2017</title>
				<meeting>of FlexMDE 2017, co-located with MODELS 2017</meeting>
		<imprint>
			<date type="published" when="2017">2019. 2017</date>
			<biblScope unit="page" from="405" to="411" />
		</imprint>
	</monogr>
	<note type="report_type">CEUR-</note>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">UML Designer</title>
		<author>
			<persName><surname>Obeo</surname></persName>
		</author>
		<ptr target="http://www.umldesigner.org/tutorials/tuto-getting-started.htm" />
	</analytic>
	<monogr>
		<title level="m">Getting started</title>
				<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Enterprise architect 13 Reviewer&apos;s Guide</title>
	</analytic>
	<monogr>
		<title level="m">SparxSystems</title>
				<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">MIRA: A tooling-framework to experiment with modelbased requirements engineering</title>
		<author>
			<persName><forename type="first">S</forename><surname>Teufl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Ratiu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 21 st Int. Conf. Requirements Engineering (RE &apos;13)</title>
				<meeting>21 st Int. Conf. Requirements Engineering (RE &apos;13)</meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Design space exploration and its visualization in AutoFO-CUS 3</title>
		<author>
			<persName><forename type="first">S</forename><surname>Voss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Hölzl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Gemeinsamer Tagungsband der Workshops der Tagung Software Engineering 2014</title>
				<imprint>
			<publisher>RWTH</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="57" to="66" />
		</imprint>
	</monogr>
</biblStruct>

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