<?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">Validation of Regulation Documents by Automated Analysis of Formal Models</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Didier</forename><surname>Bert</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">LSR-IMAG</orgName>
								<address>
									<settlement>Grenoble</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Fabrice</forename><surname>Bouquet</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">LIFC</orgName>
								<address>
									<settlement>Besançon</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Yves</forename><surname>Ledru</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">LSR-IMAG</orgName>
								<address>
									<settlement>Grenoble</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sylvie</forename><surname>Vignes</surname></persName>
							<affiliation key="aff2">
								<orgName type="department" key="dep1">GET/ENST</orgName>
								<orgName type="department" key="dep2">Département Informatique et Réseaux</orgName>
								<address>
									<settlement>Paris</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Validation of Regulation Documents by Automated Analysis of Formal Models</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">C6349219682E33E8DC9865BF325E4431</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T09:10+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>Civil aviation standards</term>
					<term>security</term>
					<term>modelling</term>
					<term>formal methods</term>
					<term>test generation</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The security of civil aviation is regulated by a series of international standards and recommended practices. The EDEMOI project aims at investigating different techniques to analyse these standards. In this paper, we address two automated analysis techniques. First statetransition diagrams are extracted to visualize the nominal behavior of the involved actors. Then, models are lightly altered, and test scenarios are generated to determine how security measures could be breaked.</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>The security of civil aviation is regulated by a series of international standards and recommended practices. The main reference is Annex 17 to the Convention on International Civil Aviation <ref type="bibr" target="#b4">[1]</ref>. The EDEMOI project <ref type="bibr" target="#b9">[6]</ref> aims to provide different techniques to analyse these standards and to develop tools to study the consistency of regulation documents. Standards are written in English and it is not easy to ensure that some parts of the document are not in conflict with other parts or, more commonly, that some cases are not forgotten in particular situations. Moreover, the documents are updated frequently, and it is necessary to verify that the security level of a version is not lowered in the next version.</p><p>However, it is difficult to automatically validate these documents. So, the approach of the EDEMOI project is to represent regulation documents by several models which are closely related. Among them, formal models are useful to make standards more precise and to analyse them by means of tools issued from software engineering methods.</p><p>In this paper, we present two complementary automated techniques applied to the formal models. First, we consider state-transition diagrams that can be extracted from the models to visualize the nominal behavior of the involved actors. Then, models are lightly altered, and test scenarios leading to an inconsistent state are generated. They help to determine how erroneous and potentially dangerous scenarios can occur. Section 2 gives an overview of the context of the project. Section 3 shows how state-transition diagrams (statecharts) are built. Section 4 indicates how scenarios are generated by using testing techniques.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Context of the EDEMOI project</head><p>The project is dedicated to the investigation of regulation about airport security. The airport is the place where passengers and their baggage are controlled before boarding an aircraft. Preventing dangerous objects from being brought on board an aircraft is a significant step to prevent acts of unlawful interference during a flight. The main general document (Annex 17 <ref type="bibr" target="#b4">[1]</ref>) must be followed by all countries that are members of the International Civil Aviation Organization (ICAO).</p><p>In the litterature, regulation modelling has not attracted much attention from the computer science research community. We have developed a requirement engineering (RE) method by extending or adapting existing RE methods. Indeed, our goal is not the development and production of software: it is to exhibit the security requirements described in the standards in order to specify the whole system and to check that the specification meets these requirements by using formal proofs. A goal-oriented requirements method such as KAOS <ref type="bibr" target="#b8">[5]</ref> is the most appropriate. The main goal is the security of the flights. It can be decomposed into several subgoals (with respect to the airport security) such as: no dangerous object is in cabin, no dangerous object is in hold. Again, to prevent dangerous objects for being in cabin, other subgoals must be satisfied: screening of passengers and cabin baggages, no contact between screened passengers and non-screened, and so on. Once these relationships on security properties are established, the process consists in modelling situations and actors of an airport, where the subgoals are brought into play: registration desk, screening checkpoint, boarding-room, passenger boarding, etc. In all these situations, the model must describe which "events" can occur, and under which conditions the security levels are respected.</p><p>We have used UML diagrams as the representational schema for our product models (requirements and system models). Although these diagrams do not convey all the details of Annex 17, they help in structuring the models and, above all, provide a support for the discussion with certification authorities and for further validation of the models. The requirement engineering process of EDEMOI has been explained and detailed in <ref type="bibr" target="#b11">[8]</ref>. It is pictured in Fig. <ref type="figure" target="#fig_0">1</ref>.</p><p>The second element of modelling relies upon formal models. In the considered part of the project, formal models are written in B <ref type="bibr" target="#b5">[2]</ref>, a method dedicated to software development of critical software. Formal specifications provide tools to check the consistency of models. They can also be used as a starting point for animating specifications <ref type="bibr" target="#b7">[4]</ref>, for the generation of state transition diagrams <ref type="bibr" target="#b6">[3]</ref> and for a test generation process <ref type="bibr" target="#b12">[9]</ref>.</p><p>As it is recognized, formal methods and their associated mathematical language are difficult to understand. So, in the EDEMOI approach, graphical and formal models are built together, and are partially related by tool translation, as, for example, the tool presented in <ref type="bibr" target="#b10">[7]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Building state-transition diagrams</head><p>A B model is a system defined by a component which contains (i) static declarations, as the global sets of baggages, passengers, and the specification of static relations and functions of the domain; (ii) dynamic entities, as the set of flights, passengers currently in the airport, screened passengers, relations between passengers and their flight, baggages of the passengers, etc. They constitute the state of the component; (iii) a sequence of events, which define the behavior of the entities. An event can be executed when its guard is true (a guard is a boolean condition on the state).</p><p>Security properties are modelled as invariants of the system. For example, the main security property is that there is no dangerous objects in an aircraft, unless these objects are given an explicit authorization. This property is mathematically stated in the model and one can prove that it is preserved by the events.</p><p>The airport has been modelled following Annex 17. For brevity, we do not detail this model in the paper. The events are:</p><p>management of the flights: open boarding, close boarding, -introduction of categories of passengers: new originating passenger, new transit passenger, new transfer passenger actions of the passengers in the airport: check in registration, passing the screening point, passing the control point, mixing or contact, boarding in cabin.</p><p>The "GeneSyst" tool <ref type="bibr" target="#b6">[3]</ref> can automatically extract a state-transition diagrams from the formal model. originating or in transit or in transfer. After that, zz is controlled or screened according to her/his characteristics, and zz becomes a departure passenger, if the checks succeed. Finally, zz is on board (not represented as a state). Each event is split into the cases where the passenger is zz (postfix of event is " zz") or not (postfix of event is " aa"). During the evolution of passenger zz, some events can occur for managing other passengers than zz (factorized as "any aa event", put for the events in the square box). For this generation, passenger zz (a new fresh variable) is introduced in the system. The resulting diagram is shown in Fig. <ref type="figure">2</ref>.</p><p>On the diagram, a transition like [][]event between state 1 and state 2 , means that event is always enabled in state 1 and that it always reaches state 2 . A transition like <ref type="bibr">[G]</ref>[]event means that event is enabled in state 1 under some condition and similarly [] <ref type="bibr">[G]</ref>event means that state 2 is reachable from state 1 by event under some condition. By clicking on the transitions, the GeneSyst tool displays the involved conditions.</p><p>For the construction of ST diagrams, the states of interest are provided by the user. So, various views of the model can be explored following the entities examined in the states. An application of this generation is to check if the formal model specifies the expected behavior of the actors. If some transitions seem dubious or missing, the user can verify in the formal model and in the initial documents if this fact is due to omissions or inconsistencies, or possibly, to a misunderstanding of the regulation documents.</p><p>The GeneSyst tool can take into account refinement levels. It then produces hierarchical diagrams that represent refinement of data or actions. For instance, one can refine the previous model to distinguish between several kinds of passengers, such as ordinary, obliged and armed passengers. The specific events related to these passengers become new transitions inside old states. Another example of action refinement is the decomposition of the screening check-point into several more elementary steps.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Generating test scenarios</head><p>Another useful analysis technique is to determine whether, when and where a given condition is really mandatory to garantee the expected security level. If it is so in the formal model, then the condition must effectively be checked in the real world of the airports.</p><p>To perform this analysis, each event is transformed in such a way that each conjunct of its "guard" is replaced by its negation (to force the cases where really the condition does not hold). So, an event may produce several modified events. This transformation builds new models that contain a lot of scenarios: e.g. passengers can move without fulfilling all the conditions wrt. the initial model. From these models, the BZ-TT test generation tool <ref type="bibr" target="#b12">[9]</ref> is able to automatically generate sequences of events starting from a given state and reaching an expected event where the state is inconsistent. A typical exemple of scenario is to search how (i.e. through which sequence of events) a given originating passenger can enter the cabin of an aircraft without satisfying the security conditions. On the set of all the generated scenarios, only those where a regular behavior can lead to a modified event and then produces an inconsistency, are selected. In that case, the condition which is falsified is really mandatory to avoid the erroneous detected scenario. The usefulness of such a generation is that it is automated and exhaustive.</p><p>For instance, in a very simple case generation process, we determined that an originating passenger can pass through the control-point instead of the screeningpoint. For the adequate values of the variables determined by the tool, the sequence is: open boarding; new originating passenger; check in registration; bad passing the control point where the test which fails is that the passenger must be in transit or in transfer. Another erroneous sequence shows that a transfer passenger can go on board without passsing the control-point, and so on. In each case, it is easy to determine what is the point which fails in the scenario. We expect that we shall be able to detect fine-grain security conditions on more refined models.</p><p>The tests generation technique needs to be improved and adapted to our goals, but it is already promising. The determination of mandatory conditions could be a guide to generate check-lists for the control of airports by security inspectors. Indeed, completeness of the check-lists is a concern of the ICAO experts.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusion</head><p>The EDEMOI project is dedicated to modelling regulation documents in order to analyze the resulting models by tools issued from software engineering techniques.</p><p>In this short paper, we have presented the requirements engineering approach adapted to the kind of documents we have to deal with. We have shown two techniques developed in the project, based on the B models. The first one is the generation of state-transition diagrams by the GeneSyst tool. The second one is the generation of faulty scenarios to detect security holes. We believe that these approaches can be useful to validate models, to detect omissions or inconsistencies, to ensure non-regression in case of evolution or modification of the regulation documents, and to provide help for writing security check-lists.</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. Documents and actors of the modelling process.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 Fig. 2 .</head><label>22</label><figDesc>Fig. 2. Transition diagram generated by GeneSyst for passenger zz.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">This work was done in the EDEMOI project of program "ACI : Sécurité Informatique" supported by the French Ministry of Research and New Technologies.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_1">REMO2V'06</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title/>
		<author>
			<persName><forename type="first">G</forename></persName>
		</author>
		<imprint/>
	</monogr>
	<note>passing_the_screening_point_aa. loading_in_cabin_aa [G. mixing_or_contact_aa [G. passing_the_control_point_aa [G. new_transfer_passenger_aa [G. new_transit_passenger_aa [G. check_in_registration_aa [G. new_originating_passenger_aa. Init. mixing_or_contact_zz [G. check_in_registration_zz. passing_the_screening_point_zz. passing_the_control_point_zz. passing_the_control_point_zz</note>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title/>
		<author>
			<persName><forename type="first">G]</forename><surname>Passing_The_Control_Point_Zz</surname></persName>
		</author>
		<imprint/>
	</monogr>
	<note>new_originating_passenger_zz [G. new_transfer_passenger_zz [G. new_transit_passenger_zz. loading_in_cabin_zz</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">G</forename><surname>] ; G] Passing_The_Screening_Point_Zz ; G ; G</surname></persName>
		</author>
		<title level="m">passing_the_control_point_zz zz transitPassengers zz transferPassengers not</title>
				<imprint/>
	</monogr>
	<note>zz departurePassengers</note>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m">originatingPassengers\/transitPassengers\/transferPassengers)) &amp; zz originatingPassengers zz departurePassengers References</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m">Aviation -Security -Safeguarding International Civil Aviation against acts of unlawful interference</title>
				<imprint>
			<publisher>ICAO</publisher>
			<date type="published" when="2002-04">april 2002</date>
		</imprint>
	</monogr>
	<note>A17. Annex 17 to the Convention on International Civil</note>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">The B Book -Assigning Programs to Meanings</title>
		<author>
			<persName><forename type="first">J.-R</forename></persName>
		</author>
		<imprint>
			<date type="published" when="1996-08">August 1996</date>
			<publisher>Cambridge University Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">GeneSyst: A Tool to Reason about Behavioral Aspects of B Event Specifications. Application to Security Properties</title>
		<author>
			<persName><forename type="first">D</forename><surname>Bert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M.-L</forename><surname>Potet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Stouls</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of ZB2005 Conference</title>
		<title level="s">LNCS</title>
		<meeting>ZB2005 Conference</meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3455</biblScope>
			<biblScope unit="page" from="299" to="318" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A constraint Solver to Animate a B Specification</title>
		<author>
			<persName><forename type="first">F</forename><surname>Bouquet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Legeard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Peureux</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Int. Journal on Software Tools for Technology Transfer</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Goal-directed Requirements Acquisition</title>
		<author>
			<persName><forename type="first">A</forename><surname>Dardenne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">V</forename><surname>Lamsweerde</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Fickas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Science of Computer Programming</title>
		<imprint>
			<biblScope unit="volume">20</biblScope>
			<biblScope unit="page" from="3" to="50" />
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<author>
			<persName><surname>Edemoi</surname></persName>
		</author>
		<ptr target="http://www-lsr.imag.fr/EDEMOI/" />
		<title level="m">EDEMOI project web site</title>
				<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Derivation of UML Class Diagrams as Static Views of Formal B Developments</title>
		<author>
			<persName><forename type="first">A</forename><surname>Idani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Ledru</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Bert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 7th Int. Conference on Formal Engineering Methods (ICFEM&apos;05)</title>
				<meeting>the 7th Int. Conference on Formal Engineering Methods (ICFEM&apos;05)</meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3785</biblScope>
			<biblScope unit="page" from="37" to="51" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Application of Requirements Analysis Techniques to the Analysis of Civil Aviation Security Standards</title>
		<author>
			<persName><forename type="first">R</forename><surname>Laleau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Vignes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Ledru</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lemoine</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Bert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Donzeau-Gouge</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Dubois</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Peureux</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of SREP&apos;05 -13th IEEE Int. Requirements Engineering Conf</title>
				<meeting>SREP&apos;05 -13th IEEE Int. Requirements Engineering Conf</meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="91" to="106" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Automated Boundary Testing from Z and B</title>
		<author>
			<persName><forename type="first">B</forename><surname>Legeard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Peureux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Utting</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of FME&apos;02 -Formal Methods Europe</title>
				<meeting>FME&apos;02 -Formal Methods Europe</meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="volume">2391</biblScope>
			<biblScope unit="page" from="21" to="40" />
		</imprint>
	</monogr>
</biblStruct>

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