Modeling Automated Highway Systems with VeriJ

Similar documents
A Simple Proof of P versus NP

Easter bracelets for years

Methylation-associated PHOX2B gene silencing is a rare event in human neuroblastoma.

Case report on the article Water nanoelectrolysis: A simple model, Journal of Applied Physics (2017) 122,

A new simple recursive algorithm for finding prime numbers using Rosser s theorem

b-chromatic number of cacti

Smart Bolometer: Toward Monolithic Bolometer with Smart Functions

From Unstructured 3D Point Clouds to Structured Knowledge - A Semantics Approach

Performance analysis of clouds with phase-type arrivals

On Newton-Raphson iteration for multiplicative inverses modulo prime powers

Evolution of the cooperation and consequences of a decrease in plant diversity on the root symbiont diversity

Completeness of the Tree System for Propositional Classical Logic

Hook lengths and shifted parts of partitions

Dispersion relation results for VCS at JLab

Fast Computation of Moore-Penrose Inverse Matrices

Algebraic Synthesis of Transition Conditions of a State Model

Full-order observers for linear systems with unknown inputs

Exact Comparison of Quadratic Irrationals

Soundness of the System of Semantic Trees for Classical Logic based on Fitting and Smullyan

IMPROVEMENTS OF THE VARIABLE THERMAL RESISTANCE

Axiom of infinity and construction of N

Can we reduce health inequalities? An analysis of the English strategy ( )

On Solving Aircraft Conflict Avoidance Using Deterministic Global Optimization (sbb) Codes

Prompt Photon Production in p-a Collisions at LHC and the Extraction of Gluon Shadowing

Towards an active anechoic room

Analysis of Boyer and Moore s MJRTY algorithm

Thomas Lugand. To cite this version: HAL Id: tel

Solving an integrated Job-Shop problem with human resource constraints

A Simple Model for Cavitation with Non-condensable Gases

Comparison of Harmonic, Geometric and Arithmetic means for change detection in SAR time series

Vibro-acoustic simulation of a car window

The FLRW cosmological model revisited: relation of the local time with th e local curvature and consequences on the Heisenberg uncertainty principle

Electromagnetic characterization of magnetic steel alloys with respect to the temperature

Note on winning positions on pushdown games with omega-regular winning conditions

Comment on: Sadi Carnot on Carnot s theorem.

Exogenous input estimation in Electronic Power Steering (EPS) systems

Urban noise maps in a GIS

The exact complexity of the infinite Post Correspondence Problem

Numerical Exploration of the Compacted Associated Stirling Numbers

Climbing discrepancy search for flowshop and jobshop scheduling with time-lags

Antipodal radiation pattern of a patch antenna combined with superstrate using transformation electromagnetics

Numerical Modeling of Eddy Current Nondestructive Evaluation of Ferromagnetic Tubes via an Integral. Equation Approach

On Politics and Argumentation

A note on the computation of the fraction of smallest denominator in between two irreducible fractions

On the longest path in a recursively partitionable graph

Widely Linear Estimation with Complex Data

Passerelle entre les arts : la sculpture sonore

The magnetic field diffusion equation including dynamic, hysteresis: A linear formulation of the problem

A new approach of the concept of prime number

The beam-gas method for luminosity measurement at LHCb

On The Exact Solution of Newell-Whitehead-Segel Equation Using the Homotopy Perturbation Method

Solution to Sylvester equation associated to linear descriptor systems

Influence of network metrics in urban simulation: introducing accessibility in graph-cellular automata.

There are infinitely many twin primes 30n+11 and 30n+13, 30n+17 and 30n+19, 30n+29 and 30n+31

Elementary Events for Modeling of Human-System Interactions with Petri Net Models

How to make R, PostGIS and QGis cooperate for statistical modelling duties: a case study on hedonic regressions

On size, radius and minimum degree

Multiple sensor fault detection in heat exchanger system

On Poincare-Wirtinger inequalities in spaces of functions of bounded variation

Stator/Rotor Interface Analysis for Piezoelectric Motors

Gaia astrometric accuracy in the past

Unbiased minimum variance estimation for systems with unknown exogenous inputs

Lorentz force velocimetry using small-size permanent magnet systems and a multi-degree-of-freedom force/torque sensor

A novel method for estimating the flicker level generated by a wave energy farm composed of devices operated in variable speed mode

The Windy Postman Problem on Series-Parallel Graphs

L institution sportive : rêve et illusion

The Accelerated Euclidean Algorithm

Entropies and fractal dimensions

STATISTICAL ENERGY ANALYSIS: CORRELATION BETWEEN DIFFUSE FIELD AND ENERGY EQUIPARTITION

Thermodynamic form of the equation of motion for perfect fluids of grade n

Trench IGBT failure mechanisms evolution with temperature and gate resistance under various short-circuit conditions

Using multitable techniques for assessing Phytoplankton Structure and Succession in the Reservoir Marne (Seine Catchment Area, France)

Diagnosability Analysis of Discrete Event Systems with Autonomous Components

On Symmetric Norm Inequalities And Hermitian Block-Matrices

New Basis Points of Geodetic Stations for Landslide Monitoring

Near-Earth Asteroids Orbit Propagation with Gaia Observations

Question order experimental constraints on quantum-like models of judgement

Improvement of YBCO Superconductor Magnetic Shielding by Using Multiple Bulks

A simple birth-death-migration individual-based model for biofilm development

Stickelberger s congruences for absolute norms of relative discriminants

A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications

Separator Algebra for State Estimation

Finiteness properties for Pisot S-adic tilings

Hardware Operator for Simultaneous Sine and Cosine Evaluation

Simultaneous Induction Heating and Electromagnetic Stirring of a Molten Glass Bath

On one class of permutation polynomials over finite fields of characteristic two *

On path partitions of the divisor graph

DEM modeling of penetration test in static and dynamic conditions

Methods for territorial intelligence.

Influence of a Rough Thin Layer on the Potential

The influence of the global atmospheric properties on the detection of UHECR by EUSO on board of the ISS

The Learner s Dictionary and the Sciences:

Some explanations about the IWLS algorithm to fit generalized linear models

Solving the neutron slowing down equation

The core of voting games: a partition approach

A Slice Based 3-D Schur-Cohn Stability Criterion

Particle-in-cell simulations of high energy electron production by intense laser pulses in underdense plasmas

Negative results on acyclic improper colorings

Sparse multivariate factorization by mean of a few bivariate factorizations

3D-CE5.h: Merge candidate list for disparity compensated prediction

Transcription:

Modeling Automated Highway Systems with VeriJ Yan Zhang To cite this version: Yan Zhang. Modeling Automated Highway Systems with VeriJ. MOdelling and VErifying parallel Processes (MOVEP), Jun 2010, Aachen, Germany. pp.138-143. <hal-00626197> HAL Id: hal-00626197 https://hal.archives-ouvertes.fr/hal-00626197 Submitted on 23 Sep 2011 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Modeling Automated Highway Systems with VeriJ ZHANG Yan Université Pierre & Marie Curie, CNRS-UMR7606 (LIP6/MoVe) Paris, France yan.zhang@lip6.fr Abstract This paper presents VeriJ, a domain specific language (DSL) which consists of a subset of the Java language, with the aim to help engineers to easily build the state space encoding of a complex system. This language will allow to apply existing verification and control techniques based on a hierarchical variant of Decision Diagrams. The example of an automated highway system is used to present the basic constructs of the language. 1 Introduction Modeling complex systems for verification purposes is usually a difficult task, and domain experts do not wish to handle low level models or complex specification formalisms. The area of automated highway systems with respect to microscopic traffic flow, is a significant example [10]. Several modeling and verification attempts have been made on such systems with Petri nets [4, 1, 3], transition systems [2], cellular automata models [7], behavioral models [6] or linear parameter varying models [11]. In these studies, system complexity and variable number of vehicles make modeling and state space generation a painful step in the verification process. On the other hand, widely known general-purpose languages, like Java, can be used to build a system description using powerful and mature Integrated Development Environments (IDEs) such as Eclipse. There exists a powerful model checker, Java Path Finder (JPF) [5], for Java programs. JPF implements a backtrackable Java Virtual Machine (JVM) to provide non-deterministic choices and control over thread scheduling. But JPF does not scale up due to its internal state representation and to the large scope of Java. To alleviate this problem, an approach based on limited programs to establish a formal specification could be proposed, inspired by Domain Specific Languages (DSL) [12, 8] that are dedicated to a particular domain and express a small set of adapted solutions within this restricted scope. Recent developments in this direction show that DSL, thanks to this limited scope, lead to more efficient solutions than is possible in more general programming languages (like JPF). In this work, we propose to combine the advantages of the general-purpose language Java and domain specific languages to define VeriJ, a DSL which consists of a Java fragment dedicated to formal verification. This language will be used to create a model for specific domains. Automatic encoding of such a model into an efficient structure based on decision diagrams will allow domain experts to apply any verification technique available for this structure, for instance LTL or CTL model checking, or control synthesis with the Ramadge and Wonham framework [9]. Also, VeriJ provides an easy way to simulate the model. We first describe an example of highway system, then we present VeriJ through this example and conclude with future work.

2 ZHANG Yan delays lane0 4 lane1 1 2 3 4 5 6 Figure 1: Highway 2 A Highway system We consider a 1km highway section similar to the one in [2], with the aim to control vehicles and to avoid collisions. A small part of such a section is depicted in Fig. 1 (shadowed rectangles are explained later). This section is modeled as a discrete system that consists of a set of vehicles, moving on n lanes of length L, numbered from 0 to n 1. Moves of a vehicle include driving forward and changing lanes. And vehicles exiting the range of the section are deleted from the set. To be consistent with our future purpose of verification and control, we consider a labeled transition system with at most one uncontrollable vehicle operated by the environment (dark colored in Fig. 1), the rest of the vehicles being controllable by the controller. With two (or more) uncontrollable vehicles, the environment could always produce a crash. Each vehicle is defined as a tuple (xpos, ypos, xspeed, yspeed, iscontrolled), where the value xpos denotes relative position with respect to its predecessor in the horizontal direction and ypos is the number of the lane. Integer value xspeed denotes the horizontal speed, non-deterministically chosen within a fixed interval [speed min,speed max ], and yspeed is the value of vertical speed, non-deterministically chosen in { 1,0,1, allowing a vehicle to move in adjacent lanes ( 1 or 1) or stay in the current lane (value 0). The boolean label iscontrolled indicates the status of the vehicle with respect to the controller. The speed of those vehicles can be modified and new vehicle arrivals are constrained by setting a lower bound d min for a delay parameter, which represents the time elapsed between two successive arrivals on a given lane. Crashes are detected by estimating overlaps of dangerzones, which are the areas covered from the current to the next step, shown as shadowed rectangles in Fig. 1. If there exists a crash, the configuration is regarded as bad, and given a specific state label. Several standard constructs are needed to implement the description above: for each is needed to update delays for each lane or move each vehicle in the set, exists is used for predicates indicating a collision, and non-deterministic choice has to be applied in adapting speed, adding new vehicles and setting the uncontrolled vehicle. We now show how to build a DSL interface for highway systems in Java. 3 A DSL interface for the highway system As mentioned in section 1, VeriJ chooses a restricted part of Java. For instance, VeriJ includes basic data types, arithmetic operators, assignments, decision and control statements, public or private access modifiers, construction of classes with instantiation, and standard instructions from logic. VeriJ does not support the features such as libraries or native code. The VeriJ specification of the highway system described above is illustrated in Fig. 2. It contains four classes: Highway, Delays, Vehicle and VehiclesSet. We introduce the different classes and emphasize several difficult operations with corresponding VeriJ code for explanation.

Modeling Automated Highway Systems with VeriJ 3 Highway. This class has a vehicles typed VehiclesSet and a delays typed Delays. The main operation consists of a transition from the current state to the next state. This transition contains five steps shown in the code below. void t r a n s i t i o n ( ) { v e h i c l e s. moveeachvehicle ( ) ; / / a p p l y speed v e h i c l e s. r e o r d e r V e h i c l e s ( ) ; / / t o be d e s c r i b e d i n c l a s s V e h i c l e s S e t p l a y E n v i r o n m e n t ( ) ; p l a y C o n t r o l l e r ( ) ; d e l a y s. u p d a t e D e l a y ( ) ; Figure 2: Class Diagram describing the VeriJ model of Highway Systems In this function, playcontroller only control the speed of controlled vehicles, the other actions are all performed by playenvironment, described as below. p r i v a t e void p l a y E n v i r o n m e n t ( ) { addnewvehicles ( ) ; v e h i c l e s. d e l e t e E x i t V e h i c l e ( ) ; v e h i c l e s. s e t U n c o n t r o l l e d I f N o n e ( ) ; v e h i c l e s. c h o o s e S p e e d O f U n c o n t r o l l e d V e h i c l e ( ) ; p r i v a t e void p l a y C o n t r o l l e r ( ) { v e h i c l e s. c h o o s e S p e e d O f C o n t r o l l e d V e h i c l e s ( ) ; The synchronization of delays and vehicles lies in addnewvehicles() with the non-deterministic operation NDChoice(), a random boolean generator. It allows to specify free choice semantics of a system and will be used to build the different target states of the model. p r i v a t e void addnewvehicles ( ) { f o r ( i n t l a n e =0; lane<nblane ; l a n e ++){ i f ( d e l a y s. canaddvehicle ( l a n e ) && V e r i J. NDChoice ( add v e h i c l e? ) ) { v e h i c l e s. a d d V e h i c l e ( l a n e ) ; d e l a y s. r e s e t ( l a n e ) ;

4 ZHANG Yan Delays. This class uses a Java data type array to store integer data delay on each lane. For an integer counter j {0,1,...,n 1, a vehicle may be added on j th lane if delays[ j] > d min. At the moment a vehicle enters this lane, delays[ j] is reset to 0. Operations in this class are thus reset and updatedelay, where a loop statement is used to update time for each lane. Predicate canaddvehicle allows synchronization with the vehicle set. Vehicle. Vehicles using relative (instead of absolute) positions (see Section 2) for the horizontal coordinate will lead to a more compact representation of the state space and make the collision detection easier. Let i denote the i th vehicle in the list, a horizontal move from time k to time k + 1 is obtained by: xpos i (k + 1) = xpos i (k) + xspeed i (k) xspeed i 1 (k) (1) Hence, class Vehicle has operations updateposition according to the formula above, updatespeed, where non-deterministic xspeed is given in terms of a random value, and setcontrolled to set a vehicle as a uncontrolled one. It also contains a dangerzone defined by horizontal and vertical speeds. The tricky point for this class will be the constructor. When class Vehicle is instantiated by calling Vehicle(int lane), a new vehicle is added on the lane corresponding to the parameter. p u b l i c V e h i c l e ( i n t l a n e ) { xpos = 0 ; ypos = l a n e ; xspeed = V e r i J. random ( MIN X SPEED, MAX X SPEED) ; yspeed = 0 ; i s C o n t r o l l e d = t rue ; VehiclesSet. A vehicle set is a list of vehicles, described by a list with type Vehicle. The size of this list is variable to allow adding new vehicles and deleting exiting vehicles. Vehicles are added to the list one by one from the beginning. Thus, the list has an order. Since vehicles have different speeds, it is possible that the relative position xpos i becomes negative in the update operation, when overtaking occurs. In this case, the list must be reordered. It also suggests a risk of collision if dangerzones overlap with each other. Predicate isbad returns a boolean value labeling a configuration where a collision occurs. If there is no uncontrolled vehicle in the section, a nondeterministic operation may be applied to set (at most) one. Class VehiclesSet includes operations addvehicle, deleteexitvehicle, moveeachvehicle, reordervehicles, choosespeed, setuncontrolledifnone and a predicate isbad. The operation reordervehicles is a difficult point in this class. It must carry out two actions, changing order in the list and assigning correct values to relative position xpos. To take into account the case where a high-speed vehicle overtakes more than one vehicle, we introduce the predecessor and successor for each vehicle with negative xpos. A for loop with index is used to apply reorder to each vehicle. p u b l i c void r e o r d e r V e h i c l e s ( ) { f o r ( i =0; i<v e h i c l e s. s i z e ( ) ; i ++){ V e h i c l e v e h i c l e = v e h i c l e s. g e t ( i ) ; i f ( v e h i c l e. hasnegativexpos ( ) ) { / / s e t p r e d e c e s s o r V e h i c l e vpred = v e h i c l e s. g e t ( i 1) ;

Modeling Automated Highway Systems with VeriJ 5 / / r e c o r d c u r r e n t n e g a t i v e xpos i n t c u r r e n t p o s = v e h i c l e. xpos ; / / u p d a t e xpos o f c u r r e n t v e h i c l e v e h i c l e. xpos = v e h i c l e. xpos + vpred. xpos ; / / u p d a t e xpos o f p r e d e c e s s o r vpred. xpos = c u r r e n t p o s ; / / s e t s u c c e s s o r V e h i c l e vsucc = v e h i c l e s. g e t ( i +1) ; / / u p d a t e xpos o f s u c c e s s o r vsucc. xpos = v e h i c l e. xpos + c u r r e n t p o s ; / / swap t h e o r d e r o f c u r r e n t v e h i c l e and p r e d e c e s s o r v e h i c l e s. s e t ( i, vpred ) ; v e h i c l e s. s e t ( i 1, v e h i c l e ) ; The configuration label bad is determined by the answer to does a vehicle set contains at least an item with the crash property?. This labeling is performed by the exists predicate, which returns true if predicate dangerzoneoverlap() returns true for at least one item in the iterable object vehicles. p u b l i c boolean isbad ( ) { return V e r i J. e x i s t s ( dangerzoneoverlap ( ), v e h i c l e s ) ; The syntax of VeriJ was explained on the highway system and will then be used to automatically generate a model for state space exploration. In the same way, VeriJ can be used on other engineering specifications to handle formal verification. 4 Simulation In this section, we apply VeriJ to execute a highway system, running on top of a host JVM. Three implementation modes are designed for particular purposes. Random Mode: This mode randomly generates a value for each non-deterministic situation; Keyboard Mode: It allows engineers to set up their own scenario for the system by assigning the non-deterministic choice an expected value from keyboard; a scaled number of vehicles can be added on the highway section; Trace Mode: In this mode, a recorder is built to keep the values set in the other two modes to offer a means to observe the system. Figure 3: Highway Execution Fig. 3 shows a configuration of an execution in a random mode. In this diagram, each grid represents a position one vehicle may occupy, with the correct order for vehicles and vehicle4 labeled as uncontrollable. Overlaps exist between dangerzones of vehicle1 and vehicle2 and between vehicle3 and vehicle4, hence producing a bad configuration.

6 ZHANG Yan This example shows how VeriJ benefits from standard Java execution, while also offering a nice basis to build a complete representation for formal analysis. 5 Conclusion This paper presents VeriJ, a DSL for modeling, simulation and verification of complex systems. The next step will be to translate this fragment in a framework based on Decision Diagrams, allowing to provide a compact encoding of the state space for a system described in VeriJ. Verification techniques (like LTL or CTL model checking) and control synthesis will then be directly applied on the translation. References [1] A. Aitouche and S. Hayat. Multiagent model using coloured petri nets for the regulation traffic of an automated highway. Journal of Intelligent Transportation Systems, IEEE, 1:37 42, 2003. [2] B. Bérard, S. Haddad, L. Hillah, F. Kordon, and Y. Thierry-Mieg. Collision Avoidance in Intelligent Transport Systems: towards an Application of Control Theory. In Proceedings of the 9th International Workshop on Discrete Event Systems (WODES 08), pages 346 351, Göteborg, Sweden, May 2008. IEEE Press. [3] F. Bonnefoi, L. Hillah, F. Kordon, and G. Frémont. An approach to model variations of a scenario: Application to intelligent transport systems. In Fourth International Workshop on Modelling of Objects, Components and Agents (MOCA O6), pages 65 86, Universität Hamburg, 2006. [4] I. Demongodin. Modeling and analysis of transportation networks using batches petri nets with controllable batch speed. In PETRI NETS 09: Proceedings of the 30th International Conference on Applications and Theory of Petri Nets, pages 204 222, Berlin, Heidelberg, 2009. Springer-Verlag. [5] T. Gvero, M. Gligoric, S. Lauterburg, M. d Amorim, D. Marinov, and S. Khurshid. State extensions for Java PathFinder. In Proceedings of the 30th international conference on Software Engineering (ICSE 08), pages 863 866, New York, NY, USA, 2008. ACM. [6] H. Jochen. New Behavioral Model for Microscopic Freeway Traffic-Flow Simulation. Transportation Research Record: Journal of the Transportation Research Board, 2088:10 17, 2008. [7] W. Knospe, L. Santen, A. Schadschneider, and M. Schreckenberg. Towards a realistic microscopic description of highway traffic. Journal of Physics A: Mathematical and General, 33(48):L477 L485, 2000. [8] F. Maraninchi and Y. Rémond. Mode-Automata: a new Domain-Specific Construct for the Development of Safe Critical Systems. Science of Computer Programming, 46:219 254, 2003. [9] P. Ramadge and W. Wonham. Supervisory Control of a Class of Discrete-Event Processes. SIAM Journal of Control and Optimization, 25(1):206 230, 1987. [10] S. E. Shladover. Modelling and control issues for automated highway systems. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 215(4):335 343, 2001. [11] L. Tamás, K. Balázs, V. István, and J. Bokora. Parameter-dependent modeling of freeway traffic flow. Transportation Research, 18(4):471 488, Aug. 2010. [12] E. Visser. WebDSL: A Case Study in Domain-Specific Language Engineering. In Generative and Transformational Techniques in Software Engineering (GTTSE 2007), LNCS, pages 291 373. Springer, 2008.