Next Article in Journal
Fault Identification Method for Flexible Traction Power Supply System by Empirical Wavelet Transform and 1-Sequence Faulty Energy
Previous Article in Journal
MTC-BEV: Semantic-Guided Temporal and Cross-Modal BEV Feature Fusion for 3D Object Detection
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Formal Modelling and Verification of Multi-Parameter Context and Agent Transition Systems: Application to Urban Delivery Zone and Autonomous Electric Vehicle

by
Abir Nemouchi
1,
Ahmed Bouzenada
1,
Djamel Eddine Saidouni
1 and
Gregorio Díaz
2,*
1
MISC Laboratory, University of Abdelhamid Mehri Constantine 2, Constantine 25016, Algeria
2
Instituto de Investigación en Informática, Escuela Superior de Ingeniería Informática, Universidad de Castilla-La Mancha, 02071 Albacete, Spain
*
Author to whom correspondence should be addressed.
World Electr. Veh. J. 2025, 16(9), 494; https://doi.org/10.3390/wevj16090494
Submission received: 18 July 2025 / Revised: 20 August 2025 / Accepted: 28 August 2025 / Published: 1 September 2025

Abstract

The increasing integration of autonomous electric vehicles (EVs) into Intelligent Transportation Systems (ITSs) needs rigorous mechanisms to ensure their safe and effective operation in dynamic environments. The reliability of such vehicles depends not only on their internal capabilities but also on the suitability and safety of the environments in which they operate. This paper introduces a formal modelling framework that captures independently the dynamic evolution of the environmental context and the EV agent using multi-parameter transition systems. Two distinct models are defined: the Context Transition System (CTS), which models changes in environmental states, and the Agent Transition System (ATS), which captures the internal state evolution of the EV. Safety and liveness properties are formally specified in Computation Tree Logic (CTL) and verified using the nuXmv model checker. The framework is validated through two representative use cases: a dynamic urban delivery zone and an autonomous electric delivery vehicle. The results highlight the framework’s effectiveness in detecting unsafe conditions, verifying mission objectives, and supporting the reliable deployment of EVs in ITS.

1. Introduction

Electric vehicles (EVs) are becoming central to the future of urban mobility and are increasingly integrated into Intelligent Transportation Systems (ITSs) to enable autonomous driving, smart energy management, and safe navigation [1,2]. Their increasing deployment requires that EV operations meet rigorous safety, efficiency, and adaptability requirements, particularly in dynamic environments [3]. These environments often involve various parameters that change over time. As such, ensuring the safe operation of EVs, as well as the safety and suitability of the environment in which they operate, is essential.
To guarantee safe and correct behaviours, two key components must be modelled and monitored: the context which captures dynamic environmental information, and the autonomous agent that interacts within the environment and manages its behaviour and internal state to accomplish predefined goals [4]. The continuous evolution of the two components increases their complexity and makes them susceptible to failures or undesired behaviours.
Recent studies highlight the importance of incorporating context-awareness mechanisms in ensuring the safe operation of EVs. For instance, Kumari et al. (2025) [5] introduces an ontology-based security framework that dynamically adapts to contextual changes during EV charging to prevent potential threats. Similarly, other studies integrate contextual data into safety models to reduce risks related to fire hazards or sensor vulnerabilities [6,7].
EVs can be viewed as autonomous agents operating within ITS environments. Several studies underline the critical role of formal methods and model-based approaches in ensuring the safe and reliable operation of EVs. In the context of smart grids, Wooding et al. (2020) [8] demonstrates how formal controller synthesis based on temporal logic and symbolic abstraction ensures safe frequency regulation by incorporating EVs as controllable resources. Their approach provides a mathematical guarantee that system-level specifications are maintained even in the presence of power disturbances. Likewise, Goswami et al. (2013) [9] underlines the growing importance of model-based development and formal verification in EV control software. The authors support the integrated design flows that co-optimise control logic and embedded platform parameters to meet stringent timing and safety requirements. These works reflect the application of formal techniques to manage the complexity, performance, and safety of EV systems in real-world applications.
Despite these advancements, a significant challenge remains in EVs advancement: ensuring that EVs operate safely under all possible environmental and operational changes, and that the surrounding context remains suitable for their deployment. Formal verification offers a rigorous approach to ensure that these components behave as expected over all possible changes, which is crucial in safety-critical scenarios like those involving ITSs and autonomous vehicles [10].
A central issue lies in capturing the dynamic nature of both the environmental context and the agent (EV). A key question is how to formally represent the evolution of these components using parameter-driven models that reflect their continuous change over time. This raises the need for structured, state-based formalisms capable of modelling transitions in context and agent states in a precise and analysable manner. Developing such models is important not only to represent these evolutions clearly but also to enable formal reasoning and automated verification of critical properties.
In this paper, we propose the following key contributions:
  • Symbolic modelling of context and agent dynamics: we propose a formal and symbolic representation of the dynamic nature of the environmental context and the EV (agent) using two distinct transition systems:
    • The CTS models the evolution of the environmental context by capturing changes in the values of its defining parameters over time, such as changes in traffic congestion or the availability of charging stations.
    • The ATS is defined for an EV situated within a given context, and it represents the internal evolution of the EV as a function of the values of its parameters changing.
  • Context monitoring based on Edge Node: An Edge Node, embedded within the environment, is responsible for capturing parameter changes and constructing the corresponding CTS.
  • Formal verification using model checking: The two transition systems are the basis for verifying properties using model checking techniques. We specify safety and liveness properties in Computation Tree Logic (CTL) and verify them using the nuXmv model checker [11].
The remainder of the paper is organized as follows: Section 2 introduces the fundamental definitions and concepts required for our work. Section 3 presents our contribution, including the proposed architecture, the formal definitions of the CTS and ATS, and the verification process. Section 4 presents the use cases. Section 5 reviews related works and discusses their relevance to our proposed approach. Section 6 concludes the paper by summarising the key findings and outlining future research directions. The results of the formal verification performed using the nuXmv tool are provided in Appendix A.

2. Background

This section introduces the core concepts required to support the contributions of this work. We first present the environmental context and its role regarding the safety of ambient systems. Then, we define ambient agents, focusing on electric vehicles (EVs) as intelligent entities that act and adapt within dynamic environments. Finally, we present Computation Tree Logic (CTL) as a formal method for verifying system properties, including safety and liveness.

2.1. Environmental Context

Ling Feng et al. [12] distinguish two broad classes of context: user-centric context and environmental context. The user-centric context concerns information about the user, including background (e.g., habit and preference), dynamic behaviour (e.g., intentions and tasks), physiological state (e.g., body temperature), and emotional state (e.g., happiness and calmness). Environmental context concerns information about the surroundings, including physical environment (e.g., time and location), social environment (discount policies and traffic congestion), and computational environment (e.g., surrounding devices).
Our work focuses on modelling and verifying the environmental context, as it provides essential information about the surrounding environment needed for its characterisation.
Definition 1 
(Environmental Context [12]). A context is defined as an n-dimensional set of attributes, represented as the Cartesian product of these attributes, where each attribute has an interpretation domain specifying the range of values it can take.

2.2. Ambient Agent

The agent is defined as an entity that makes autonomous decisions and acts to achieve its goals. There are several definitions of the term “agent” in the literature. Tapia et al. [13] define an agent as a computational system embedded within an environment, capable of acting autonomously to achieve its intended goals. Similarly, Dorri et al. [14] describe an agent as an entity situated within an environment that senses various parameters, enabling it to make decisions aligned with its goals. Based on these decisions, the entity performs appropriate actions that affect its surrounding environment. Furthermore, Mahela et al. [15] characterise agents as intelligent entities capable of acting autonomously and adaptively, making informed decisions based on their reasoning and experiences.

2.3. Electric Vehicle

Electric vehicles (EVs) represent an emerging and rapidly evolving technology within Intelligent Transportation Systems. They are widely regarded as a technological advancement that offers a sustainable mobility alternative and addresses environmental issues associated with conventional automobile usage [16]. EVs replace the internal combustion engine with an electric motor powered by electricity stored in an onboard battery pack [17].

2.4. Computation Tree Logic

Computation Tree Logic (CTL) is widely used to formally specify system properties, particularly in the domains of model checking and formal verification. CTL is a branching-time temporal logic in which path quantifiers A (for all paths) and E (there exists a path) are combined with temporal operators X (neXt state), F (eventually/in the Future), G (Globally/always), and U (Until) to express properties over possible system executions [18].

2.4.1. CTL Syntax

Let A P be a set of atomic propositions. The syntax of CTL formulas is defined inductively as follows:
  • Every p A P is a CTL formula.
  • If φ and ψ are CTL formulas, then so are
    ¬ φ , φ ψ , φ ψ , φ ψ ,
    A X φ , E X φ , A F φ , E F φ , A G φ , E G φ , A [ φ U ψ ] , E [ φ U ψ ] .

2.4.2. CTL Semantics

CTL formulas are interpreted over a Kripke structure  M = ( S , R , L ) , where:
  • S is a set of states;
  • R S × S is a total transition relation;
  • L : S 2 A P assigns to each state the set of atomic propositions true in that state.
The satisfaction relation M , s φ is defined inductively:
  • M , s p iff p L ( s ) .
  • M , s ¬ φ iff not ( M , s φ ) .
  • M , s φ ψ iff ( M , s φ ) and ( M , s ψ ) .
  • M , s E X φ iff there exists s such that ( s , s ) R and M , s φ .
  • M , s A X φ iff for all s such that ( s , s ) R , M , s φ .
  • M , s E [ φ U ψ ] iff there exists a path π from s and some i 0 such that M , π [ i ] ψ and M , π [ j ] φ for all 0 j < i .
  • M , s A [ φ U ψ ] iff for all paths π from s there exists some i 0 such that M , π [ i ] ψ and M , π [ j ] φ for all 0 j < i .

3. Proposal

In this section, we introduce a formal framework for modelling and verifying a dynamic environmental context and an autonomous agent. The evolution of the context is captured by an Edge Node integrated within the environment, which monitors parameter changes and generates the corresponding context states. The evolution of the agent is treated as a formal specification based on changes in its internal parameters. The objective is to ensure safe and correct operation by enabling formal verification of the context and agent dynamics using CTL and nuXmv model checker.
Figure 1 presents three distinct contexts, labelled C 1 , C 2 , and C 3 . Each one is linked to an Edge Node (EN) that captures contextual information and generates the corresponding CTS. These CTSs illustrate how contexts evolve by capturing the changes from one state to another.
An agent operates within a given context and is associated with its own specification Agent Transition System (ATS), which formally captures the evolution of the agent through transitions between distinct internal states over time.

3.1. Data Types Definition

A data type defines a set of values that variables of that type can take. This subsection provides the necessary preliminaries on the syntax and semantics of types, based on [19]. These concepts are fundamental to our modelling approach, which is built around parameters. Each parameter is associated with a specific type, and its possible values are taken from the interpretation domain defined by that type.

3.1.1. Syntax

Types may be divided into two categories: basic and composite types. The names of some of the basic types are specified in the following:
  • n a t : represents the type of natural numbers.
  • r e a l : refers to the real type.
  • b i n : is the binary type.
  • c h a r : defines the type of single characters, like single letters, punctuation marks, etc.
  • s t r i n g : represents a sequence of characters.
In addition, the composite types are built from several other types, and they are described using the definition of Cartesian product in [19]:
i I A i = { f : I i I A i | f ( i ) A i i I }
such that I is the set of index sets A i and for every i I the Cartesian product is the set of functions f ( i ) A i , where each function is considered a finite or infinite tuple composed of elements, and each one of them is from an A i , f o r e v e r y i I .

3.1.2. Semantics and Meanings

To describe the semantics of the represented syntax, we opt for the definition of the interpretation domain for each type τ [19].
Definition 2 
(interpretation domains). The interpretation domain of a data type is a non-empty set of possible values described as follows:
τ = { v 0 , v 1 }
For every data type τ , τ is a set of the matching possible values v i . Based on this, the interpretation domains of certain simple types are as follows:
b i n = { true , false }
n a t = { 0 , 1 , 2 , }
c h a r = { a , b , c , , z , ! , ? , }

3.2. Bnf-Based Specification of Types

In this paper, types are defined using the Backus–Naur Form (BNF) as follows:
simple τ : : = nat | real | bin | char | string
τ : : = simple τ | simple τ τ
That is, τ represents either simple or composite types.

3.3. Context Transition System

In this section, we formally define the concept of context, formalising the definition introduced in [12], and present it in Definition 3. We then introduce several key concepts needed to built the CTS, based on [19], which is formally described in Definition 5.
Definition 3 
(A context). A context C is defined through a non-empty finite set of parameters P c ranged over by { p c 1 , p c 2 , p c 3 , , p c n } . Each p c i ( 1 i n ) in P c is a parameter identifier with a type τ p c i and a value in the corresponding type domain τ p c i .

3.3.1. Interpretation Domain

The interpretation domain of a context is
C = p c i P c τ p c i
That is, C is the Cartesian product of parameter values. It is a particular set of states such that each tuple of C is a state.

3.3.2. Assignment Command

The following syntactic rules are given over context parameters:
Value of parameter identifier p c i P c :
p c i : v [ τ p c i ]
Parameter assignment operation:
v : [ τ p c i ] p c i : = v
such that v [ τ p c i ] denotes a value of type τ p c i , and p c i : v [ τ p c i ] describes a value expression for a parameter p c i . p c i : = v is considered a parameter assignment operation. A value expression depends on the actual state s C of context C . However, an assignment operation changes the context state.

3.3.3. Set of Functions

The interpretation domain of a context C is regarded as a set of functions s from context parameters to values, where
p c i P c : s ( p c i ) τ p c i
Therefore, the semantic equations are specified as follows:
p c i s = s ( p c i )
p a i : = v s = s p c i v / / extended function of s
where the value of a parameter p c i at a particular state s C is obtained through s ( p c i ) . However, the application of an assignment operation generates the transition from a state s to a state s ( s | p c i v ) that is identical to s except that the value of p c i is replaced by v, such that
p a i : = v s = ( s | p c i v ) s ( p c i ) = p c i s s ( p c j ) = s ( p c j ) , p c j p c i
Definition 4 
(Assignment chain over context parameter). Let s C be a context state and let p c i : = v s be a semantics of a parameter assignment operation, where p c i P c and v τ p c i . An assignment chain is a sequence of semantics of parameters assignment operations representing changes in parameter values from state s. Inductively it is defined as follows:
σ c = p c i : = v s σ c = σ c . σ c σ c

3.3.4. Extended Date Variable

To associate each change in context state with a specific temporal reference, a particular variable named Extended Date ( E D ) is introduced. This variable captures both the date and the time of the context update, where the date is represented as a tuple d a y / m o n t h / y e a r and the time as hour:minute. The values assigned to E D correspond to real-world physical time.
Formally, for every context state transition, the variable E D is updated accordingly. Given an assignment chain σ c representing parameters update from a context state s, the extended assignment chain σ is defined as
σ = σ c . E D = D v T v
where:
  • D v is the assigned date value.
  • T v is the assigned time value.
  • E D = D v T v is the assignment of the combined temporal value to E D .
Let Σ P c be the set of all extended assignment chains. Then, Σ P c = { σ σ = σ c . E D = D v T v } .
The potential changes in a context C lead to the production of several context states. To represent the dynamic nature of C based on states and transitions, a CTS (for Context Transition System) is built. In the following, a formal definition is given.
Definition 5 
(CTS). Let C be a context. Its associated CTS is a tuple ( Q , Δ , q 0 ) where we have the following:
  • Q : is a countable set of context states labels such that for each state label q c i Q , its corresponding state in C is noted q c i .
  • Δ: is a transition relation between context states labels such that Δ Q × Σ P c × Q . A transition ( q c i , σ i , q c j ) describes the shift between q c i and q c j when, at least, one parameter value of q c i changes. σ i indicates the corresponding extended assignment chain for parameters whose values have changed in this transition and for the E D variable that is updated with the extended date at which the change occurs. For the sake of clarity, the transition ( q c i , σ i , q c j ) will be noted q c i E D = D v T v σ c i q c j .
  • q c 0 : is the context initial state label.

3.4. Agent Transition System

In this section, we present the formal definition of an agent in Definition 6 followed by the definition of ATS in Definition 7.
Definition 6 
(An agent). An agent A is defined through a non-empty finite set of parameters P a ranged over by { p a 1 , p a 2 , , p a m } . A type τ p a i and a value in τ p a i are associated to every parameter p a i ( 1 i m ) in P a .
The set P a parameters are assumed to be named components, with identifier p a i assigned to each parameter.

3.4.1. Interpretation Domain

The interpretation domain of an agent is
A = p a i P a τ p a i
A is the Cartesian product of the values of agent A parameters, and each tuple of A is considered an agent internal state.

3.4.2. Assignment Chain over Agent Parameters

The description of the agent assignment commands is the same as the definition provided above in Section 3.3, except that the considered parameters here are p a i P a and A represents a specific set of agent internal states.
From a state s a A , the values of one or more parameters can change, leading to a chain of assignment operations for these parameters. The structure of assignment chains is defined as
σ a = p a i : = v s a σ a = σ a . σ a σ a

3.4.3. Extended Date Variable for Agent

It is used, in this instance, with the same properties defined before and for the same purposes, so that
σ = σ a . E D : = D v T v
where D v and T v are the day and time values, respectively, assigned to E D at the moment the agent state changes.
In order to represent the dynamic nature of an agent in terms of states and transitions, an Agent Transition System ( A T S ) is built. The A T S formal definition is given below.
Definition 7 
(ATS). Let A be an agent, and its associated Agent Transition System (ATS) is a tuple ( Q a , Δ a , q a 0 ) where we have the following:
  • Q a : is a countable set of agent states labels such that for each state label q a i Q a its corresponding state in A is noted q a i .
  • Δ a : is a transition relation between agent states labels such that Q a × Σ P a × Q a . A transition ( q a i , σ i , q a j ) describes a shift between q a i and q a j when at least one parameter value of q a i changes. σ i is the corresponding assignment chain for parameters whose values have changed in this transition and for the E D variable that is updated with the extended date at which the change occurs. For the sake of clarity, the transition ( q a i , σ i , q a j ) is noted q a i E D : = D v T v σ a i q a j .
  • q a 0 : is the initial state label.

3.5. Formal Verification and Validation

The CTS and ATS provide a foundational framework for verifying safety and liveness properties. Such verification can be carried out by leveraging temporal logics, such as CTL, applied over the corresponding Labelled Transition Systems (LTSs). The use of CTL is well-suited in this context, as it is specifically designed to express and verify properties of systems modelled as state transition systems, precisely the case for both CTS and ATS.
The nuXmv model checker [11] is employed to perform model-based verification by checking whether a given system model satisfies formally specified properties. In particular, nuXmv supports the verification of CTL formulas. If a property is violated, the tool generates a counterexample trace, which facilitates the identification and analysis of unsafe or undesired system states.
The process to verify a system model using nuXmv includes the following steps:
  • The system model and the property to be checked are encoded using the nuXmv input language and saved in a . s m v file.
  • From the command line, the verification process is initialised by executing the command n u X m v . e x e m o d e l _ f i l e _ n a m e . s m v . This starts the verification process and checks whether the specified CTL property holds for the model.
Figure 2 illustrates a unified diagram that captures the complete workflow from modelling to formal verification.

4. Use Case: Formal Verification of an Autonomous Electric Delivery Vehicle and a Dynamic Urban Delivery Zone

To show the applicability of our models, we present two examples that reflect real-world scenarios in ITS. The first example illustrates the dynamic nature of an urban delivery zone, highlighting how context parameters evolve and impact its safety. The second models an autonomous electric delivery vehicle whose internal state is determined by its parameters. The two models are specified independently, and then the safety and liveness properties are verified over them.

4.1. Part 1: Dynamic Urban Delivery Zone

A city authority aims to evaluate the feasibility and safety of an urban delivery zone before deploying autonomous electric vehicles in last-mile deliveries. The subject area is susceptible to changing environmental and traffic conditions throughout the day, such as rush-hour congestion, adverse weather, or heavy pedestrian traffic. To anticipate unsafe conditions and make informed deployment decisions, the city decides to formally model the dynamic evolution of the urban context. This modelling serves several purposes: to analyse whether the delivery zone is safe for all typical variations of the context; to verify that no evolution of the context leads to unsafe or unacceptable working conditions; and to support infrastructure planning by determining whether more control measures, like traffic redirection, time limits on delivery, and access restriction, are necessary to provide safe and efficient operation.
In order to achieve this, the city authority decides to observe the state evolution of the urban delivery zone for five days, generated by an Edge Node, which is integrated into the zone. On each day, the states are captured for 8 h from 8:00 AM to 16 h:00 PM.
The Edge Node models the urban zone (context) dynamics by capturing the evolution of its states over time. The captured states form the basis for verifying whether safety properties hold throughout the context evolution. Figure 3 illustrates a schematic representation of this urban zone.

4.1.1. Urban Delivery Zone-Defining Parameters

The urban delivery zone is considered the context defined by five parameters p c 1 , p c 2 , p c 3 , p c 4 , and p c 5 .
Let p c 1 represent the traffic_density parameter. Its type is denoted by τ p c 1 , with an interpretation domain defined as τ p c 1 = { l o w , m e d i u m , h i g h } .
Let p c 2 represent the pedestrian_desity parameter, with type τ p c 2 and interpretation domain defined as τ p c 2 = { l o w , m e d i u m , h i g h } .
Let p c 3 denote the v i s i b i l i t y parameter. Its type is τ p c 3 , and its interpretation domain is given by τ p c 3 = { g o o d , m e d i u m , p o o r } .
Let p c 4 represent the p u b l i c _ l i g h t parameter. Its type is τ p c 4 , and its interpretation domain is given by τ p c 4 = { o n , o f f } .
Let p c 5 denote the r o a d _ a c c e s s i b i l i t y parameter. Its type is τ p c 5 , and its interpretation domain is given by τ p c 5 = { o p e n , l i m i t e d } .

4.1.2. Urban Zone Context Transition System

The contextual parameters evolve due to environmental conditions and human activity. During peak hours, increased vehicle circulation leads to a rise in traffic density, which affects pedestrian density around the delivery zone. Simultaneously, weather changes impact visibility conditions. These visibility changes affect road accessibility decisions, such as whether to restrict access for safety reasons. These variations in parameter values cause the context to evolve from one state to another over the observation period.
To monitor and track these changes, the Edge Node continuously generates, in real time, the respective context states and transitions between them.
At 8:00 AM, the Edge Node starts to capture contextual information related to the five parameters. Figure 4 presents a partial graphical representation of the C T S related to the urban delivery zone on day 1. Each node represents a distinct context-labelled state, while each directed arrow denotes a state transition resulting from one or more parameter changes. The transitions are labelled with the corresponding assignment operations and a timestamp (ED), which indicates the time at which the changes occurred. For example, the transition from state q c 5 to q c 6 captures an increase in traffic and pedestrian density, along with a decrease in the visibility parameter to p o o r .
Remark 1. 
It is noted that for the consecutive transitions ( q c i , σ c i + 1 . E D : = v i + 1 , q c i + 1 ) , ( q c i + 1 ,   σ c i + 2 . E D : = v i + 2 , q c i + 2 ) , between the time interval [ v i + 1 , v i + 2 ] , no changes are observed on the context parameters. The presented C T S in Figure 4 is considered an aggregated timed graph.
The captured information is as follows:
  • Q = { q c 0 , q c 1 , q c 2 , q c 3 , q c 4 , q c 5 , q c 6 } .
  • Each labelled state q c i value is given by q c i , where q c i is defined as a tuple of parameter values. For instance, in state q c 1 , the corresponding value is given by q c 1 = ( m e d i u m , m e d i u m , m e d i u m , o n , o p e n ) . Each value in the tuple represents, in order, the values of t r a f f i c _ d e n s i t y , p e d e s t r i a n _ d e n s i t y , v i s i b i l i t y , p u b l i c _ l i g h t , and r o a d _ a c c e s s i b i l i t y .
Table 1 summarises the parameter values of the urban delivery zone at each state. It presents the values of the traffic_density, pedestrian_density, visibility, public_light, and road_accessibility parameters, illustrating the context evolution during day 1 of observation.
  • Σ P c = { σ 1 , σ 2 , σ 3 , σ 4 , σ 5 , σ 6 } denotes the set of extended assignment chains associated with the transitions in the urban delivery zone context. Each assignment chain captures the parameters whose values change during a transition, along with the timestamp indicating when the change occurs. For example, the assignment σ 2 is defined as σ 2 = p c 3 : = g o o d q c 1 . p c 4 : = o f f q c 1 . E D : = 20 / 06 / 2025 10 : 00 , where p c 3 : = g o o d q c 1 . p c 4 : = o f f q c 1 specifies the updates applied to parameters p c 3 and p c 4 resulting in a transition from state q c 1 to the state q c 2 . The component E D : = 20 / 06 / 2025 10 : 00 denotes the time and date at which these parameter changes occur.
Table 2 offers a summary of the context transitions observed on day 1. The first column, labelled From → To, indicates the transitions between context states. The second column, Parameters updates, lists the updates on the parameter values at each transition. The final column, Extended date stamp, specifies the date and time at which each transition occurred.

4.1.3. Safety Property Verification

The delivery zone is considered in a safe state if:
  • t r a f f i c _ d e n s i t y { l o w , m e d i u m } .
  • p e d e s t r i a n _ d e n s i t y { l o w , m e d i u m } .
  • v i s i b i l i t y { g o o d , m e d i u m }
  • p u b l i c _ l i g h t { o n , o f f }
  • r o a d _ a c c e s s i b i l i t y = o p e n .
A state is unsafe if any of these parameters is outside its allowed range or value.
Property 1 
(Urban delivery zone safety). The context is always in a safe state along the execution path.
CTL formula: A G ( ( t r a f f i c _ d e n s i t y = l o w t r a f f i c _ d e n s i t y = m e d i u m )
( p e d e s t r i a n _ d e n s i t y = l o w p e d e s t r i a n _ d e n s i t y = m e d i u m ) ( v i s i b i l i t y = g o o d
v i s i b i l i t y = m e d i u m ) ( p u b l i c _ l i g h t = o n p u b l i c _ l i g h t = o f f ) ( r o a d _ a c c e s s i b i l i t y =
o p e n ) ) .
Listing A1, in Appendix A, illustrates the smv code formalising the CTS of the urban delivery zone in nuXmv language.
Let us break down the represented model in this listing:
  • MODULE main declares the main module, which is the entry point of the nuXmv model.
  • The block VAR contains the variables of the model and their values. The c t x _ s t a t e represents the states labels of the CTS as a symbolic variable ranging over states q 0 to q 6 .
  • The block ASSIGN contains several parts:
    -
    The first part INIT defines the initial values of the declared variables.
    -
    The second part next(ctx_state) defines the state transitions of c t x _ s t a t e , which progress sequentially from q 0 , q 1 , , q 6 .
    -
    The third part defines how t r a f f i c _ d e n s i t y changes across states. As an example, from q 0 to q 1 , the traffic density changes from l o w to m e d i u m .
    -
    The same case applies for p e d e s t r i a n _ d e n s i t y , v i s i b i l i t y , p u b l i c _ l i g h t , and r o a d _ a c c e s s i b i l i t y parts.
    -
    The last part defines a CTL specification written for nuXmv to be verified, and it specifies the safety property defined above.
After launching the model checker, nuXmv reports that the specified property is violated and provides a counterexample trace illustrating the execution path leading to the violation. Listing A2, in Appendix A, shows the verification result.
Violation trace: Based on the provided model and verification output, the context state labelled q c 3 violates the safety property. The relevant parameter values at this state are as follows:
state label  q c 3 :
  • traffic_density  h i g h , violates the constraint t r a f f i c _ d e n s i t y { l o w , m e d i u m } .
  • pedestrian_density  h i g h , violates the constraint p e d e s t r i a n _ d e n s i t y { l o w , m e d i u m } .

4.2. Part 2: Autonomous Electric Vehicle

After conducting a preliminary evaluation of the urban zone where electric vehicles will make deliveries, the company specialising in the development of autonomous electric vehicles has introduced a new model designed to operate in an ITS for urban delivery missions. To formally observe the vehicle behaviour and ensure the safety and efficiency of its operation, the technical team initiates an observation phase for 5 days. During this test phase, the autonomous EV, modelled as an autonomous agent, is tasked with transporting goods over middle-range distances from Zone A (departure) to Zone B (destination).
Throughout the mission, the autonomous vehicle’s internal state is defined by several parameters, which change dynamically.
The primary goal is to formally model the agent dynamics as a transition system and to verify the critical safety and liveness properties using model-checking techniques. Figure 5 illustrates the EV within the urban zone.

4.2.1. EV Definition

The agent dynamism is specified formally through a transition system that models the evolution of its operational states during delivery mission. The resulting state space is analysed to evaluate the agent behaviour during task execution and to ensure the absence of failures across all reachable states. The specification relies on parameters that define the vehicle, allowing precise representation of its dynamism through state transitions.
The agent EV is defined by three parameters p e 1 , p e 2 , and p e 3 .
The parameter p e 1 represents the locality parameter. Its type is τ p e 1 , with the interpretation domain τ p e 1 = { z o n e A , p a t h 1 , p a t h 2 , z o n e B , c h a r g i n g _ s t a t i o n } , where we have the following:
  • z o n e A indicates the agent departure and return zone, representing the location from which it is initially launched and to which it returns after completing its delivery mission.
  • p a t h 1 denotes that the vehicle has selected path 1 to reach its destination or to return to z o n e A and is currently traversing this path.
  • p a t h 2 indicates that the vehicle has selected path 2 to reach its destination or to return to z o n e A and is currently traversing this path.
  • z o n e B represents the target delivery locality.
  • c h a r g i n g _ s t a t i o n denotes that the vehicle is currently at the charging station.
The parameter p e 2 describes the status of the vehicle. Its type is τ p e 2 , with interpretation domain τ p e 2 = { s t o p p e d , m o v i n g , c h a r g i n g } . s t o p p e d denotes that the EV is either located in z o n e A , in z o n e B , or is temporarily stopped due to traffic conditions or battery charging.
The parameter p e 3 represents the vehicle battery status. Its type is τ p e 3 , with the interpretation domain p e 3 = { h i g h , m e d i u m , l o w } , such that the following hold:
  • h i g h : the battery level is in the range [ 60 % , 100 % ] .
  • m e d i u m : the battery level is in the range [ 25 % , 59 % ] .
  • l o w : the battery level is in the range [ 10 % , 24 % ] .

4.2.2. Vehicle-Agent Transition System

The vehicle state may change if the value of at least one parameter is affected by events or conditions such as start, stop, etc.
On day 1 of the observation phase, the vehicle is launched for its first delivery mission at 10 : 00 AM . Throughout the mission, the evolution of the agent internal state is tracked. This evolution is interpreted and represented by the ATS, which serves as a formal specification of the EV. Figure 6 presents a subgraph of the A T S representing the transition sequence related to the first delivery task. Each node corresponds to a unique labelled internal state, while each directed arrow represents a state transition triggered by one or more parameter changes. The labels on the arrows indicate the updated parameter values along with their associated timestamps. For instance, the transition from q e 5 to q e 6 shows that the vehicle returns to its starting locality, z o n e A , after completing the delivery, along with a change in its status to s t o p p e d .
The extracted information is
  • Q e = { q e 0 , q e 1 , q e 2 , q e 3 , q e 4 , q e 5 , q e 6 } .
  • Each labelled state q e i value is given by q e i , where q e i is defined as a tuple of parameter values. For instance, in state q e 3 , the corresponding value is given by q e 3 = ( p a t h 2 , m o v i n g , h i g h ) . Each value in the tuple represents, in order, the values of l o c a l i t y , s t a t u s , and b a t t e r y _ s t a t u s .
Table 3 provides a summary of the EV parameter values at each state. It details the values of the locality, status, and battery_status parameters, illustrating the internal evolution of the vehicle during its mission.
  • Σ P e = { σ 1 , σ 2 , σ 3 , σ 4 , σ 5 , σ 6 } denotes the set of extended assignment chains associated with the transitions in the autonomous electric vehicle. Each assignment chain captures the parameters whose values change during a transition, along with the timestamp indicating when the change occurs. For example, the assignment σ 4 is defined as σ 4 = p e 1 : = z o n e B q e 3 . p e 2 : = s t o p p e d q e 3 . E D : = 01 / 07 / 2025 10 : 35 , where p e 1 : = z o n e B q e 3 . p e 2 : = s t o p p e d q e 3 specifies the updates applied to parameters p e 1 and p e 2 resulting in transition from state q e 3 to the state q e 4 . The component E D : = 01 / 07 / 2025 10 : 35 denotes the time and date at which these parameter changes occur.
Table 4 offers a summary of the EV transitions during its mission. Each transition shows updated parameters and an extended date stamp of change.

4.2.3. Safety Property Verification

The electric vehicle is considered to operate safely under the following conditions:
  • When the battery status is h i g h , the vehicle should not be charging.
  • When the vehicle locality is z o n e B , its status should be s t o p p e d .
Property 1 
(Electric Vehicle safety). The vehicle always operates safely along the execution path.
CTL formulas: The following formulas describe the safety conditions, respectively:
  • A G ( b a t t e r y _ s t a t u s = h i g h s t a t u s c h a r g i n g ) .
  • A G ( l o c a l i t y = z o n e B s t a t u s = s t o p p e d )

4.2.4. Livensess Property Verification

The electric vehicle is considered to satisfy the liveness requirement, if along any execution path, the vehicle must eventually reach z o n e B , ensuring that the destination is attainable.
Property 2 
(Electric Vehicle liveness). In every possible execution path, the vehicle eventually reaches its destination zone z o n e B .
CTL formula: A F ( l o c a l i t y = z o n e B )
The ATS of the autonomous EV and the properties to verify are encoded in the nuXmv input language as shown in Listing A3 in Appendix A. After running the nuXmv model checker over the encoded model, the results indicate that the specified safety and liveness properties are true as shown in Listing A4 in Appendix A. This means that in all reachable states, if the value of b a t t e r y _ s t a t u s is h i g h , the vehicle is not in c h a r g i n g status, and there exists at least one reachable state where the vehicle locality is l o c a l i t y = z o n e B . Therefore, the drone operates safely in this mission and successfully reaches its intended destination.
Remark 2. 
These models (CTS/ATS) are designed to be generic and adaptable. They can be instantiated for any type of environmental context and agent by specifying appropriate parameters. For example, a smart chemical laboratory can be modelled as an environmental context using parameters such as temperature, humidity, and CO2 level to define it, construct its CTS, and verify safety properties. Similarly, a drone delivery agent can be modelled with parameters such as locality, battery_level, status (eg., on, off, charging, and flying), and energy_consumption, which are used to define the corresponding ATS and verify its safety properties. This flexibility demonstrates the applicability of our modelling approach across diverse domains.

5. Related Work and Discussion

Several research studies have addressed the modelling and verification of context and agent entities within ITS. This section discusses key contributions in the areas of context and agent modelling, context-aware EV control, and formal verification, and compares them to our proposed approach.
Context and agent modelling are essential for capturing and reasoning about their properties and behaviours based on their information. For context modelling, several techniques are proposed in the literature. Perera et al. in [20] surveyed six popular techniques—key–value, markup schemes, and object-based, graphical, logic, and ontology-based modelling—and provided a comparative analysis based on their advantages, disadvantages, and applicability.
Ontology-based modelling is widely used to represent context for its semantic richness and hierarchical abstraction. Dimitropoulos and Hatzilygeroudis in [21] present a hybrid approach that combines ontologies and knowledge graphs to represent static robotic environments. Their method supports semantic modelling, consistency checking, and user-friendly querying. Madkour and Maach in [22] address the modelling of dynamic vehicular context for ITS applications. Their ontology-based middleware integrates heterogeneous data from vehicle, driver, and environment into a unified OWL-based representation. Through semantic reasoning and inference rules, autonomous adaptation is supported. In the EV security domain, Kumari et al. in [5] propose a context-aware security framework for EV charging. Their OWL 2 RL ontology captures vehicle state, location, and vulnerabilities, while SWRL rules allow semantic reasoning to detect malicious charging sessions in real time. Their approach provides adaptive security by reasoning over dynamic context.
While ontology-based frameworks such as [21,22] exceed in semantic consistency, they typically lack the explicit state transition modelling and formal temporal semantics needed for behaviour verification, making them less suitable for scenarios that require low-level traceability and model-checking. Some works, such as Garanin et al. in [23], address this by transforming ontology-based requirements into CTL formulas to enable formal verification using model checking tools. Our CTS formalism provides a complementary strength: it enables tracking state evolution by substituting parameter values and verifying properties over explicit state sequences.
In the domain of safety verification, Haupt and Liggesmeyer in [24] propose a context-aware framework for autonomous vehicles safety. The authors develop a context meta-model that identifies and classifies safety-relevant context entities and associates them with autonomous vehicle goals. Using Hazard Analysis and Risk Assessment (HARA), they extract a safety-state space that supports runtime monitoring through system-contextual safety rules, enabling adaptive safety responses. Their approach integrates context modelling, ontologies, and risk analysis to improve the safety of autonomous vehicles. In contrast, our approach models context evolution explicitly through parameter changes and uses model checking to detect unsafe states in the defined state space.
Agent-based models are often used to represent the EV behaviour. Torres et al. in [25] propose an agent-based model that simulates electric vehicle mobility and charging behaviour using spatial and activity pattern modelling, highlighting emergent load behaviour in decentralised electric vehicle. Kamali et al. in [26] present a hybrid agent-based architecture for autonomous vehicle platooning. Their model combines Belief–Desire–Intention (BDI) agents with formal verification techniques, checking individual agent decisions using AJFP and global timing properties using UPPAAL. Fernandes et al. in [27] implement a rational BDI agent to control an autonomous vehicle in a simulated environment. Agent behaviours are specified using LTL and verified through Gwendolen and the AJPF model checker. These works ensure correctness in decision-making but often operate at a high symbolic abstraction level and require complex verification tools. Our ATS, by contrast, focuses on the low-level, parameter-driven evolution of the agent, making it suitable for verifying the operational constraints essential in EV deployments.
Overall, our formal framework offers a structured and analysable approach for modelling the dynamic evolution of contextual environments and autonomous agents through parameter-based transition systems. The proposed CTS and ATS models enable the explicit tracking of parameter-based state changes over time and support formal verification using CTL and the nuXmv model checker. By defining these models separately, the approach respects the semantic independence between context and agent.
To evaluate the strengths and limitations of the proposed CTS and ATS models, a comparison is conducted with methods in the field of context and agent modelling. Table 5 presents a comparative overview over several key metrics, including modelling type, state definition, temporal handling, verification support, strengths, and limitations.
The metrics presented in Table 5 are systematically converted into numerical ratings on a scale from 1 to 5, where 5 indicates full support for the criterion and 1 indicates no support. Ratings reflect the extent to which each method satisfies the corresponding metric, based on a synthesis of related literature [21,22,26,27]. The meaning of each value is defined as follows:
  • 5–Full support: the method fully satisfies the evaluation criterion.
  • 4–Strong support: the method largely satisfies the criterion with minor limitations.
  • 3–Moderate support: the method partially satisfies the criterion with noticeable limitations.
  • 2–Limited support: the method provides minimal coverage or addresses the criterion indirectly.
  • 1–No support: the method does not satisfy the evaluation criterion.
Table 6 presents the resulting numerical evaluation for CTS/ATS, ontology-based models, and BDI agent models, providing a clear basis for comparative analysis. These ratings highlight the relative strengths and weaknesses across various metrics, including modelling type, context handling, agent representation, state definition, state transitions, temporal reasoning, specificity, verification support, and multi-agent scalability.
The same data form the basis for the spider chart in Figure 7, which offers a visual summary of the comparative performance of the three methods.

6. Conclusions and Future Work

This paper presents a formal approach to model the dynamic evolution of context and agent entities in ITS using multi-parameter transition systems. Through the presentation of the CTS and ATS, the work captures the temporal evolution of system states as a result of parameter changes. With the use of the nuXmv tool and the integration of CTL, rigorous verification of safety and liveness properties is allowed, ensuring that the modelled systems behave correctly along the possible execution path.
The application of our CTS and ATS models to two representative models, an urban delivery zone and an autonomous electric delivery vehicle, demonstrates the operational value of our formalism. In the urban context, the CTS captures how changes in traffic density, pedestrian presence, visibility, lighting, and road accessibility contribute to state evolution throughout a normal day. Verification of a safety property requiring all parameters to take acceptable values reveals a violation. The nuXmv tool generates a counterexample trace identifying a specific state where the traffic and pedestrian density exceeds safe levels. This highlights the CTS model ability to identify unsafe environmental conditions.
In contrast, the ATS captures the autonomous EV internal evolution across its delivery mission, defined by parameters such as l o c a l i t y , s t a t u s , and b a t t e r y _ l e v e l . The verified CTL properties include safety conditions, for example, the vehicle should not charge when its battery is high, and liveness requirements, for example, the vehicle must eventually reach its destination. All properties are satisfied, validating the model’s capacity to guarantee correct behaviour under defined assumptions.
The integration of CTS and ATS in real-world-inspired scenarios underlines the applicability of the proposed method in practice. It allows safer EV operations and reliable delivery zone management by enabling the early detection of unsafe conditions.
Regarding future directions, the actual models are based on deterministic transitions, which may not fully capture the uncertainties or sensor variability commonly found in real deployments. Extending the models to integrate probabilistic or nondeterministic transitions using frameworks such as Markov chains is a promising future direction.
Moreover, while this framework models a single agent and context instance, Intelligent Transportation System environments often involve multiple agents interacting or competing within a shared context. This raises the need for synchronising the composition of multiple ATS and CTS, with verification extended to capture multi-agent safety.
In addition, binding this formal framework with adaptive learning techniques, like reinforcement learning, is a possible and promising extension. This would allow agents to adapt to context changes while remaining within formally verified safety limits.
Although the framework is validated using formal verification of qualitative properties, future work will include simulation-based experiments and empirical validation to further evaluate quantitative agent and context performance.

Author Contributions

Conceptualisation, D.E.S.; Methodology, A.B., A.N.; Formal analysis, A.B., A.N. and D.E.S.; Writing–original draft, A.N. and D.E.S.; writing–review and editing, A.B., D.E.S., G.D.; Supervision, D.E.S.; Funding acquisition, G.D. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Ministerio de Ciencia, Innovación y Universidades, Agencia Estatal de Investigación, MICIU/AEI/10.13039/501100011033: PID2021- 122215NB-C32; European Regional Development Fund, EU: PID2021- 122215NB-C32; European Regional Development Fund, EU: 2022-GRIN-34113.

Data Availability Statement

The data presented in the study are available at https://doi.org/10.17632/9mk2s54g9m.1 (accessed on 15 July 2025).

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

    The following abbreviations are used in this manuscript:
EVElectric Vehicle
ITSIntelligent Transportation System
CTSContext Transition System
ATSAgent Transition System
CTLComputation Tree Logic
LTLLinear Temporal Logic
BDIBelief–Desire–Intention

Appendix A

Listing A1. nuXmv specification of the CTS model for the urban delivery zone.
MODULE main
 
VAR
    ctx_state : {q0,q1,q2,q3,q4,q5,q6};
    traffic_density : {low,medium,high};
    pedestrian_density : {low,medium,high};
    visibility : {good,medium,poor};
    public_light : {on,off};
    road_accessibility : {open,limited};
 
ASSIGN
    init(ctx_state) := q0;
    init(traffic_density) := low;
    init(pedestrian_density) :=low;
    init(visibility) :=medium;
    init(public_light) :=on;
    init(road_accessibility) :=open;
 
    next(ctx_state) := case
        ctx_state = q0 : q1;
        ctx_state = q1 : q2;
        ctx_state = q2 : q3;
        ctx_state = q3 : q4;
        ctx_state = q4 : q5;
        ctx_state = q5 : q6;
        TRUE: ctx_state;
        esac;
 
    next(traffic_density) := case
        ctx_state = q0:medium;
        ctx_state = q1:medium;
        ctx_state = q2:high;
        ctx_state = q3:medium;
        ctx_state = q4:medium;
        ctx_state = q5:high;
        TRUE : traffic_density;
        esac;
 
    next(pedestrian_density) := case
        ctx_state = q0:medium;
        ctx_state = q1:medium;
        ctx_state = q2:high;
        ctx_state = q3:medium;
        ctx_state = q4:medium;
        ctx_state = q5:high;
        TRUE : pedestrian_density;
        esac;
 
    next(visibility) := case
        ctx_state = q0:medium;
        ctx_state = q1:good;
        ctx_state = q2:good;
        ctx_state = q3:good;
        ctx_state = q4:medium;
        ctx_state = q5:poor;
        TRUE : visibility;
        esac;
 
    next(public_light) := case
        ctx_state = q0:on;
        ctx_state = q1:off;
        ctx_state = q2:off;
        ctx_state = q3:off;
        ctx_state = q4:off;
        ctx_state = q5:off;
        TRUE : public_light;
        esac;
 
    next(road_accessibility) := road_accessibility;
 
 
SPEC AG((traffic_density = low | traffic_density = medium) &
(pedestrian_density = low | pedestrian_density = medium)&
(visibility = good | visibility = medium)&
(public_light = on | public_light = off)
& (road_accessibility =open))
Listing A2. Counterexample trace generated by nuXmv for safety property verification on the urban delivery zone CTS model.
-- specification AG (((((traffic_density = low |
traffic_density = medium) & (pedestrian_density = low |
pedestrian_density = medium)) & (visibility = good |
visibility = medium)) & (public_light = on | public_light = off)) &
road_accessibility = open) is false
-- as demonstrated by the following execution sequence
Trace Description: CTL Counterexample
Trace Type: Counterexample
  -> State: 1.1 <-
    ctx_state = q0
    traffic_density = low
    pedestrian_density = low
    visibility = medium
    public_light = on
    road_accessibility = open
  -> State: 1.2 <-
    ctx_state = q1
    traffic_density = medium
    pedestrian_density = medium
  -> State: 1.3 <-
    ctx_state = q2
    visibility = good
    public_light = off
  -> State: 1.4 <-
    ctx_state = q3
    traffic_density = high
    pedestrian_density = high
Listing A3. nuXmv specification of the ATS model for the electric vehicle.
MODULE main
 
VAR
    ev_state : {q0,q1,q2,q3,q4,q5,q6};
    locality : {zoneA,path1,path2,zoneB,charging_station};
    status : {stopped,moving,charging};
    battery_status : {high,medium,low};
 
 
ASSIGN
    init(ev_state) := q0;
    init(locality) := zoneA;
    init(status) :=stopped;
    init(battery_status) :=high;
 
 
    next(ev_state) := case
        ev_state = q0 : q1;
        ev_state = q1 : q2;
        ev_state = q2 : q3;
        ev_state = q3 : q4;
        ev_state = q4 : q5;
        ev_state = q5 : q6;
        TRUE: ev_state;
        esac;
 
     next(locality) := case
        ev_state = q0:path2;
        ev_state = q1:path2;
        ev_state = q2:path2;
        ev_state = q3:zoneB;
        ev_state = q4:path1;
        ev_state = q5:zoneB;
        TRUE : locality;
        esac;
 
    next(status) := case
        ev_state = q0:moving;
        ev_state = q1:stopped;
        ev_state = q2:moving;
        ev_state = q3:stopped;
        ev_state = q4:moving;
        ev_state = q5:stopped;
        TRUE : status;
        esac;
 
    next(battery_status) := battery_status;
 
    --Safety property : When the battery status is high, the vehicle should not be charging
    SPEC AG(battery_status=high -> status!=charging)
 
    --Safet property: When the vehicle locality is zoneB, its status should be stopped.
    SPEC AG(locality=zoneB  -> status= stopped)
 
    --liveness property: if along any executionpath, the vehicle must eventually reach zoneB
    SPEC AF(locality=zoneB)
Listing A4. nuXmv verification results for the liveness and safety properties applied to the electric vehicle model.
-- specification AF locality = zoneB is true 
-- specification AG (battery_status = high -> status != charging) is true 
-- specification AG (locality = zoneB -> status = stopped) is true

References

  1. Ahmad, N.; Mahato, D.; Prasad, S. A Study on Smart Energy Management System for Electric Vehicles. Int. J. Multidiscip. Res. Rev. 2024, 3, 75–83. [Google Scholar] [CrossRef]
  2. Elassy, M.; Al-Hattab, M.; Takruri, M.; Badawi, S. Intelligent transportation systems for sustainable smart cities. Transp. Eng. 2024, 16, 100252. [Google Scholar] [CrossRef]
  3. Zheng, L.; Yang, R.; Peng, Z.; Yan, W.; Wang, M.Y.; Ma, J. Incremental Bayesian Learning for Fail-Operational Control in Autonomous Driving. In Proceedings of the 2024 European Control Conference (ECC), Stockholm, Sweden, 25–28 June 2024; IEEE: Piscataway, NJ, USA, 2024; pp. 3884–3891. [Google Scholar]
  4. Du, H.; Thudumu, S.; Vasa, R.; Mouzakis, K. A survey on context-aware multi-agent systems: Techniques, challenges and future directions. arXiv 2024, arXiv:2402.01968. [Google Scholar]
  5. Kumari, T.; Rakib, A.; Zaslavsky, A.; Jadidbonab, H.; Moghaddam, V. A Context-Aware Real-Time Security Model for Automotive Systems. In Proceedings of the 21st International Conference on Computing and Information Technology (IC2IT 2025), Kanchanaburi, Thailand, 15–16 May 2025; pp. 123–133. [Google Scholar]
  6. Fraiji, Y.; Azzouz, L.B.; Trojet, W.; Hoblos, G.; Saidane, L.A. Context-aware security for the intra-electric vehicle network under energy constraints. Comput. Electr. Eng. 2022, 97, 107517. [Google Scholar] [CrossRef]
  7. Kumari, T.; Rakib, A.; Zaslavsky, A.; Jadidbonab, H.; Moghaddam, V. A Context-Aware Framework for Analysing Automotive Vehicle Security. In Proceedings of the 2024 IEEE 18th International Conference on Semantic Computing (ICSC), Laguna Hills, CA, USA, 5–7 February 2024; IEEE: Piscataway, NJ, USA, 2024; pp. 81–88. [Google Scholar]
  8. Wooding, B.; Vahidinasab, V.; Soudjani, S. Formal controller synthesis for frequency regulation utilising electric vehicles. In Proceedings of the 2020 International Conference on Smart Energy Systems and Technologies (SEST), Istanbul, Turkey, 7–9 September 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 1–6. [Google Scholar]
  9. Goswami, D.; Lukasiewycz, M.; Kauer, M.; Steinhorst, S.; Masrur, A.; Chakraborty, S.; Ramesh, S. Model-based development and verification of control software for electric vehicles. In Proceedings of the 50th Annual Design Automation Conference, Austin, TX, USA, 29 May–7 June 2013; pp. 1–9. [Google Scholar]
  10. Kabilan, R. Formal verification and model checking of safety-critical software in autonomous vehicular control systems. QIT Press-Int. J. Softw. Eng. (QITP-IJSEG) 2025, 5, 6–13. [Google Scholar]
  11. Cavada, R.; Cimatti, A.; Dorigatti, M.; Griggio, A.; Mariotti, A.; Micheli, A.; Mover, S.; Roveri, M.; Tonetta, S. The nuXmv Symbolic Model Checker. In Proceedings of the Computer Aided Verification; Biere, A., Bloem, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2014; pp. 334–342. [Google Scholar]
  12. Feng, L.; Apers, P.M.; Jonker, W. Towards context-aware data management for ambient intelligence. In Proceedings of the Database and Expert Systems Applications; Galindo, F., Takizawa, M., Traunmüller, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3180, pp. 422–431. [Google Scholar] [CrossRef]
  13. Tapia, D.I.; Abraham, A.; Corchado, J.M.; Alonso, R.S. Agents and ambient intelligence: Case studies. J. Ambient Intell. Humaniz. Comput. 2010, 1, 85–93. [Google Scholar] [CrossRef]
  14. Dorri, A.; Kanhere, S.S.; Jurdak, R. Multi-agent systems: A survey. IEEE Access 2018, 6, 28573–28593. [Google Scholar] [CrossRef]
  15. Mahela, O.P.; Khosravy, M.; Gupta, N.; Khan, B.; Alhelou, H.H.; Mahla, R.; Patel, N.; Siano, P. Comprehensive overview of multi-agent systems for controlling smart grids. CSEE J. Power Energy Syst. 2020, 8, 115–131. [Google Scholar] [CrossRef]
  16. Kosmidis, I.; Müller-Eie, D.; Delbosc, A. Electric cars as a path to sustainable travel behaviour: Insights from Nord-Jæren. Transp. Res. Part D Transp. Environ. 2023, 125, 103982. [Google Scholar] [CrossRef]
  17. Samarakoon, N.; Herath, D.; Sankalpa, K.D.C.; Sampath, S.; Wickramasingha, M. A comprehensive review of electric vehicles. J. Res. Technol. Eng. 2024, 5, 111–142. [Google Scholar]
  18. Clarke, E.M.; Emerson, E.A. Design and synthesis of synchronization skeletons using branching time temporal logic. In Workshop on Logic Programs; Springer: Berlin/Heidelberg, Germany, 1981; pp. 52–71. [Google Scholar]
  19. Tennent, R.D. Semantics of Programming Languages; Prentice Hall International Series in Computer Science: New York, NY, USA, 1991. [Google Scholar]
  20. Perera, C.; Zaslavsky, A.; Christen, P.; Georgakopoulos, D. Context aware computing for the internet of things: A survey. IEEE Commun. Surv. Tutorials 2013, 16, 414–454. [Google Scholar] [CrossRef]
  21. Dimitropoulos, K.; Hatzilygeroudis, I. An Ontology-Knowledge Graph Based Context Representation Scheme for Robotic Problems. In Proceedings of the 13th Hellenic Conference on Artificial Intelligence, Piraeus, Greece, 11–13 September 2024; pp. 1–7. [Google Scholar]
  22. Madkour, M.; Maach, A. Ontology-based context modeling for vehicle context-aware services. J. Theor. Appl. Inf. Technol. 2011, 34, 158–166. [Google Scholar]
  23. Garanina, N.; Anureev, I.; Sidorova, E.; Koznov, D.; Zyubin, V.; Gorlatch, S. An ontology-based approach to support formal verification of concurrent systems. In EDS Formal Methods. FM 2019 International Workshops. FM 2019; Sekerinski, E.; Moreira, N.; Oliveira, J.N.; Ratiu, D.; Guidotti, R.; Farrell, M.; Luckcuck, M.; Marmsoler, D.; Campos, J.; Astarte, T., et al. Eds.; Lecture Notes in Computer Science; Springer, Cham, Switzerland, 2019; Volume 12232.
  24. Haupt, N.B.; Liggesmeyer, P. Towards Context-Awareness for Enhanced Safety of Autonomous Vehicles. In Proceedings of the Intelligent Systems and Applications; Arai, K., Ed.; Springer: Cham, Switzerland, 2022; pp. 549–563. [Google Scholar]
  25. Torres, S.; Barambones, O.; de Durana, J.G.; Marzabal, F.; Kremers, E.; Wirges, J. Agent-based modelling of electric vehicle driving and charging behavior. In Proceedings of the 2015 23rd Mediterranean Conference on Control and Automation (MED), Torremolinos, Spain, 16–19 June 2015; IEEE: Piscataway, NJ, USA, 2015; pp. 459–464. [Google Scholar]
  26. Kamali, M.; Dennis, L.A.; McAree, O.; Fisher, M.; Veres, S.M. Formal verification of autonomous vehicle platooning. Sci. Comput. Program. 2017, 148, 88–106. [Google Scholar] [CrossRef]
  27. Fernandes, L.E.; Custodio, V.; Alves, G.V.; Fisher, M. A rational agent controlling an autonomous vehicle: Implementation and formal verification. arXiv 2017, arXiv:1709.02557. [Google Scholar] [CrossRef]
Figure 1. Illustrative architecture of Edge Nodes and agents distributed within contexts.
Figure 1. Illustrative architecture of Edge Nodes and agents distributed within contexts.
Wevj 16 00494 g001
Figure 2. Workflow of the verification process. Agent and context parameters serve as inputs for modelling the CTS and ATS. The resulting models are then verified using the nuXmv model checker, which returns verification results as true or false with a counterexample when a property is violated.
Figure 2. Workflow of the verification process. Agent and context parameters serve as inputs for modelling the CTS and ATS. The resulting models are then verified using the nuXmv model checker, which returns verification results as true or false with a counterexample when a property is violated.
Wevj 16 00494 g002
Figure 3. Schematic representation of the urban delivery zone presented in the use case. The zone includes two vehicle paths, three vehicles, pedestrian crossings, multiple public lighting, an Edge Node, and two charging stations. The figure illustrates the spatial location of these elements. The legend provides the meaning of each element.
Figure 3. Schematic representation of the urban delivery zone presented in the use case. The zone includes two vehicle paths, three vehicles, pedestrian crossings, multiple public lighting, an Edge Node, and two charging stations. The figure illustrates the spatial location of these elements. The legend provides the meaning of each element.
Wevj 16 00494 g003
Figure 4. Partial transition graph modelling changes in the urban delivery zone on day 1.
Figure 4. Partial transition graph modelling changes in the urban delivery zone on day 1.
Wevj 16 00494 g004
Figure 5. Representation of the autonomous EV operating within the urban zone. The figure illustrates the EV navigating between two zones (zoneA and zoneB) via two paths (path1 and path2). Icons indicate the EV battery status and position, which are key parameters in the ATS. The contextual layout represents the environment in which the EV operates. The legend describes the used symbols.
Figure 5. Representation of the autonomous EV operating within the urban zone. The figure illustrates the EV navigating between two zones (zoneA and zoneB) via two paths (path1 and path2). Icons indicate the EV battery status and position, which are key parameters in the ATS. The contextual layout represents the environment in which the EV operates. The legend describes the used symbols.
Wevj 16 00494 g005
Figure 6. Partial graphic representation of the ATS corresponding to the first delivery mission.
Figure 6. Partial graphic representation of the ATS corresponding to the first delivery mission.
Wevj 16 00494 g006
Figure 7. Spider chart summarising the comparative performance of CTS/ATS, ontology-based models, and BDI agent models across key evaluation metrics.
Figure 7. Spider chart summarising the comparative performance of CTS/ATS, ontology-based models, and BDI agent models across key evaluation metrics.
Wevj 16 00494 g007
Table 1. Parameter values captured at each context state during the observation of the urban delivery zone on day 1.
Table 1. Parameter values captured at each context state during the observation of the urban delivery zone on day 1.
Urban Delivery Zone Parameters
State
Value
Traffic_DensityPedestrian_DensityVisibilityPublic_LightRoad_Accesibility
q c 0 lowlowmediumonopen
q c 1 mediummediummediumonopen
q c 2 mediummediumgoodoffopen
q c 3 highhighgoodoffopen
q c 4 mediummediumgoodoffopen
q c 5 mediummediummediumoffopen
q c 6 highhighpooroffopen
Table 2. Context transitions representing changes in the urban delivery zone on day 1.
Table 2. Context transitions representing changes in the urban delivery zone on day 1.
From → ToParameters UpdatesExtended Date Stamp
q c 0 q c 1 p c 1 : = m e d i u m q c 0 .
p e 2 : = m e d i u m q c 0
20/06/2025 08:15
q c 1 q c 2 p c 3 : = g o o d q c 1 .
p c 4 : = o f f q c 1
20/06/2025 10:00
q c 2 q c 3 p c 1 : = h i g h q c 2 .
p c 2 : = h i g h q c 2
20/06/2025 12:15
q c 3 q c 4 p c 1 : = m e d i u m q c 3 .
p c 2 : = m e d i u m
20/06/2025 13:30
q c 4 q c 5 p c 3 : = m e d i u m q c 4 20/06/2025 15:00
q c 5 q c 6 p c 1 : = h i g h q c 5 .
p c 2 : = h i g h q c 5 .
p c 3 : = p o o r q c 5
20/06/2025 16:00
Table 3. Parameter values of the autonomous EV captured at each state during its delivery mission.
Table 3. Parameter values of the autonomous EV captured at each state during its delivery mission.
Electric Vehicle Parameters
State
Value
LocalityStatusBattery_Status
q e 0 zoneAstoppedhigh
q e 1 path2movinghigh
q e 2 path2soppedhigh
q e 3 path2movinghigh
q e 4 zoneBstoppedhigh
q e 5 path1movinghigh
q e 6 zoneAstoppedhigh
Table 4. Agent transitions representing internal state evolution of the autonomous EV.
Table 4. Agent transitions representing internal state evolution of the autonomous EV.
From → ToParameters UpdatesExtended Date Stamp
q e 0 q e 1 p e 1 : = p a t h 2 q e 0 .
p e 2 : = m o v i n g q e 0
01/07/2025 10:05
q e 1 q e 2 p e 2 : = s t o p p e d q e 1 01/07/2025 10:15
q e 2 q e 3 p e 2 : = m o v i n g q e 2 01/07/2025 10:20
q e 3 q e 4 p e 1 : = z o n e B q e 3 .
p e 2 : = s t o p p e d q e 3
01/07/2025 10:35
q e 4 q e 5 p e 1 : = p a t h 1 q e 4 .
p e 2 : = m o v i n g q e 4
01/07/2025 10:45
q e 5 q e 6 p e 1 : = z o n e A q e 5 .
p e 2 : = s t o p p e d q e 5
01/07/2025 11:05
Table 5. A comparative evaluation of the proposed CTS/ATS formalism and existing methods based on several metrics.
Table 5. A comparative evaluation of the proposed CTS/ATS formalism and existing methods based on several metrics.
MetricsCTS/ATS
(Proposed Method)
Ontology-Based Models
[21,22]
BDI Agent Model
Verification [26,27]
Modelling
type
Labelled transition systems
based on parameters
evolution.
Semantic-based modelling
using ontologies (OWL,
SWRL).
High-level symbolic
agent modelling based
on BDI architecture.
Context
modelling
Symbolic CTSOntology, semantic rulesPartial
Agent
modelling
Parameter-based
ATS
Not explicitly modelledBDI plan-based
State
definition
Tuple of parameter values
(e.g., < t r a f f i c _ d e n s i t y ,
v i s i b i l i t y ,…>).
Semantic instances
(class and properties).
Agent mental state
is defined by beliefs,
desires, and intentions.
State
transitions
Assignment chains with
extended timestamp (ED),
fully explicit.
No explicit transition
model. Inference-based
updates.
Transitions occur via
plan execution.
Temporal
handling
Explicit time via ED
variable
implicit timeTime reasoning
supported via LTL/
timed automata.
Specificitylow-level, parameter-
specific
High-level contextual
notions.
Symbolic abstraction
over goals and tasks.
Verification
support
Full formal verification
using CTL and nuXmv.
No formal model checking
Use OWL reasoners for
consistency/inference.
AJPF for agent-level,
UPPAAL for timing
verification.
Multi-agent
scalability
To be extendedNot addressedAddressed in platooning
StrengthsFormal semantics,
traceable, verifiable
Rich semantic modellingGoal-based reasoning
LimitationsDeterministic onlyNo formal verification.
Limited to ontology
and semantic reasoning.
Complex modelling,
hard to verify
Table 6. Numerical evaluation (1–5) of CTS/ATS, ontology-based models, and BDI agent models across the metrics defined in Table 5. Ratings are derived from the qualitative assessment and indicate the degree to which each method satisfies the corresponding criterion.
Table 6. Numerical evaluation (1–5) of CTS/ATS, ontology-based models, and BDI agent models across the metrics defined in Table 5. Ratings are derived from the qualitative assessment and indicate the degree to which each method satisfies the corresponding criterion.
MetricCTS/ATSOntology-Based
Model
BDI Agent Model
Modelling type555
Context modelling552
Agent modelling515
State definition534
State transitions534
Temporal handling524
Specificity534
Verification support544
Multi-agent scalability215
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Nemouchi, A.; Bouzenada, A.; Saidouni, D.E.; Díaz, G. Formal Modelling and Verification of Multi-Parameter Context and Agent Transition Systems: Application to Urban Delivery Zone and Autonomous Electric Vehicle. World Electr. Veh. J. 2025, 16, 494. https://doi.org/10.3390/wevj16090494

AMA Style

Nemouchi A, Bouzenada A, Saidouni DE, Díaz G. Formal Modelling and Verification of Multi-Parameter Context and Agent Transition Systems: Application to Urban Delivery Zone and Autonomous Electric Vehicle. World Electric Vehicle Journal. 2025; 16(9):494. https://doi.org/10.3390/wevj16090494

Chicago/Turabian Style

Nemouchi, Abir, Ahmed Bouzenada, Djamel Eddine Saidouni, and Gregorio Díaz. 2025. "Formal Modelling and Verification of Multi-Parameter Context and Agent Transition Systems: Application to Urban Delivery Zone and Autonomous Electric Vehicle" World Electric Vehicle Journal 16, no. 9: 494. https://doi.org/10.3390/wevj16090494

APA Style

Nemouchi, A., Bouzenada, A., Saidouni, D. E., & Díaz, G. (2025). Formal Modelling and Verification of Multi-Parameter Context and Agent Transition Systems: Application to Urban Delivery Zone and Autonomous Electric Vehicle. World Electric Vehicle Journal, 16(9), 494. https://doi.org/10.3390/wevj16090494

Article Metrics

Back to TopTop