Next Article in Journal
Enhanced Marine Predators Algorithm for Solving Global Optimization and Feature Selection Problems
Next Article in Special Issue
Numerical Methods That Preserve a Lyapunov Function for Ordinary Differential Equations
Previous Article in Journal
Kinematic Modes Identification and Its Intelligent Control of Micro-Nano Particle Manipulated by Acoustic Signal
Previous Article in Special Issue
Causal Interactions in Agile Application Development
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Framework for Integrated Use of Agent-Based and Ambient-Oriented Modeling

by
Khurrum Mustafa Abbasi
1,†,
Tamim Ahmed Khan
1,*,† and
Irfan ul Haq
2,†
1
Department of Software Engineering, Bahria University, Islamabad 44000, Pakistan
2
Pakistan Institute of Engineering and Applied Sciences, Islamabad 44000, Pakistan
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2022, 10(21), 4157; https://doi.org/10.3390/math10214157
Submission received: 15 September 2022 / Revised: 10 October 2022 / Accepted: 12 October 2022 / Published: 7 November 2022
(This article belongs to the Special Issue Modeling and Simulation in Dynamical Systems)

Abstract

:
Agent-based modeling (ABM) is a flexible and simulation-friendly modeling approach. Ambient-oriented modeling is effective for systems containing ambient and spatial representations. In this paper we propose a framework for the integrated use of agent-based modeling and ambient-oriented modeling. We analyze both agents and ambient in detail. We also compare both modeling approaches as well and analyze their similarities and differences. The integrated implementation provides a new link between mathematical modeling and simulations. The model developed using this framework has four parts. The first part constitutes the identification, definition, and relations of agents. In this part, we use agent-based modeling along with the concepts of discrete-event simulations and system dynamics. The second part of the model is the mathematical representation of the relations of agents, i.e., the parent and child relation of agents. The third part of the model is the representation of the messages along with relational symbols where we utilize the concepts and symbols of relations and messages from ambient-oriented modeling. The fourth and final part of the model is the simulation, where we describe the rules that govern the processes represented in first two parts. The framework is helpful in overcoming certain limitations of both approaches. Moreover, we provide a scenario of a bus rapid transit system (BRTS) as a proof of concept, and we examine the generic concept of BRTSs using the proposed framework.

1. Introduction

The emergence of technologies such as internet of things, cloud computing, multi-agent systems, artificial intelligence, and fast communication systems are disrupting existing business and process models. New models are frequently emerging. From households to industry, everything is demanding updates with respect to technology. The development of sophisticated and interlinked technologies for assisting and augmenting systems development without preliminary models are a risky task [1].
Autonomous entities are the basic elements in agent-based modeling (ABM), which are termed as agents. In cognitive agent-based models, agents have an additional decision mechanism. There are certain rules defined in such models which guide an agent to make a decision or interact with other agent. The rules are defined in visual workflows in the visual tools of agent-based modeling tools such as AnyLogic, whereas the rules are defined with code in other tools such as NetLogo. While modeling a system with agent-based modeling approach, the composition of the model also contains an environment. One of the most prominent features of agent-based modeling is its openness to be used in combination with other modeling approaches [2]. According to [3], ABM has three major benefits: its flexibility, its ability to capture emergent phenomena, and its ability to provide natural descriptions. According to [4], agent-based modeling is beneficial when the system being modeled contains heterogeneous and autonomous components. These components can act in distributed, local, and parallel manners; have self-organizing capability; and are emergent where there is uncertainty in environment along with spatial–temporal scales.
Ambient-oriented modeling is based on ambient calculus. An ambient is basically a container such as an airplane which contains other ambients in itself. The children ambients inside the parent ambient are dependent on parent ambient. This approach to modeling is very helpful for discrete-time systems. It uses mathematical symbols to represent systems. The basic elements of ambient-oriented modeling are ambients, processes, locations, and contextual expressions. For modeling spatial aspects of things, it is better to do so using a model [5]. Although some researchers have attempted to develop simulations for this approach, many contributions are needed to make it simulation friendly. There is a lack of mature simulation tools which provide the facility to represent ambient-oriented models. Ambient-oriented models have been used for context-aware systems and for software development purposes. However, due to attractiveness of ambient intelligence, ambient-oriented models seem likely to gain more popularity in the near future [6].
Advancements in information and communication technologies have influenced transportation systems as well. IoT is used for tracking goods during shipments. Long-route transport systems are also using the latest technologies to remain updated on weather, road congestion, and other uncertainties. Within cities, people use different internet-based applications for booking appropriate vehicles and detecting suitable routes and other relevant points such as petrol pumps, tyre shops, etc. Smart and autonomous vehicles have gained significant attention from the research community and industry. All vehicles are containers, they have ability to move, and they move in certain boundaries. As such, these vehicles fulfill the properties of ambients. While modeling transport systems, one may use ambient-oriented modeling. Modeling and simulation are crucial tools used in creating, maintaining, and optimizing transport system schedules.
The problem of traffic congestion is a common problem encountered in urban areas and especially in peak hours. To solve this problem, most countries are moving toward BRT and trains [7]. However, operation management and scheduling are still difficult for BRTs. This difficulty increases during peak hours and from unusual burdens such as holidays and events. Real-time monitoring and forecasting of crowds can be helpful in managing scheduling effectively during peak times [8]. BRT systems are usually both cost effective and time effective [9]. Computer simulations may be used to examine different aspects of BRTs such as management, time effectiveness, and cost effectiveness. For the purpose of simulation, the first step is to identify the problem and define the objectives of the model. Then, in the second phase, the model is developed and then tested and validated. Then, when the model is formulated, the simulations are performed on the basis of the model for the specific abstraction level of the model [10]. The trip attribute approach may be used to compare BRT with other transport systems with respect to attractiveness [11]. In the trip attribute approach, there is a trip origin and a trip destination. Between the trip origin and destination, there are processes such as bus stops, bus movement, and transfer from vehicle to vehicle. For all these processes, attributes are defined such as access walk, wait time, travel time, and egress walk. These attributes will be used to calculate the total travel time and the cost of the trip for comparison. BRT systems have multiple heterogeneous groups such as buses, passengers, and stations. Agent-based modeling is used to represent groups of agents and model the behavior of agents. Hence, agent-based modeling has widely been used for BRT [12]. The latest trends in information and communication technologies have disrupted the existing workflows. New technologies have significantly changed transportation systems as well. Communication between things and even vehicles is a part of the latest systems. For representation of communication in the model, there is a need to represent messages passed by different agents. However, agent-based modeling does not provide guidance on the representation of messages in a model. Moreover, agent-based modeling does not provide any way to represent agents that are included in other agents and have movement that depends on the movement of the other agent.
This paper is based on one of our recent publications in which we examined different modeling approaches for internet of things (IoT) [13]. In that article, while mapping, we showed the use of both agent-based modeling and ambient-oriented modeling at the device layer and the virtual layer of IoT-A reference architecture. We also showed the use of these two approaches at the virtual entity layer. However, in this paper we are providing an integrated implementation of ABM and AOM. The article aims in answering the following research questions:
  • How can complex systems with agents that contain other agents and have the ability to move within a limited location can be modeled?
  • How can one represent different agents of different levels based on their dependencies?
  • How can we add details such as message sending or receiving from certain linked agents to the representation of dependencies?
The rest of the paper is structured as follows. The background is discussed in Section 2. In Section 3, we discuss the use of ABM and AOM in combination and also provide the framework that uses both approaches in combination. In Section 4, a BRTS scenario is discussed for the purpose of elaboration. Section 5 of the manuscript is entitled Discussion and Analysis. Finally, we provided the conclusions in Section 6.

2. Background

Modeling is used for different purposes including education, analysis of natural systems, and engineering. Agent-based modeling is well known due to its flexibility and simulation friendliness. By simulation friendliness, we mean that is easy to simulate the model due to the availability of relevant tools and tutorials. A large number of tools for ABM have been developed [14]. ABM is also used for the prediction of behavior of certain actors in systems [15]. For complex scenarios such as world politics where human behavior is important, it may be used differentiating the agents and meta-agents [16]. In the domain of economics, ABM helps to model heterogeneous interacting agents [17]. Due to its ease of use in comparison to mathematical modeling, the use of ABMs is preferred for heterogeneous agents playing roles in certain systems [18]. Different models have also been developed for analyzing the behavior of people in emergency situations and for crowd management in disasters [19].
New paradigms in computing are emerging frequently. However, the demands of systems modeling also change with the emergence of new technologies such as modeling vehicles with respect to mobile ad hoc networks and services [20]. Vehicles traveling over long distances contain different agents within themselves as well, such as a vehicle containing traceable goods and humans. So, what specific framework can be used to show the movement of vehicles and the agents that they contain? Ambient-oriented modeling is based on the concepts of ambient calculus, ambient intelligence, and context-aware systems. It provides a mathematical representation of systems [21]. There are three important properties of an ambient, i.e., an ambient is moveable, an ambient may include other ambients, and the movement of an ambient should take place in a limited space [22]. Internet of things connects the physical objects with internet. This gives rise to new workflows. In the development of software, discrete time models play a vital role. Discrete time models may be developed using ambient-oriented modeling and may be helpful in internet of things application development [23]. Ref. [24] described the use of ambient-oriented modeling for the virtualization of the spatial aspects of physical things. Ref. [6] provided AmbiNet, which is an environment for ambient-oriented modeling.
Agent-based modeling has been used to model different aspects of air-traffic systems. Ref. [25] used agent-based modeling for the investigation of boarding times for two different airplanes. Three new methods of boarding were also introduced with the help of simulations and modeling. Ref. [26] analyzed different agent-based approaches for air traffic management and proposed an agent model. Ref. [27] also presented an agent-based model for air traffic management. In this model, the interactions between air traffic controllers and aircraft were focused on. Ref. [28] considered different boarding strategies for developing a configurable agent-based model for the identification of the best strategy. A well-known open-source tool named NetLogo was used for the purpose of simulating the models. Ref. [29] provided an agent-based model for analyzing and forecasting air transport.
Agent-based modeling has also been used to model different aspects of electric vehicles. Ref. [30] analyzed different schemes for the cost-effective distribution of electric vehicle charging stations using agent-based modeling. Ref. [31] used agent-based modeling to propose an integrated dynamic method for detecting electric vehicle’s evolution patterns. Ref. [32] used agent-based modeling for determining the impact of electrification of long-distance vehicles. Ref. [33] provided an ecosystem model for electric vehicles by using agent-based modeling for the purpose of analyzing different parameters such as operational costs and workplace charging. Ref. [34] used multi-agent-based modeling for electric vehicle integration. In this article, the authors presented a platform which uses a combination of different simulation environments. Ref. [35] developed a framework for modeling electric vehicles. Ref. [36] used agent-based modeling for the comparison of four urban policy adoption scenarios of electric vehicles against a baseline. Ref. [37] used cognitive agent-based modeling in combination with artificial neural networks for prediction of the demand for electric vehicles based on social influence. Ref. [38] discussed shared vehicle’s autonomous mode requests and used agent-based modeling for determining the preference of vehicles for certain distance ranges. Ref. [39] used agent-based modeling for autonomous vehicles to provide safe traveling and avoid collisions. The model was simulated in the Java Agent Development Framework. Ref. [40] used agent-based modeling for emergency evacuation and safety during everyday movement at train and subway stations.
Bus rapid transit systems remarkably facilitate people with average and low incomes by providing a rapid source of public transportation. In developing countries which cannot afford inter-city trains, BRTSs may be implemented at a lower cost. However, easy access to BRTS stations is also an important parameter [41]. Modeling and simulation may be helpful for analyzing different aspects for increasing efficiency by reducing fuel consumption and improving other relevant parameters [42]. There are also feeder vans that operate as a shuttle service to provide customers access to BRTS stations [43]. Keeping the buses on schedule is also a difficult job in the case of BRTSs because the buses share the common roads instead of using separate tracks. Departure frequency and signal priority may be useful variables for keeping the buses on schedule as provided the mathematical model in [44]. Crowd management is also an important aspect to manage in BRTSs. Anticipative crowd managing procedures may be used to prevent congestion [45]. Agent-based modeling may be used to model BRTSs by using the concept of multi-agent systems for the purpose of scheduling [46].
Agents are autonomous, but they are neither totally free nor totally dependent. Agents have dependence on the environment which provides the conditions for their existence [47]. In multi-agent systems, there are several types of agents that interact with one another to achieve goals by generating a sequence of actions [48]. Agents in multi-agent systems are heterogeneous and are grouped according to their behaviors and are modeled at multiple levels [49]. Recently, a type of modeling called multi-scale modeling has evolved to represent complex systems at different scales [50]. Multi-scale modeling is used in engineering and material science by combining the emerging methods with existing ones leading to the predictive approach of modeling [51]. A term used in multi-scale modeling is scale bridging, which is used to couple different models and keeping the relations at different scales [52]. Multi-scale modeling approach uses the computing concept of divide and conquer for enhancing the details of models. Given the progress in computational facilities, simulations of complex multi-scale models are now used [53]. Their applications include uses in the avionics, automobile, materials, medical, electronics, chemical, and pharmaceutical industries [54].
A comparison of system dynamics, discrete event simulations, and agent-based modeling is provided in [55]. System dynamics (SD) is one of the earliest major and traditional modeling approaches, having been introduced in the 1950s. SD is used for modeling systems at an abstract level and provides an aggregate view of the system. Another well-known approach, discrete event simulation (DES), was introduced in the 1960s. It uses entities as basic elements along with block charts and resources that describe resource sharing and entity flow. It also provides representations of global system behaviors. Agent-based modeling (ABM) is a quite recent development and is used in a variety of disciplines due to its stochastic models. Global system behavior is not defined in ABM. The difference between ABM and the other two methods is that ABM allows for the modeling entities that have stochastic behavior, whereas the other two do not have the capability for this. ABM starts from the bottom and moves up whereas the others start from the top. DES and ABM both allow for the modeling systems that contain heterogeneous entities at the individual level, whereas SD focuses on the aggregate level [56]. In DES, the entities do not show individual behavior, whereas in ABM, entities interact with one another and show individual behavior. In the AnyLogic simulation tool, both stochastic and deterministic agents exist in the same model simultaneously [57].In DES, there are queues, whereas there is no concept of queues in ABM. Agents in ABM are active, whereas the entities in DES are passive. Ref. [58]. In operational research, there exists an SD model for every ABM model. As such, DES, SD, and ABM are used in combination for more detailed models [59].
Until now, ambient-oriented modeling has not been widely used for research purposes. However, it has been used for containers that have the ability to move and have narrowness. In Table 1, we analyze the use of this approach for relation representation and representation of messages. However, models created using this approach lack simulations. Agent-based modeling has been used for analyzing systems using simulations. The abstraction of a model is the process of considering a specific aspect of something or some process under study and representing it in simpler form [60]. According to [61], different levels of abstractions can be applied for detailed modeling of a system. The column “Abstraction” shows that there are different abstraction levels in agent-based models. The abstraction level of the model depends on the granularity of the model. Adaptive abstraction may be used for autonomously shifting from one level to the other. An abstraction level for the cross-level interaction can also be selected in agent-based models. Cross-level interaction occurs where one agent is at less detailed level whereas the other agent is at more detailed level. So, the interaction between different levels of granularity requires the identification of agents with respect to their levels. On the other hand, ambient-oriented modeling has been used for few models. There are many simulation tools for agent-based modeling, and some are also open source, such as NetLogo. One may easily find help for agent-based models. There is a lack of specific simulation tools for ambient-oriented modeling. We found only one software tool for ambient-oriented modeling, i.e., Ambinet. However, this tool has been presented in [6], and we are unable to find it on the internet. To the best of our knowledge, there is no formalized way to represent the relations of agents where one agent is included in another in agent-based modeling and simulations. In addition, agent-based modeling does not provide a formalized way for the representation of messages between agents at different levels of abstraction. Hence, there is need for a framework which provides a solution to the aforementioned lack of agent-based modeling and simulation tools.
Agent-based modeling has been used in combination with sociology, psychology, network effect theory, and game theory [62]. Agent-based modeling has been widely used for the modeling and analysis of transportation and vehicular systems [63,64,65]. Representations of messages and communications between agents have not been addressed in previous work. In addition, inclusion relations have not been provided and represented in agent-based models of transportation systems. In agent-based modeling, different groups can be represented as an agent [66]. In our model of BRT, we use groups of buses as one agent and the group of passengers as another agent. We provide the representation of the messages between the buses, passengers, and stations as well. We also provide representation of the inclusion relations in our model of BRT. Symbols for messaging and inclusion are not available in existing agent-based modeling frameworks. The representation of the messages will bridge the model with the design of information and communication system.
Table 1. Comparison of agent-based and ambient-oriented modeling approaches.
Table 1. Comparison of agent-based and ambient-oriented modeling approaches.
ApproachStrengthsAbstractionSimulation Software
ABMSimulation
friendliness
and
flexibility
[25,27],
[28,30],
[31,32],
[34,39],
[40,42],
[35,38].
It supports
adaptive
abstraction,
cross-level
interaction,
abstraction
of real
environment,
and coupling
of
heterogeneous
models
[3,60,67]
[61,68].
NetLogo is used by
[69].
There are more
than eighty
agent-based
modeling and
simulation
tools as
discussed in
[70].
AOMRepresentation
of inclusion
relations and
messages in
models
[21,22],
[6,24].
The models that
are developed
using this
approach
have not involved
any data such as in
[5,21,71].
Ambinet,
an environment
for ambient-oriented
modeling
[6].
However, this
framework is not
very mature and is
not marketed the same
as the tools for ABM.

3. Use of Agent-Based and Ambient-Oriented Modeling Approaches in Combination

According to [72,73], agent-based modeling is helpful in examining the interactions between individuals as well as to determine the implications of different hypotheses. It helps to create empirically supported models while keeping the assumptions realistic rather than idealized. It also helps in modeling entities at different levels in a system. It helps to keep interdependence while modeling agents in a system. It also provides the facility to model heterogeneous agents in an efficient and easy way. Rules may be defined at different levels, i.e., a separate rule for a specific type of agent or population and rules for interactions between different agents and subsystems in a system. Hence, it provides a flexible way of modeling. Apart from these benefits, there are also some considerations to keep in mind while using agent-based modeling approaches. It may not be helpful in modeling discrete-time events. Availability for standardized procedures for agent-based modeling while constructing and analyzing models is also a critical issue. Understanding the rules of the model in the simulation may also be difficult. However, agent-based modeling may be used in combination with other modeling approaches to overcome these issues.

3.1. Integrated Framework for Modeling

We propose a framework that uses concepts of both agent-based modeling and ambient-oriented modeling for a detailed model. This integrated use will help us in obtaining a comprehensive model covering all practical aspects necessarily required for a detailed model. The Figure 1 shows a meta-model to depict the relation among different attributes and entities involved in modeling. Secondly, integrated use will help in handling both discrete time and continuous time systems. In complex systems at one component of the system may behave as continuous time whereas, the other component of the system may be a discrete time.
Figure 2 shows a framework that is based on the combination of ABM and AOM. The framework shows a flow of modeling consisting of the identification of agents, classification of agents, determining the relations of agents, formalization of processes, formalization of messages, formation of rules, and, at the last phase, the simulation according to the rules. The model is composed of a mathematical representation along with a simulation. However, the model retains the type of the agent and controls its behavior accordingly.
Considerations before starting: Before modeling, one has to select a desired level of abstraction or granularity and flexibility. The level of granularity differs according to the requirements of the system to be modeled. Additionally, different agents have different input variables. The flexibility of the system based on different agents and variables is defined such that one may analyze or learn from the system using different values.
The proposed framework involves the following steps:
Identification of agents: The first step while using these approaches in combination is identification of agents. At this step, the agents are identified, and they are assigned any identity as a unique identifier. Here, the functionality of the agent for which it is autonomous is also defined.
Classification of agents: Upon the identification of the agent, the agent is analyzed based on the properties it possesses. After analyzing, the agents are assigned different types for the purpose of elaborating their behavior in modeling. The classification of agents is helpful in modeling the behavior of specific agents. This classification will be made as per the types of agents discussed in the next subsection. For example, if an agent has the ability to move, then it will be classified as a mobile agent, while if the agent cannot move, then it will be classified as a static agent. The rules for the classified agents will be written as per their type and should never be conflicting with their assigned types.
Relations of agents: Different agents in a model have relations to one another. Every agent should have a relation to at least one of its counterparts involved in the systems modeling. These relations may be symmetric or asymmetric. These relations are represented in the form of networks for better understanding. Causal loop and stack and flow diagrams may be used for representing the relations between agents.
Formalization of processes: After defining the relations of the agents, the next phase is writing the processes of the agents according to the rules of ambient-oriented modeling. This will help in elaborating the functionality of certain agents and their interaction with other agents. These processes, along with relations, will be used for the formation of the rules of the model.
Formalization of messages: The messages between the agents will be modeled by using ambient-oriented modeling symbols. The messages modeling will include the relations of the agents as well. The messages will contain the symbols < > and ( ) receiving, along with relations such as parent, child, and sibling symbols.
Formation of rules: The rules of the model will be elaborated. Based on these rules, the simulations will be developed. The rules are coded in some agent-based simulation tools whereas visual workflows are developed in others. Some common operations involved in rules will be setup, creation of agents, interaction of agents, and movement of agents. For ambients, there will be operations included in the rules such as in, out, move, and copy. Generally, the rules are mathematically represented for associating more details with the graphical model.
Simulation: At the end, the model will be simulated. The simulation will represent the behavior of the agents in the system.
There will be three outcomes of using this modeling approach. The first outcome will be a simulation. The simulation will be helpful in representation of the model in both two- and three-dimensional space. The second outcome will be the representations of relations based on the ambients’ properties. The third outcome will be the representation of the messages communicated between different agents along with the ambients’ relations.
To use ABM in combination with AOM, the first step is to distinguish between the agents and ambients in a system. There are certain properties which distinguish different types of agents.
Let ρ be a set of properties that agents or ambient may hold to be considered in agent-based and ambient-oriented modeling. We represent these properties with lower-case Greek alphabet letters, i.e., Location is denoted as λ , identification is denoted as ι , autonomicity is denoted by ζ , inclusion is denoted by μ , nobility is denoted by δ , granularity is denoted by ϵ , cognition is denoted by η , and flexibility is denoted by κ . Hence, ρ = { λ , ι , ζ , μ , ϵ , η , κ } .
The autonomicity of an agent is a required property in modeling. An entity e is an agent i f f e holds autonomicity ζ for a specific functionality.
Definition 1
(Autonomicity). If X is a set of inputs such that X = x 1 , x 2 , x 3 , x n and Y is a set of outputs such that Y = y 1 , y 2 , y 3 , y n , then autonomicity is defined as the mapping between input and output such that Y = f ( X ) is defined and x y .
While modeling, an agent under examination should have a unique identifier to track the agent. We call the property of possessing a unique identification ι. The functions and rules of any specific agent are assigned using this identification.
Definition 2
(Identification). If I is a set of identities such that I = { i 1 , i 2 , i 3 , . , i n } and i 1 i 2 i 3 , , i n , then identification ι for a set of entities E = { x 1 , x 2 , x 3 , , x n } is mapped as x 1 to x 1 i 1 , x 2 to x 2 i 2 , etc., and every element of the set E should have a unique value of i.
Every agent in the agent-based modeling should have a position in the environment which shows its location. The location of the agent is also an important property which every agent must hold. Generally, location is identified by x and y co-ordinates in a 2D environment. In a 3D environment, the locations have x, y, and z coordinates.
Definition 3
(Location). Let L be a set where L = { 1 , 2 , 3 , , n } such that 1 , 2 , 3 , …, n are different locations and 1 2 3 ≠ … ≠ n and L ( x , y , z ) where x, y, and z are the coordinates. Then, the location λ may be defined as L : = ( x , y , z ) such that in 2D z = n u l l .
The agents that can move from a point to another possess the property of mobility. In a model, such agents are at one point during the first time interval but at the other over another time interval.
Definition 4
(Mobility). If ( 1 , , n ) L ∀ agent a i , j A such that i j and an agent holds the property of mobility δ I f f 1 2 3 ≠ … ≠ n over t 1 , t 2 , t 3 , , t n where t is the time at each location ℓ.
Some agents are capable of including other agents in themselves. This property of including is named as inclusion.
Definition 5
(Inclusion). Let, ( a 1 , a 2 , 3 , , a n ) A where A is an agent and a 1 , a 2 , a 3 , , a n are also agents. Then, A holds the property of inclusion μ and A a 1 , a 2 , a 3 , , a n i f f
1. 
A i a 1 i a 2 i a 3 i ≠ ⋯≠ a n i
2. 
A l = a 1 l = a 2 l = a 3 l = ⋯= a n l
3. 
δ A l 1 A l 2 δ a 1 l 1 a 1 l 2 δ a 2 l 1 a 2 l 2 δ a 3 l 1 a 3 l 2 ⇒ ⋯ ⇒ δ a n l 1 a n l 2
The inclusion μ is defined as x , y , z , a at an interval of time t in the model where x , y , z , and a are all agents then a is holding the property of inclusion.
The process of learning from the environment and making decisions accordingly is called cognition of agent. In the case of reflexive agents, they only use the if-then rule. In utility-based decision making, a utility function is provided to the agent and the agent makes decisions based on the function. Adaptive agents adapt themselves according to different situations and decide accordingly. In goal-based decision making, there are defined goals for the actions to execute. So, the appropriate technique should be used for decision making.
Definition 6
(Cognition). The cognition η of an agent is defined as the capability of an agent to receive information I from the environment e and make a decision d with respect to I.
The granularity of the agent describes the level to which the complexity of the agent is modeled. Different agents have different granularity levels. This is the level of abstraction that is aimed to be achieved in the model. Inappropriate selection of the granularity level may lead to difficulty in modeling or the failure of the modeling objectives.
Definition 7
(Granularity). ( g 1 , g 2 , g 3 , , g n ) ϵ ϵ ϕ , the granularity ϵ of an agent a or a system s is defined as ϵ a s , where ( g 1 , g 2 , g 3 , , g n ) are the levels of detail about an agent or a system.
The properties ρ can be characterized into different categories. The first is the set of those that must be possessed by an agent for modeling. The properties that must be possessed are autonomicity, identification, and location on the surface of the environment. The second set is the properties that are optional to agents. Another category of properties may be the properties that are based on levels such as flexibility and granularity. The set of optional properties is O ρ = { μ , ϵ , η , κ } .

3.2. Agents

Agents are the basic building unit of agent-based modeling. In agent-based modeling, agents are autonomous entities. They may have intelligence and decision-making capability. Agents may be a living or non-living thing which interacts with other entities in the model. Agents may be static objects as well as dynamic objects. The decision-making agents may be termed cognitive agents. Cognitive agents can learn from the environment in which they exist, and on the basis of learning, they may take decisions. Another type of agent is proto-agents. This type of agent is not fully specified but provides information about a specified agent to a non-specified agent. The third type of agent is meta-agents which are composed of other agents. An example of a meta-agent may be a room which may have a temperature sensor as an agent, an AC controller as an agent, a humidity sensor as an agent, a TV as an agent, and a refrigerator as an agent. On the basis of behavior, there are three types of agents. The first type can move and is described by the term “mobile agent”. The second type is stationary, and it cannot move across the landscape. The third type connects two agents and is described by the term “connecting agent”.
Definition 8
(Agent). An agent in agent-based modeling is a tuple x = ζ f , i , L , O ρ , where
  • ζ f is the property of autonomicity for function f;
  • i is the identifier of the agent;
  • L is the location of agent where it may exist on landscape and L λ ;
  • O ρ is set of optional properties possessed by an agent. O ρ may be empty, single, or multiple for a specific agent.
So, from the definition we can create a set of mandatory properties M ρ of agents in agent-based modeling.
M ρ = { λ , ι , ζ }
We use upper-case Greek alphabet letters for types of agents. We represent meta-agents with A (alpha), cognitive agents with B (beta), mobile agents with Γ (gamma), static agents with E (epsilon), proto-agents with Z (zeta), and connecting agents with H (eta).
Definition 9
(Cognitive Agent). Cognitive agent B is defined as a tuple B = { ζ f , i , L , O ρ } O ρ { } η O ρ .
Definition 10
(Mobile Agent). Mobile agent Γ is defined as a tuple Γ = { ζ f , i , L , O ρ } O ρ { } δ O ρ .
Definition 11
(Static Agent). Static agent E is defined as a tuple E = { ζ f , i , L , O ρ } δ O ρ .
Definition 12
(Proto Agent). Proto agent Z is defined as a tuple Z = { ζ f , i , L , O ρ } Z Y where Y is a specified agent.
Definition 13
(Meta Agent). Meta agent A is defined as a tuple A = { ζ f , i , L , O ρ } O ρ { } μ O ρ .
Definition 14
(Connecting Agent). Connecting agent H is defined as a tuple H = { ζ f , i , L , O ρ } U Y = H H Φ where U Y are two agents.
The movement of the agent can be determined by the direction that the agent is facing. In simulation, the state of action of an agent can be determined and displayed by the color of the agent. The behavior of the agent can be defined by the certain action that it should perform or the state in which it should move. The key considerations of the agent are the cognition of the agent and the granularity of the agent.

3.3. Ambients

Ambients are entities which fulfill three basic properties. These properties are inclusion, mobility, and narrowness. We may also define an ambient as an agent with the properties inclusion, mobility, and narrowness. Another definition of an ambient may be an agent which is both a mobile and meta-agent with limited change in its location. The property of inclusion is defined by an ambient’s inclusion of another ambient within it, just as with meta-agents. Mobility is the property that an ambient can change its location and move from one place to another, as with mobile agents. Narrowness indicates that the movement of an ambient should be in a limited space. In ambient-oriented modeling, every ambient should have an identifier and processes. As with agents, ambients also possess identifiers for the purpose of identification. These identifiers help in tracing and tracking ambients. Processes are similar to the behavior of agents. These processes include the rules that an ambient has to follow and the action that an ambient has to perform.
We denote narrowness by ν and it is defined as:
Definition 15
(Narrowness). The narrowness ν is defined as the limitation of agent O to move between specific points ( x 1 . y 1 , x 2 . y 2 , , x n . y n ) on location L and cannot move outside the specific points.
Definition 16
(Ambient). An ambient in ambient-oriented modeling is a tuple x = ζ f , i , L , O ρ , ν μ O ρ δ O ρ O ρ { } where
  • ζ f is the property of autonomicity for function f;
  • i is the identifier of the ambient;
  • L is the location of ambient where it may exist on landscape and L λ ;
  • O ρ is set of optional properties possessed by an ambient. O ρ must hold mobility and inclusion;
  • ν is the narrowness which an ambient must hold.
Ambient-oriented modeling is based on ambient calculus, so it uses mathematical symbols to represent the model. Primarily, an ambient is considered as a container which contains other ambient. So, on the basis of this property, different types of ambients have been defined. There are three types of relations between ambients, i.e., parent, child, and sibling.
  • The symbol “↑” denotes a parent. This means that if we say “X” is a parent of “Y”, then the relation may be represented as X ↑ Y. If “X” is an airplane and “Y” is a passenger, then ambient “X” is the parent of ambient “Y”.
  • The symbol “↓” denotes a child. This means that if we say “Y” is a child of “X”, then the relation may be represented as Y ↓ X. If “X” is an airplane and “Y” is a passenger, then ambient “Y” is the child of ambient “X”.
  • The symbol “ : : ” denotes siblings. This means that if we say “X” and “Y” are two siblings, then the relation may be represented as X : : Y. If “X” and “Y” are both two passengers traveling in same airplane, then we may call “X” and “Y” siblings.
  • The symbol “ < > ” denotes sending a message.
  • The symbol “ ( ) “ denotes receiving a message.
There are four syntax categories. The first is location, represented by α . The second is opportunities, represented by M. The third is processes, and it is represented by P. The fourth is contextual expressions, represented by k. The primitives of an ambient may be:
in: An ambient may enter in a sibling. When the ambient enters in a sibling, it then becomes a child. If “X” and “Y” are two siblings and “X” enters in “Y”, this can be written as X i n Y.
out: An ambient may leave the parent. When the ambient leaves the parent, it then becomes a sibling of the parent. If “X” is the parent and “Y” is the child and “Y” leaves “X”, it can be written as Y o u t X.
open: Open is used to dissolve the boundaries of an ambient.
copy: Copy is used to create duplicates of an ambient.

3.4. Relation of Agent and Ambient

Theorem 1.
An ambient is a type of agent.
Proof. 
Let the set of properties possessed by an ambient be denoted by A m ρ . Because A m ρ = ζ f , ι , L , μ , δ , ν and A m ρ M ρ . As, A ρ = M ρ μ and μ A m ρ , A ρ A m ρ . As Γ ρ = M ρ δ and δ A m ρ , Γ ρ A m ρ . Ambient possess the property of narrowness ν , which is neither available in any other type of agent and this property does not contradict the mandatory properties of agents. Ambient must possess all the mandatory properties M ρ as well as some optional properties O ρ with an extra property which is added to the set of properties ρ of agent. Therefore, ambient is a type of agent.
So, the sets of properties and optional properties are revised as:
ρ = { λ , ι , ζ , μ , ϵ , η , κ , ν }
O ρ = { μ , ϵ , η , κ , ν }  □

4. Bus Rapid Transit System Model: A Modeling Scenario

In this section we provide a model of a generic BRT system for a proof of concept. We modeled it at an abstract level with less detail. There are three agents in this system. The number of agents and states may increase in case a more complex system is modeled. The increase in the number of agents can increase the number of relations, and hence, more representations may be added. Ambients may be organized in hierarchical manner, such as in the case of a person riding on a bus, who may possess a bag, and in the bag, there may be a laptop or mobile phone. As such, in this case more details may be provided for specific purposes. Now, we are following the steps provided by the framework for the purpose of modeling.

4.1. Identification of Agents

We have three agents in our model
  • Buses;
  • People;
  • Stations.

4.2. Classification of Agents

  • Buses: Buses are ambients;
  • People: People are mobile agents;
  • Stations: Stations are static and meta-agents.

4.3. Determining the Relations of Agents

There are four stations and a road is connecting these stations. People can ride on a bus. People can stand on a station. A bus stops at a station. A bus travels along a road.
Figure 3 shows the casual loop of the system. Figure 4 shows the stock and flow diagram of the system. Figure 5 has two parts, the first part (a) shows the state chart of the agent denoted as Bus and the second part (b) shows the state chart of the agent denoted as Passenger.

4.4. Formalization of Processes

The ambient-oriented model according to the above defined rules will be as follows.
There are two ambients: bus and passenger. The ambient bus is represented by B and the ambient passenger is represented by X. P is the process, S is the station, and α is the location. m o v means move to.
P B P X
This shows both processes are parallel.
P B ( m o v ( α = = S 1 ) )
P X ( m o v ( α = = S 1 ) )
The above shows that the bus moves to station one in the first process, and in second process, the passenger moves to station one.
P B ( i n , : : X )
This shows that the passenger standing on the station moves in the bus.
P B ( m o v ( α = = S 2 )
P X ( m o v ( α = = S 2 ) )
This shows that the bus moves to station two and similarly, a new passenger comes to station two.
P B ( o u t , X )
P B ( i n , : : X )
In the above two lines, the passengers that are inside the bus indicate that the bus is parent of the passengers, who should get off the bus, whereas the passenger standing on the station are siblings of the bus and should ride on the bus.
P B ( m o v ( α = = S 3 )
P X ( m o v ( α = = S 3 ) )
P B ( o u t , X )
P B ( i n , : : X )
P B ( m o v ( α = = S 4 )
P B ( o u t , X )
In the above lines, a situation similar to the previous explanation is presented. Let F be the first station, N be the last station, and O is a constant. The process for bus P B is modeled as shown below.
P B m o v ( α = = S F ) ( i n , : : X ) m o v ( α = = S F + O ) ( o u t , X ) ( i n , : : X ) m o v ( α = = S N ) ( o u t , X )
Let S n e a r e s t be the station nearest to the location of passenger and S d e s t i n a t i o n be the destination of the passenger. The process X for the passenger is modeled as shown below.
P X m o v ( α = = S n e a r e s t ) m o v ( i n , : : B ) m o v ( α = = S d e s t i n a t i o n ) m o v ( o u t , B )

4.5. Formalization of Messages

The bus shares its current location to the next bus station and the bus station calculates the approximate arrival time and provides it to the passenger. So, this may be modeled as:
P B ( S 1 : : < b u s i d , α > , 0 )
P X ( S 1 : : ( b u s i d , e x p t i m e ) , 0 )
The messages from the station agent are as follows:
P S B : : ( b u s i d , α ) , 0 X : : < b u s i d , e x p t i m e > , 0

4.6. Formation of Rules

Assuming normal hours and routine service, when there is no rush the rules will be as follows.
The rules of the bus will be: The bus moves from the source to station one. At station one the bus moves to the bus stop and waits. After pickup, the bus moves to station two. At station two, the bus first drops off passengers and then picks up passengers. Then, the bus moves to station three. At station three, the bus first drops off passengers and then picks up passengers. Then, the bus moves to station four, which is the final station. At station four, the bus drops passengers off and ends.
The rules of the passenger will be: The passenger comes to a platform. At the platform, the passenger waits for the arrival of a bus. When the bus arrives, the passenger rides on the bus. Then, the passenger moves to the desired station by bus. At the desired station, the passenger gets off the bus and onto the platform. Finally, the passenger exits the platform.
The average waiting time of passengers at station c can be calculated as A w t ( c ) = x = 1 n ( w t x )/n where A w t ( c ) represents the average waiting time at station c, n is the number of passengers, and w t is the waiting time of certain passenger.

4.7. Simulation

We the used AnyLogic simulator for the simulation. Figure 6 shows the flowchart of the model along with the 2D run. After running, the values show the number of buses as well as passengers who crossed specific area. The rules are represented in this flowchart. In this flowchart, the “busSource” is used to generate the agent “bus”. After the bus is generated, a delay function is used because there is a normally a gap between buses. Then, the bus moves to station one by using the function “Mv2BS1”. Meanwhile, a parallel process is running for the agent “passenger”. There is a passenger source represented in green with the title “pedSource”. When a passenger is generated, it waits and enters into the station. The passenger leaves the station when the function “pedExit” is called. After “pedExit”, there is a function “queue”, from where passenger enters the bus. As we used station as an agent, we used the enter and exit functions at the station. After the bus arrives at station one, the passengers at station one who are waiting in “queue” can ride on the bus. For riding, we used a function “pickup”, represented in blue. The “pickup” function has two pre-conditions: the first is that there should be a bus, and the second is that there should be passengers. Similarly, the bus moves to station two using the function “Mv2BS2”. Here, two processes will occur: first, “dropoff” and second, “pickup”. After “dropoff”, the passenger will enter the respective station then leave the station, and then the agent passenger will be destroyed. Similar to the first station, passengers at station two are generated by “pedSource2“ and will ride on the bus. Similarly, the bus moves to station three where both “dropoff” and “pickup” can occur. Then, the bus moves to station four using the function “Mv2BS4”. This is the last station and here only the “dropoff” function is available. After the last station, the agent bus is destroyed at the black filled cross.
Figure 7 shows the 3D representation of the model. In the 3D view, the grey horizontal line with a green line in center represents the road. The yellow and white boxes on the road represent the buses. The comparatively larger rectangular boxes along the roadside are the stations. The dots on the stations represent passengers waiting on the station. However, while executing the model, one may watch buses picking up passengers moving from station to station, dropping of passengers at stations, and exiting from the area. Similarly, the passengers coming to a station, riding on the bus, and exiting from the bus and leaving the station can also be observed. Alongside the 3D model, a graph is shown in the same figure. This graph has been created to analyze the waiting time of passengers at the first station. The bus rapid transit systems with isolated tracks are represented here in a model.
The model can be well understood using a mathematical representation of the processes and a visual representation using simulations. From the graph, one can easily observe that the waiting time is high when the system starts keeping the number of passenger constant. However, as the buses start operating, the average waiting time decreases. Although only one aspect of the model was considered here, multiple other aspects of the model can change the behavior of agents. This model can be used for the prediction of the required bus frequency at rush hours by increasing the number of passengers.

5. Discussion and Analysis

In this section, we discuss the added value of the proposed framework for developing models of systems that are composed of agents and ambients. In the absence of any comparative frameworks, here we examine how to design complex agent-based ambient-oriented systems in general. In particular, we also discuss how conventional modeling schemes fail to provide effective tools for building detailed models and simulations of agent-based ambient-oriented systems.

5.1. Problem in Modeling Agent-Based Ambient-Oriented Systems

The concept of agents and ambients functioning in collaboration was provided by [74], where an ambient was treated as a mobile entity for the first time. In this article, the agents were considered as entities that are placed within an ambient. On the basis of this article, Ref. [1] provided the concept of an ambient-oriented modeling approach. The proposed ambient-oriented modeling, unlike its base article, does not distinguish between the agent and the ambient. In model [21], any entity is treated as an ambient whether it fulfills the definition of an ambient or not. Agent-based modeling is mature and contains well-developed frameworks, software, and libraries, as discussed in previous sections. As such, modeling agent-based ambient-oriented systems needs a framework to properly distinguish between agents and ambients, elaborate the process, simulate the model, represent their relations in the model, and represent the messages.

5.2. Our Framework for Modeling Agent-Based Ambient-Oriented Systems

Our first research question was: how can complex systems that have agents that contain other agents and have the ability to move within a limited location can be modeled? We can rewrite this question as: how can agent-based ambient-oriented systems be modeled? Our second research question was: how can one represent different agents of different levels based on their dependencies? We can rewrite this question as: how can we represent the inclusion relations of ambient and agents? Our third question was: how can we provide details such as the message sending or receiving from certain agents alongside the representation of dependencies? We can rewrite this question as: how can we represent messages alongside the relations between ambient and agents?
Ambients always possess three properties, i.e., inclusion, narrowness, and mobility. Inclusion means that an ambient is a container which can contain other entities. Narrowness means that it should have certain boundaries. Mobility means that an ambient will always have the ability to change the location. When we analyze means of transportation such airplanes, trains, buses, and cars, they may be treated as ambients. An airplane is an ambient which moves from one airport to another and also contains passengers and crew staff. A bus is an ambient as it can move from one location to the other and passengers can ride on it. A train is an ambient as it moves from station to station, while containing people and luggage. A car is an ambient as it can move from one place to another while including the driver and passengers. A ship is an ambient as it can move from one port to another while containing people and luggage. Similarly, trucks are an ambient and may contain different agents.
We have discussed different types of agents in previous sections. All other agents who do not fulfill the properties of ambients should be treated as agents. An agent may be an ambient at a certain granularity level, whereas at another level it may not. For example, while modeling bus systems, the human riding on the bus will be an agent, whereas in other cases, humans may also contain some agents such as mobile phones, smart-watches, etc., and have the ability to move. An agent should have some role in the model. Depending on the availability of data, one may select any of the agent-based modeling types. There are different frameworks/protocols available for agent-based modeling. These frameworks may be extended for the addition of ambient features.
A model is based on some entities and the rules for processes. Usually, the rules of agent-based modeling are written in code for simulations. In some simulation environments such as AnyLogic the rules are written as flow diagrams and have visual representations of the rules. In ambient-oriented modeling, the rules are represented as processes. Processes contain messages as well. To use agent-based modeling in-combination with ambient-oriented modeling, the rules should be defined in simulations and an explanation should be provided in the form of ambient-oriented modeling expressions. Agent-based modeling is very effective for ad hoc systems and continuous time simulations, because ambient-oriented is primarily state based and can be effectively used for event-based properties of systems. Our proposed framework will be useful for modeling complex systems that have both agents and ambients as their components.
With the emergence of new technologies, modern transport systems are rapidly changing. Internet-based applications are facilitating transportation as well. Internet-based transport systems such as Uber and Careem are operating in multiple countries. Internet of things-based goods tracking applications have also been proposed. SWVL is a service operating in different countries which provides internet-based routed public transport. These types of systems require modeling for different purposes. Hence, our modeling approach will help in modeling such transport systems. It will help in modeling both urban and long-distance transport systems. There are various agent-based simulation environments. Although we used AnyLogic, other tools may also be used. Some of the famous agent-based modeling tools are NetLogo, AgentCell, AgentFactory, Brahms, UrbanSim, and Swarm. However, the addition of ambient properties to these tools will be helpful for the representation of ambients and modeling agent-based ambient-oriented systems.

5.3. Comparison

A hybrid modeling framework uses ABM, DES, and SD in combination to model teamwork, and ABM builds the frame, while the internals of agents are modeled by DES and SD [75]. For modeling teamwork in engineering environments, an ABM approach has been provided [76]. A framework for modeling freights has been proposed that overcomes the limitations of existing approaches [77]. A framework known as MESA has been presented and this framework is for agent-based modeling [78]. A framework for the modeling and simulation of emergent behaviors has been presented [79]. A framework for modeling and simulation has been proposed that addresses incident management on three axes, i.e., incident, domain, and life-cycle phase [80]. A traffic simulation framework to reproduce urban freight movements, particularly concerning double-parked delivery operations has been developed [81]. A modeling and simulation framework has been provided to support a holistic analysis of healthcare systems through a stratification of levels of abstraction into multiple perspectives and their integration in a common simulation framework [82]. Modeling and simulation are used in software engineering and a modeling framework for model-driven development (MDD) tool has been provided [83]. In one of our recent articles, we proposed a modeling framework for software engineering in internet of things (IoT) systems [84]. A framework for modeling different aspects of transportation system has been proposed and has used agent-based modeling in this framework [85]. A framework for modeling complex systems has been provided and this framework used a combination of network-based and agent-based modeling [86]. A framework for modeling the security of internet of things systems has been proposed [87].
There are several other frameworks that provide the use of agent-based modeling and other traditional modeling approaches for different specific purposes. However, there is no single modeling framework that provides the use of agent-based and ambient-oriented modeling approach in combination. Additionally, no other framework provides representation of messages and processes that are associated with agents in agent-based modeling. Agent-based modeling has widely been used for modeling transportation systems. There are five well-known modes of transportation, i.e., road transportation, maritime transportation, air transportation, rail transportation, and inter-modal or multi-mode transportation. All these modes of transportation satisfy our definition of an ambient. A car, bus, truck, or any vehicle that is a part of road transportation satisfies the definition of an ambient. Ships, boats, and other similar entities used in maritime transportation are also ambients as per the definition. Airplanes, helicopters, and jets used for air transportation also satisfy the definition of an ambient. Similarly, rail transportation that uses trains and similar entities also satisfy the definition of an ambient. As all the primary modes of transportation can be modeled using the concept of ambients, so can the derived modes or multi-modes. According to the definition, an ambient can move within a certain location and has the ability to contain other agents within itself. The use of our framework will help model transportation systems with more details and represent communication as well. Agent-based modeling does not provide a formalized mechanism of modeling communication. Although transportation mostly included mechanical entities some decades ago, due to rapid emergence of information and communication technologies, however, transportation has also been upgraded to smart transportation. Technologies such as the internet of things have had a significant impact on transition of transportation as well. The use of new technologies has shifted the transportation systems to complex ones. So, representing messages is a key aspect of modeling modern transportation systems. Hence, this framework provides a mechanism to model and simulate modern transportation systems using agent-based modeling, while providing details such as the representation of messages and representations of the relations of agents in a hierarchical manner.

6. Conclusions

In this paper, we discussed agent-based modeling and ambient-oriented modeling in detail. We discussed agents and ambients in different aspects, as the agent is the basic unit of agent-based modeling and the ambient is the basic unit of ambient-oriented modeling. We also provided the similarities between agents and ambients. We proved a proposition that an ambient may be treated as a type of agent. However, in case of agent-based modeling and ambient-oriented modeling, both approaches promote different methods of modeling. Agent-based modeling promotes visual representations and minimizes the use of mathematics. Ambient-oriented modeling is based on calculus and also has very low support for visual modeling. We provided a framework that uses the concepts of both modeling approaches for detailed models. It provides a mechanism to model agent-based ambient-oriented systems. For a proof of concept and to validate our framework, we used an example of a BRTS. We applied the steps provided in the framework and obtained a detailed model. The model contained representations of hierarchical relations as well as the communication messages between the different agents. This framework is useful for modeling modern transportation systems to obtain detailed models for the purpose of feasibility study, elaboration, education, and design. This modeling framework will be helpful in model-based engineering of transport systems that use information and communication technologies.
We used only one aspect of our model for BRT. Different aspects can be considered while modeling BRT systems. The model developed using the data collected from specific BRT systems will provide more accurate predictions. In the future we aim to extend this approach for implementation for relevant scenarios such as internet of things supply chains.

Author Contributions

Conceptualization, K.M.A.; Data curation, K.M.A.; Formal analysis, K.M.A. and T.A.K.; Investigation, K.M.A.; Methodology, T.A.K.; Project administration, I.u.H.; Resources, K.M.A.; Software, T.A.K.; Supervision, T.A.K.; Validation, K.M.A. and I.u.H.; Visualization, K.M.A. and I.u.H.; Writing—original draft, K.M.A.; Writing—review & editing, T.A.K. and I.u.H. All the authors contributed equally. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors extend their appreciation to the ORIC Bahria University of Islamabad for their support.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Stoyanov, S.; Glushkova, T.; Popchev, I. Modeling of Intelligent Context Aware Systems. Eng. Sci. Bulg. 2017, 3, 5–21. [Google Scholar]
  2. Niazi, M.A.K. Towards A Novel Unified Framework for Developing Formal Network and Validated Agent Based Simulation Models of Complex Adaptive Systems. Ph.D. Thesis, Computing Science and Mathematics School of Natural Sciences, University of Stirling, Scotland, UK, 2011. [Google Scholar]
  3. Bonabeau, E. Agent based modeling Methods and techniques for simulating human systems. Proc. Natl. Acad. Sci. USA 2002, 99, 7280–7287. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  4. Cruz, N.A.G.; Saa, I.L.; Hurtado, F.F.O. Agent based simulation in management and ororganization studies a survey. Eur. J. Manag. Bus. Econ. 2017, 26, 313–328. [Google Scholar] [CrossRef] [Green Version]
  5. Glushkova, T.; Stoyanov, S.; Popchev, I.; Doukovska, L. Ambient Oriented modeling in an Intelligent Agriculture Infrastructure. In Proceedings of the IEEE 10th International Conference on Intelligent Systems, Varna, Bulgaria, 28–30 August 2020. [Google Scholar]
  6. Glushkova, T.; Stoyanov, S.; Doycheva, A.S.; Ivanova, V.; Doukovska, L. AMBIENT An Environment For Ambient Oriented Modeling. Int. J. Comput. 2019, 18, 331–340. [Google Scholar] [CrossRef]
  7. Ding, H.; Guoqiang, Y.; Yuan, M. Study of Bus Rapid Transit System Evaluation Based on Gray Extension Matterelement Model. In Proceedings of the Fourth International Conference on Intelligent Computation Technology and Automation, Shenzhen, China, 28–29 March 2011. [Google Scholar]
  8. Dong, X.S.; Xiong, G.; Fan, D.; Zhu, F.H.; Xie, L. Bus Rapid transit BRT Parallel System Based on ACP Approach. In Proceedings of the 10th World Congress on Intelligent Control and Automation, Beijing, China, 6–8 July 2012. [Google Scholar]
  9. Racehorse, V.J.; Zhang, G.; Sussman, A.; Jian, A.; Parker, T. Bus rapid transit system deployment for high quality and cost effective transit service a comprehensive review and comparative analysis. IET Intell. Transp. Syst. 2015, 9, 175–183. [Google Scholar] [CrossRef]
  10. Papageorgiou, G.; Maimaris, A.; Ioannou, P. Analysis and Evaluation of Intelligent Bus Rapid Transit Systems in Cyprus. In Proceedings of the IEEE 18th International Conference on Intelligent Transportation Systems, Gran Canaria, Spain, 15–18 September 2015. [Google Scholar]
  11. Currie, G. The Demand Performance of Bus Rapid Transit. J. Public Transp. 2005, 8, 41–55. [Google Scholar] [CrossRef] [Green Version]
  12. Xie, Q.; Ma, S.; Jia, N.; Gao, Y. Agent Based Modeling and Simulation for the Bus Corridor Problem in a Many to One Mass Transit System. Discret. Dyn. Nat. Soc. 2014, 2014, 652869. [Google Scholar] [CrossRef] [Green Version]
  13. Abbasi, K.M.; Khan, T.A.; ul Haq, I. Hierarchical Modeling of Complex Internet of Things Systems Using Conceptual Modeling Approaches. IEEE Access 2019, 7, 102772–102791. [Google Scholar] [CrossRef]
  14. Robinson, W.N.; Ding, Y. A Survey of Customization Support in Agent Based Business Process Simulation Tools. ACM Trans. Model. Comput. Simul. 2010, 20, 29. [Google Scholar] [CrossRef]
  15. Hawe, G.I.; Coates, G.; Wilson, D.T.; Crouch, R.S. Agent Based Simulation for Large-Scale Emergency Response A Survey of Usage and Implementation. ACM Comput. Surv. 2012, 45, 51. [Google Scholar] [CrossRef] [Green Version]
  16. Paravantis, J.A. From Game Theory to Complexity Science and Agent Based Modeling in World Politics; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
  17. Richiardi, M. The future of agent based modelling. East. Econ. J. 2017, 43, 24. [Google Scholar] [CrossRef]
  18. Bruno, G.; Genovese, A.; Sgalambro, A. An Agent Based framework for modeling and solving location problems. Soc. Estad. E Investig. Oper. 2010, 18, 81–96. [Google Scholar] [CrossRef] [Green Version]
  19. Vasanthapriyan, S.; Thuseethan, S. Prediction of Human Flow in Disaster Situations A Multi Agent Based Modelling and Simulation. In Proceedings of the 2nd International Symposium on Dependable Computing and Internet of Things, Wuhan, China, 16–18 November 2015. [Google Scholar]
  20. Raees, M.; Khan, T.A.; Abbasi, K.M.; Ahmed, A.; Fazilat, S.; Ahmed, I. Context Aware Services Using MANETs for Long Distance Vehicular Systems A Cognitive Agent-Based Model. Sci. Program. 2021, 2021, 12. [Google Scholar] [CrossRef]
  21. Glushkova, T.; Stoyanov, S.; Popchev, I.; Cheresharov, S. Ambient Oriented Modelling in a Virtual Educational Space. Compt. Rend. Acad. Bulg. Sci. 2018, 71, 398–406. [Google Scholar]
  22. Glushkova, T.; Stoyanov, S. Ambient Oriented Modeling Of Intelligent Context Aware Systems. Bulg. Comput. Sci. Commun. 2018, 7, 53–61. [Google Scholar]
  23. Sehili, S.; Capocchi, L.; Santucci, J.F.; Lavirotte, S.; Tigli, J.Y. Discrete Event Modeling and Simulation for IoT Efficient Design Combining WComp and DEVSimPy Framework. In Proceedings of the 5th International Conference on Simulation and Modeling Methodologies Technologies and Applications, Colmar, France, 21–23 July 2015. [Google Scholar]
  24. Stoyanov, S.; Glushkova, T.; Doycheva, A.S.; Ivanova, V. A Reference Architecture Supporting Smart City Applications. In Lecture Notes in Business Information Processing, Proceedings of the in International Conference on Business Information Systems, Seville, Spain, 26–28 June 2019; Springer: Cham, Switzerland, 2019; pp. 463–474. [Google Scholar]
  25. Iyigunlu, S.; Fookes, C.; Yarlagadda, P. Agent-based modelling of aircraft boarding methods. In Proceedings of the 4th IEEE International Conference on Simulation And Modeling Methodologies Technologies and Applications SIMULTECH, Vienna, Austria, 28–30 August 2014; pp. 148–154. [Google Scholar]
  26. Molina, M.; Carrasco, S.; Martin, J. Agent based modeling and simulation for the design of the future european air traffic management system The experience of cassiopeia. In Communications in Computer and Information Science, Proceedings of the International Conference on Practical Applications of Agents and Multi Agent Systems, Salamanca, Spain, 4–6 June 2014; Springer: Cham, Switzerland, 2014; pp. 22–33. [Google Scholar]
  27. Bongiorno, C.; Micciche, S.; Mantegna, R.N. An empirically grounded agent based model for modeling directs, conflict detection and resolution operations in air traffic management. PLoS ONE 2017, 12, e0175036. [Google Scholar] [CrossRef] [Green Version]
  28. Delcea, C.; Cotfas, L.A.; Paun, R. Agent based evaluation of the airplane boarding strategies efficiency and sustainability. Sustainability 2018, 10, 1879. [Google Scholar] [CrossRef] [Green Version]
  29. Grether, D.; Furbas, S.; Nagel, K. Agent-based modelling and simulation of air transport technology. Procedia Comput. Sci. 2013, 19, 821–828. [Google Scholar] [CrossRef] [Green Version]
  30. Sheppard, C.J.; Harris, A.; Gopal, A.R. Cost effective siting of electric vehicle charging infrastructure with agent based modeling. IEEE Trans. Transp. Electrif. 2016, 2, 174–189. [Google Scholar] [CrossRef]
  31. Yang, W.; Xiang, Y.; Liu, J.; Gu, C. Agent based modeling for scale evolution of plug in electric vehicles and charging demand. IEEE Trans. Power Syst. 2017, 33, 1915–1925. [Google Scholar] [CrossRef]
  32. Bischoff, J.; Fernandez, F.J.M.; Olavarria, G.D.; Maciejewski, M.; Nagel, K. Impacts of vehicle fleet electrification in Sweden a simulation based assessment of long distance trips. In Proceedings of the 6th IEEE International Conference on Models and Technologies for Intelligent Transportation Systems MTITS, Cracow, Poland, 5–7 June 2019; pp. 1–7. [Google Scholar]
  33. Adepetu, A.; Keshav, S.; Arya, V. An agent based electric vehicle ecosystem model San Francisco case study. Transp. Policy 2016, 46, 109–122. [Google Scholar] [CrossRef]
  34. Hu, J.; Morais, H.; Lind, M.; Bindner, H.W. Multi agent based modeling for electric vehicle integration in a distribution network operation. Electr. Power Syst. Res. 2016, 136, 341–351. [Google Scholar] [CrossRef] [Green Version]
  35. Pagani, M.; Korosec, W.; Chokani, N.; Abhari, R.S. User behaviour and electric vehicle charging infrastructure An agent based model assessment. Appl. Energy 2019, 254, 113680. [Google Scholar] [CrossRef]
  36. Silvia, C.; Krause, R.M. Assessing the impact of policy interventions on the adoption of plug in electric vehicles An agent based model. Energy Policy 2016, 96, 105–118. [Google Scholar] [CrossRef]
  37. Wolf, I.; Schröder, T.; Neumann, J.; de Haan, G. Changing minds about electric cars: An empirically grounded agent-based modeling approach. Technol. Forecast. Soc. Chang. 2015, 94, 269–285. [Google Scholar] [CrossRef] [Green Version]
  38. Liu, J.; Kockelman, K.M.; Boesch, P.M.; Ciari, F. Tracking a system of shared autonomous vehicles across the Austin, Texas network using agent-based simulation. Transportation 2017, 44, 1261–1278. [Google Scholar] [CrossRef]
  39. Dalapati, P.; Padhy, A.; Mishra, B.; Dutta, A.; Bhattacharya, S. Real time collision handling in railway transport network an agent based modeling and simulation approach. Transp. Lett. 2019, 11, 458–468. [Google Scholar] [CrossRef]
  40. Zou, Q.; Fernandes, D.S.; Chen, S. Agent based evacuation simulation from subway train and platform. J. Transp. Saf. Secur. 2019, 13, 318–339. [Google Scholar] [CrossRef]
  41. Wibowo, S.S.; Olszewski, P. Modeling Walking Accessibility To Public Transport Terminals Case Study Of Singapore Mass Rapid Transit. J. East. Asia Soc. Transp. Stud. 2005, 6, 147–156. [Google Scholar]
  42. Warren, J.P.; Ortegon-Sanchez, A. Designing and modeling Havanas future bus rapid transit. Urban Des. Plan. 2015, 169, 104–119. [Google Scholar]
  43. Wu, J.; Song, R.; Wang, Y.; Chen, F.; Li, S. Modeling the Coordinated Operation between Bus Rapid Transit and Bus. Math. Probl. Eng. 2015, 2015, 7. [Google Scholar] [CrossRef] [Green Version]
  44. Ma, W.; Yang, X. A Passive Transit Signal Priority Approach for Bus Rapid Transit System. In Proceedings of the 2007 IEEE Intelligent Transportation Systems Conference, Bellevue, WA, USA, 30 September–3 October 2007. [Google Scholar]
  45. Georgoudas, I.G.; Sirakoulis, G.C. An Anticipative Crowd Management System Preventing Clogging in Exits During Pedestrian Evacuation Processes. IEEE Syst. J. 2011, 5, 129–141. [Google Scholar] [CrossRef]
  46. Wang, N.; Chen, Y.; Zhang, L. Design of Multi agent based Distributed Scheduling System for Bus Rapid Transit. In Proceedings of the IEEE Third International Conference on Intelligent Human Machine Systems and Cybernetics, Hangzhou, China, 26–27 August 2011. [Google Scholar]
  47. Odell, J.; Parunak, H.V.D.; Fleischer, M. Modeling agents and their environment The communication environment. J. Object Technol. 2003, 2, 39–52. [Google Scholar] [CrossRef] [Green Version]
  48. Chelberg, D.; Welch, L.; Lakshmikumar, A.; Gillen, M.; Zhou, Q. Meta Reasoning For a Distributed Agent Architecture. In Proceedings of the IEEE 33rd Southeastern Symposium on System Theory, Athens, OH, USA, 20–20 March 2001; pp. 377–381. [Google Scholar]
  49. Auchincloss, A.H.; Garcia, L.M.T. Brief introductory guide to agent based modeling and an illustration from urban health research. Cad. Saude Publica 2015, 31, 65–78. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  50. Borgdorff, J.; Mamonski, M.; Bosak, B.; Groen, D.; Belgacem, M.B.; Kurowski, K.; Hoekstra, A.G. Multiscale computing with the multiscale modeling library and runtime environment. Procedia Comput. Sci. 2013, 18, 1097–1105. [Google Scholar] [CrossRef]
  51. Raabe, D.; Scheffler, M.; Kremer, K.; Thiel, W.; Neugebauer, J.; Jansen, M. Multi Scale Modeling in Materials Science and Engineering, Technical Report. 2009.
  52. Hoekstra, A.; Chopard, B.; Coveney, P. Multiscale modelling and simulation a position paper. Philos. Trans. R. Soc. A Math. Phys. Eng. Sci. 2014, 372. [Google Scholar] [CrossRef] [PubMed]
  53. Groen, D.; Knap, J.; Neumann, P.; Suleimenova, D.; Veen, L.; Leiter, K. Mastering the scales a survey on the benefits of multiscale computing software. Philos. Trans. R. Soc. A 2019, 377, 20180147. [Google Scholar] [CrossRef] [Green Version]
  54. Verkhovtsev, A.V.; Solovyov, I.A.; Solovyov, A.V. Advances in multiscale modeling for novel and emerging technologies. Eur. Phys. J. D 2021, 75, 1–18. [Google Scholar] [CrossRef]
  55. Borshchev, A.; Filippov, A. From System Dynamics and Discrete Event to Practical Agent Based Modeling Reasons Techniques Tools. In Proceedings of the 22nd International Conference of the System Dynamics Society, Oxford, UK, 25–29 July 2004. [Google Scholar]
  56. Majid, M.A.; Fakhreldin, M.; Zuhairi, K.Z. Comparing Discrete Event and Agent Based Simulation in Modelling Human Behaviour at Airport Check in Counter. In Lecture Notes in Computer Science, Proceedings of the International Conference on Human-Computer Interaction, Toronto, ON, Canada, 17–22 July 2016; Springer: Cham, Switzerland, 2016; pp. 510–522. [Google Scholar]
  57. Metzner, N. A comparison of agent based and discrete event simulation for assessing airport terminal resilience. Transp. Res. Procedia 2019, 43, 209–218. [Google Scholar] [CrossRef]
  58. Maidstone, R. Discrete Event Simulation System Dynamics and Agent Based Simulation Discussion and Comparison. System 2012, 1, 1–6. [Google Scholar]
  59. Dubiel, B.; Tsimhoni, O. Integrating Agent Based Modeling Into A Discrete Event Simulation. In Proceedings of the Winter Simulation Conference, Orlando, FL, USA, 4 December 2005. [Google Scholar]
  60. Franceschini, R.; Mierlo, S.V.; Vangheluwe, H. Towards adaptive abstraction in agent based simulation. In Proceedings of the 2019 Winter Simulation Conference, National Harbor, MD, USA, 8–11 December 2019. [Google Scholar]
  61. Federici, M.L.; Redaelli, S.; Vizzari, G. Models abstractins and phases in multi agent based simulation. Proceedings of the WOA, 2006. [Google Scholar]
  62. Zhou, L.; Lin, J.; Li, Y.; Zhang, Z. Innovation Diffusion of Mobile Applications in Social Networks A Multi-Agent System. Sustainability 2020, 12, 2884. [Google Scholar] [CrossRef] [Green Version]
  63. Ebrie, A.S.; Kim, Y.J. Investigating Market Diffusion of Electric Vehicles with Experimental Design of Agent Based Modeling Simulation. Systems 2022, 10, 28. [Google Scholar] [CrossRef]
  64. Novizayanti, D.; Prasetio, E.A.; Siallagan, M.; Santosa, S.P. Agent Based Modeling Framework for Electric Vehicle Adoption Transition in Indonesia. World Electr. Veh. J. 2021, 12, 73. [Google Scholar] [CrossRef]
  65. Preis, L.; Hornung, M. Vertiport Operations Modeling Agent Based Simulation and Parameter Value Specification. Electronics 2022, 11, 1071. [Google Scholar] [CrossRef]
  66. Shaaban, M.; Scheffran, J.; Elsobki, M.S.; Azadi, H. A Comprehensive Evaluation of Electricity Planning Models in Egypt Optimization versus Agent-Based Approaches. Sustainability 2022, 14, 1563. [Google Scholar] [CrossRef]
  67. Siegfried, R.; Lehmann, A.; Khayari, R.E.A.; Kiesling, T. A reference model for agent based modeling and simulation. In Proceedings of the 2009 Spring Simulation Multiconference, San Diego, CA, USA, 22–27 March 2009; pp. 1–8. [Google Scholar]
  68. Derksen, C.; Branki, C.; Unland, R. A framework for agent based simulations of hybrid energy Infrastructures. In Proceedings of the Federated Conference on Computer Science and Information Systems, Wroclaw, Poland, 9–12 September 2012; pp. 1293–1299. [Google Scholar]
  69. Gonzalez, I.R.; Souza, G.E.D.; Ismailova, Z. Agent Based Modeling An Application to Natural Resource Mangement. J. Environ. Prot. 2018, 9, 991–1019. [Google Scholar] [CrossRef]
  70. Abar, S.; Theodoropoulos, G.K.; Lemarinier, P. Agent Based Modelling and Simulation tools A review of the state of art software. Comput. Sci. Rev. 2017, 24, 13–33. [Google Scholar] [CrossRef]
  71. Glushkova, T.; Miteva, M.; Doycheva, A.S.; Ivanova, V.; Stoyanov, S. Implementation of a Personal Internet of Thing Tourist Guide. Am. J. Comput. Commun. Control 2018, 5, 39–51. [Google Scholar]
  72. Helbing, D.; Balietti, S. Social Self Organization. In How to Do Agent Based Simulations in the Future from Modeling Social Mechanisms to Emergent Phenomena and Interactive Systems Design; Springer: Berlin/Heidelberg, Germany, 2013; pp. 25–70. [Google Scholar]
  73. Manzo, G. The Potential and Limitations of Agent based Simulation An Introduction. Rev. Fr. Sociol. 2014, 55, 433–462. [Google Scholar] [CrossRef]
  74. Cardelli, L.; Gordon, A.D. Mobile ambients. Theor. Comput. Sci. 2000, 240, 177–213. [Google Scholar] [CrossRef] [Green Version]
  75. Block, J. Hybrid agent based modeling HABM a framework for combining agent based modeling and simulation discrete event simulation and system dynamics. In Operations Research Proceedings, Proceedings of the 2017 Operations Research Proceedings 2017, Berlin, Germany, 6–8 September 2017; Springer: Cham, Switzerland, 2018; pp. 603–608. [Google Scholar]
  76. Crowder, R.M.; Robinson, M.A.; Hughes, H.P.N.; Sim, Y.W. The Development of an Agent Based Modeling Framework for Simulating Engineering Team Work. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 2012, 42, 1425–1439. [Google Scholar] [CrossRef]
  77. Cavalcante, R.A.; Roordaa, M.J. Freight Market Interactions Simulation FREMIS An Agent Based Modeling Framework. Procedia Comput. Sci. 2013, 19, 867–873. [Google Scholar] [CrossRef] [Green Version]
  78. Masad, D.; Kazil, J. Mesa an agent based modeling framework. In Proceedings of the 14th Python in Science Conference, Austin, TX, USA, 6–12 July 2015. [Google Scholar]
  79. Foguelman, D.; Henning, P.; Uhrmacher, A.; Castro, R. Eb devs a formal framework for modeling and simulation of emergent behavior in dynamic complex systems. J. Comput. Sci. 2021, 53, 101387. [Google Scholar] [CrossRef]
  80. Jain, S.; McLean, C.R. An Integrating Framework for Modeling and Simulation for Incident Management. J. Homel. Secur. Emerg. Manag. 2006, 3, 1–24. [Google Scholar]
  81. Simonia, M.D.; Claudel, C.G. A simulation framework for modeling urban freight operations impacts on traffic networks. Simul. Model. Pract. Theory 2018, 86, 36–54. [Google Scholar] [CrossRef]
  82. Traore, M.K.; Zacharewicz, G.; Duboz, R.; Zeigler, B. Modeling and simulation framework for value based healthcare systems. Simul. Trans. Soc. Model. Simul. Int. 2019, 95, 481–497. [Google Scholar] [CrossRef] [Green Version]
  83. Cetinkaya, D.; Verbraeck, A.; Seck, M.D. MDD4MS A Model Driven Development Framework for Modeling and Simulation. In Proceedings of the Summer Computer Simulation Conference, Hague, The Netherlands, 27–30 June 2011; pp. 113–121. [Google Scholar]
  84. Abbasi, K.M.; Khan, T.A.; ul Haq, I. Modeling framework for model-based software engineering of complex Internet of things systems. Math. Biosci. Eng. 2021, 18, 9312–9335. [Google Scholar] [CrossRef]
  85. Auld, J.; Hope, M.; Ley, H.; Sokolov, V.; Xua, B.; Zhang, K. POLARIS Agent-based modeling framework development and implementation for integrated travel demand and network and operations simulations. Transp. Res. Part C Emerg. Technol. 2016, 64, 101–116. [Google Scholar] [CrossRef]
  86. Batool, K.; Niazi, M.A. Modeling the internet of things a hybrid modeling approach using complex networks and agent based models. Complex Adapt. Syst. Model. 2017, 5, 4. [Google Scholar] [CrossRef]
  87. Ge, M.; Kim, D.S. A Framework for Modeling and Assessing Security of the Internet of Things. In Proceedings of the IEEE 21st International Conference on Parallel and Distributed Systems, Melbourne, Australia, 14–17 December 2015; pp. 776–781. [Google Scholar]
Figure 1. Meta-model of modeling by integrated use of ABM and AOM.
Figure 1. Meta-model of modeling by integrated use of ABM and AOM.
Mathematics 10 04157 g001
Figure 2. Integrated framework flow diagram.
Figure 2. Integrated framework flow diagram.
Mathematics 10 04157 g002
Figure 3. Casual Loop.
Figure 3. Casual Loop.
Mathematics 10 04157 g003
Figure 4. Stock and Flow Diagram.
Figure 4. Stock and Flow Diagram.
Mathematics 10 04157 g004
Figure 5. (a) State Chart for Agent “Bus” (b) State Chart for Agent “Passenger”.
Figure 5. (a) State Chart for Agent “Bus” (b) State Chart for Agent “Passenger”.
Mathematics 10 04157 g005
Figure 6. Work-flow of Model for BRTS.
Figure 6. Work-flow of Model for BRTS.
Mathematics 10 04157 g006
Figure 7. 3D view of BRTS simulation with graph for waiting time.
Figure 7. 3D view of BRTS simulation with graph for waiting time.
Mathematics 10 04157 g007
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Abbasi, K.M.; Khan, T.A.; Haq, I.u. Framework for Integrated Use of Agent-Based and Ambient-Oriented Modeling. Mathematics 2022, 10, 4157. https://doi.org/10.3390/math10214157

AMA Style

Abbasi KM, Khan TA, Haq Iu. Framework for Integrated Use of Agent-Based and Ambient-Oriented Modeling. Mathematics. 2022; 10(21):4157. https://doi.org/10.3390/math10214157

Chicago/Turabian Style

Abbasi, Khurrum Mustafa, Tamim Ahmed Khan, and Irfan ul Haq. 2022. "Framework for Integrated Use of Agent-Based and Ambient-Oriented Modeling" Mathematics 10, no. 21: 4157. https://doi.org/10.3390/math10214157

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop