<?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">Requirements Engineering for Control Systems</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Dominik</forename><surname>Schmitz</surname></persName>
							<email>schmitz@dbis.rwth-aachen.de</email>
							<affiliation key="aff0">
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<addrLine>Informatik 5, Ahornstr. 55</addrLine>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Hans</forename><forename type="middle">W</forename><surname>Nissen</surname></persName>
							<email>hans.nissen@fh-koeln.de</email>
							<affiliation key="aff1">
								<orgName type="department">Institute of Communications Engineering</orgName>
								<orgName type="institution">Cologne University of Applied Sciences</orgName>
								<address>
									<addrLine>Betzdorferstr. 2</addrLine>
									<postCode>50679</postCode>
									<settlement>Köln</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Matthias</forename><surname>Jarke</surname></persName>
							<email>jarke@dbis.rwth-aachen.de</email>
							<affiliation key="aff0">
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<addrLine>Informatik 5, Ahornstr. 55</addrLine>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="institution">Fraunhofer FIT</orgName>
								<address>
									<addrLine>Schloss Birlinghoven</addrLine>
									<postCode>53754</postCode>
									<settlement>Sankt Augustin</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Thomas</forename><surname>Rose</surname></persName>
							<email>thomas.rose@fit.fraunhofer.de</email>
							<affiliation key="aff0">
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<addrLine>Informatik 5, Ahornstr. 55</addrLine>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="institution">Fraunhofer FIT</orgName>
								<address>
									<addrLine>Schloss Birlinghoven</addrLine>
									<postCode>53754</postCode>
									<settlement>Sankt Augustin</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Requirements Engineering for Control Systems</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">06DEA6E2387F61004822A75017F2965A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T07:09+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>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In this paper, we report on the application of i* to the combined capture of control system and software requirements in the context of software-intensive controllers for engines in the automotive domain. Our work has revealed the need to explicitly represent concrete domain knowledge. Revolving around the notion of "domain models", several contributions have been made: a domain model-based approach to requirements capture to speed up the modeling process, a model-based similarity search to support reuse, advanced support to cope with the evolution of domain knowledge (and thus domain models), and the integration into the further development by establishing a transformation link toward mathematically-founded tools such as Matlab/Simulink.</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>Control system functionality, for example in cars, increases the comfort and safety of driving a car or reduces the fuel consumption and exhaust gas emissions. Experiences and knowledge in physics, mathematics, and control theory are required to design a stable controller with good performance. While for many years the control systems for vehicle engines were designed solely by control engineers, in the last decade it has been recognized that massive reductions in pollution and gas consumption as well as advanced driver assistance systems can only be realized if software-based controls are embedded in these systems. However, control systems development continues to be different from software systems development. In the following we shortly present some major differences that had an impact on our work.</p><p>In industrial practice, the development process is still mainly driven by control system engineers. They design the platform and architecture purely driven by functional considerations. Software engineers are involved only at the implementation phase to efficiently implement the control algorithms. The software engineers reject this approach and argue that a system's structure should follow from the consideration of non-functional requirements (NFRs) in order to implement safe, reusable, and efficient systems. NFRs are currently to a large degree ignored by control system engineers.</p><p>Interestingly both disciplines claim to pursue model-based approaches but with a quite different understanding of the main concepts. For control system development, the model of the controlled system, e. g. the engine, is at the center of interest and a model is always expected to be executable in mathematical tools such as Matlab/Simulink. In contrast to this, within software engineering models usually describe the system to be developed. In addition, whereas the design is entirely model-based, at the level of requirements textual approaches still prevail in the control systems domain. Software engineers on the other hand prefer model-based requirement specifications, in particular goal-based, to enable a better structuring, traceability and a smarter transition from requirements to subsequent development steps.</p><p>Eventually, in the control systems development sector, small-and mediumsized enterprises (SMEs) play an important role as innovation drivers that perform individual engineering tasks for multiple customers. Their development process is typically initiated by a customer who asks for the development of a controller for a new engine. The time frame for the supplier to respond with a competitive offer is very short. After capturing the requirements from a developer's point of view, a first system design is needed in order to estimate costs. To keep the development costs low and to win the contract, the supplier must reuse as many software artifacts and simulation models as possible from previous projects. But, if after winning the contract in later design phases it is discovered that the selected components are in fact not reusable, their new development may result in a project loss. Thus, a very careful investigation has to take place.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Objectives of the Research</head><p>The core aim of the ZAMOMO project "Integrating model-based software and model-based control systems engineering" is to improve the interaction of control engineers and software engineers. In particular, interdisciplinary issues -the lack of mutual understanding, colliding uses of terminology, the strict separation of the development processes -need to be addressed. Furthermore, the modelbased development of controllers needs to be completed in regard to model-based requirements engineering, while accounting for some particularities of control systems such as the importance of sensors and actuators. The modeling formalism should include means to cope with non-functional requirements as they have received insufficient attention during control system development yet. Eventually, control system development is indeed a very customer-and project-oriented business. Although similar on an abstract level, engines always differ in detail, thereby precluding long-term planning of product lines due to the individuality of the developed solutions. Accordingly, a project-oriented approach supporting a fast and reliable identification of reusable components must be established. Furthermore, there is a high frequency of innovations in this field. The knowledge changes and grows quite fast. With each new development project, new engine components, sensors, actuators, and construction styles may arise. The according knowledge must fast and easily be made available to the developers.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Scientific Contributions</head><p>Combined Investigation of Control and Software Requirements We propose i* as a common notation for control system and software requirements <ref type="bibr" target="#b3">[4]</ref>. The few and simple modeling constructs, in particular "goals" and "agents", address interdisciplinarity. The model-based approach fills the gap in the otherwise already entirely model-based development of control systems. Softgoals allow to consider non-functional requirements explicitly. And also the important concepts "sensor" and "actuator" can be represented suitably (via resource dependencies).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Requirements Specification Based on i* Domain Models</head><p>To address the need for fast requirements capture, we propose to establish a specific domain i* model reflecting the knowledge and experiences in a particular field the SME is specialized in. Certainly, it is up to the SME to introduce separate models for different (sub)fields it is active in. A domain model serves as a suitable starting point for the creation of a problem-specific requirement model <ref type="bibr" target="#b4">[5]</ref>: the engineer eliminates the parts from the model that do not apply for the current project and adds new elements that are specific to the project at hands. This way rapidly a requirements model of the new control problem can be established. It is composed of reused parts from the domain model and project-specific extensions.</p><p>Similarity Search To support a competitive and reliable cost calculation a similarity search is provided that helps identifying similar projects and hence reusable components <ref type="bibr" target="#b4">[5]</ref>. Unfortunately, a fully automated identification of reusable software artifacts is not possible due to the complexity and variance in details. But our domain model-based search algorithm reduces significantly the number of finalized projects the engineer has to inspect in detail. The domain model forms a necessary premise for the search since it ensures consistency of models across several projects. For the technical realization, we refer to the formalization of i* in Telos and the corresponding tool support ConceptBase <ref type="bibr" target="#b0">[1]</ref>. This allows to define comparison queries referring to standard domain features as well as projectspecific model extensions. The comparison of the outcome of these queries for the current project with the outcome for finalized earlier projects results in a ranking of the finalized projects based on the number of similar features. The engineer can then focus the higher ranked projects and investigate them in detail to decide about reusability.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Support for Evolving Domain Models</head><p>The usefulness of a domain model depends heavily on its adequacy for the day-to-day work of the engineers <ref type="bibr" target="#b2">[3]</ref>. Neither overly large nor too small domain models are helpful. In the first case, the need to delete large portions of the modeling jeopardizes the advantages in regard to a fast requirements capture. Similarly, a too small model slows down the process by requiring to model similar details over and over again. The latter also adds to avoidable inhomogeneity of the modeling. Instead, a domain model must suitably and continuously be tailored to the particular needs of the SME. Advances in technology can easily be adopted by simply reflecting the findings via modifications of the domain model. But the more interesting changes result from the SME's individual experiences within customer projects. If a certain projectspecific extension has been added several times or if parts of the domain model have always been deleted within the recent past, these are obviously good candidates for extensions and reductions of the domain model, respectively. While reductions can be identified quite easily, the detection of similar project-specific extensions is more complicated. A first heuristic compares the "anchor objects" of a project-specific extension in the domain model for different projects <ref type="bibr" target="#b1">[2]</ref>. Anchor objects are the modeling objects of the domain model to which the project-specific extension is connected. After adopting such a project-specific extension into a domain model, we provide measures to reestablish the accuracy of the similarity search.</p><p>Transformation of Requirements Models to Later Development Phases By again building on the formalization in Telos, partially automated support for the transformation to Matlab/Simulink is provided <ref type="bibr" target="#b5">[6]</ref>. After manually resolving design alternatives, a Matlab/Simulink skeleton model is generated from the i* model. Since the conceptual model behind Simulink models is rather simple (block diagrams), the matching of concepts is straight forward. Most importantly, various i* relationships are mapped on the nesting of corresponding "system" blocks. The mapping can interactively be improved by incorporating existing hardware and platform components from SME specific Matlab libraries.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusions</head><p>The feedback from control engineers both from academia as well as industry within the project context has been very encouraging. The control engineers got rather fast familiar with the requirements representation and saw advantages due to the broader span of issues that is representable in i* compared to their specific formalisms, e. g. block diagrams. The industrial partner pointed out the unsatisfactory maturity of the tool support. In particular, they miss a clear guideline when to apply which modeling construct and how to cope with really large i* models. The domain model related support facilities have been very much embraced, maybe in particular since they provide a kind of such guidance. Furthermore a domain model allows an SME to capture consolidated and specific engineering knowledge originating in former customer projects. Together with the similarity search this provides a means to support reuse and to cope with variability while still remaining flexible, innovative, and in particular customerand project-oriented at the core.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Ongoing and Future Work</head><p>The ideas on how to support the evolution of domain models have just been started in <ref type="bibr" target="#b1">[2]</ref>. From our current experiences we expect that the proposed heuristic to detect similar project-specific extensions (based on anchor objects) needs to be combined with several other heuristics to provide for sensible suggestions. Text related issues as well as heuristics that take i* structural modeling information into account are conceivable.</p><p>Furthermore, to match with the importance of simulation during the later control system development, simulation means at requirements level have to be established. Also the characteristics and features of i* in particular in regard to the sociality of actors needs to be closer investigated in the context of this more technical setting where most actors do not represent humans but artificial components.</p><p>Eventually, the application of the domain model based requirements engineering approach has been exemplified here for the field of control systems. While a concrete domain model is as a matter of course domain specific, we assume that in many other engineering disciplines with similar characteristics as control systems development -customer-oriented development projects, high enforcement of reuse, high frequency of innovations -the basic ideas behind our approach are applicable as well. Targeted examples are access control and burglary warning systems for buildings or the construction and set-up of flexible automated manufacturing systems. The claim for a broader applicability of the proposed domain-model based approach needs to be confirmed in additional case studies, for example, in the above mentioned fields.</p></div>		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgment. This research was in part funded by the German Ministry of Education and Research (BMBF) on the project ZAMOMO, grant 01 IS E04. Thanks to our project partners Dirk Abel, Peter Drews, Frank J. Heßeler, Stefan Kowalewski, Jacob Palczynski, Andreas Polzer, and Michael Reke.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Metamodeling for Method Engineering</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Jeusfeld</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jarke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mylopoulous</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2009">2009</date>
			<publisher>MIT Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">How to keep domain requirements models reasonably sized</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">W</forename><surname>Nissen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Schmitz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jarke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Rose</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">2nd Int. Workshop on Managing Requirements Knowledge (MaRK)</title>
				<meeting><address><addrLine>Atlanta, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="50" to="59" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Evolution in domain model-based requirements engineering for control systems development</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">W</forename><surname>Nissen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Schmitz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jarke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Rose</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Drews</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">J</forename><surname>Hesseler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Reke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">17th Int. Requirements Engineering Conference</title>
				<meeting><address><addrLine>Atlanta, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="323" to="328" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Model-based requirements capture for software-based control systems</title>
		<author>
			<persName><forename type="first">D</forename><surname>Schmitz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Drews</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Hesseler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jarke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kowalewski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Palczynski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Polzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Reke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Rose</surname></persName>
		</author>
		<idno>LNI P-121</idno>
	</analytic>
	<monogr>
		<title level="m">Software Engineering</title>
				<meeting><address><addrLine>Munich, Germany</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2008">Feb. 18-22. 2008</date>
			<biblScope unit="page" from="257" to="271" />
		</imprint>
	</monogr>
	<note>in German</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Requirements engineering for control systems development in small and mediumsized enterprises</title>
		<author>
			<persName><forename type="first">D</forename><surname>Schmitz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">W</forename><surname>Nissen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jarke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Rose</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Drews</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">J</forename><surname>Hesseler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Reke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">16th Int. Requirements Engineering Conference</title>
				<meeting><address><addrLine>Barcelona, Spain</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="229" to="234" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Mapping requirement models to mathematical models in control system development</title>
		<author>
			<persName><forename type="first">D</forename><surname>Schmitz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Rose</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jarke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Polzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Palczynski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kowalewski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Reke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">5th Europ. Conf. Model Driven Architecture (ECMDA-FA), LNCS</title>
				<meeting><address><addrLine>Enschede, The Netherlands</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="volume">5562</biblScope>
			<biblScope unit="page" from="253" to="264" />
		</imprint>
	</monogr>
</biblStruct>

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