Following the initial steps (§0-3), we now start the simulation planning and specification. For this step we use two well known concepts in Modeling and Simulation (M&S): conceptual and communicative models.
Some works [1][2][3][4] unite those concepts under "conceptual modeling" only, but even considering the fact that we group them in the same step, we decided to keep them separated as they have different use on the method. The conceptual model is intend as an auxiliary document during the implementation phase and the communicative model works as a textual complement for conceptual modeling and focus on inform others how to reproduce the same simulation.
Conceptual Model
In the conceptual model there is no worries about the computational model, or in other words, it is a overall idea of the system components interactions and of its functionality [4]. This model can be considered a simplified version of the system and should be interactive and repetitively consulted during the implementation [5].
We adopt the concepts from [3][4], which use the following approach for conceptual modeling: it should be simple and may be represented by diagrams, figures, concept maps and other convenient visual ways, indicating the system structure and its functionalities.
All these diagrams and figures should be in a "conceptual model" document.
_________________________________________________________________________________Examples
Here we present some of the diagrams from the conceptual modeling document of our initial simulations.
📗 Structural Diagram: indicates the simulation structure (topics) and the chosen techniques. Each level has a detailed description of its functions and its "default" parameters;
📗Interaction Diagram: indicates the relationship and message exchange between the system algorithms (from the last diagram);
📗 Communication Network Diagram: it shows the network representation using the OSI model representation as base. We also describe the chosen network protocols;
📗 Diagram of RA-TDMA protocol: shows how the RA-TDMA (additional network protocol) works.
________________________________________________________________________________
Communicative Model
The communicative model acts as an extension of conceptual model. Although, it has a different focus as its main objective is to communicate the simulation to other team members or to external members.
For this part we sought inspiration at works from Agent Based Modeling and Simulation (ABMS). This application has some particularities in both conceptual and communicative models, given the difficulty to represent and to comprehend this kind of system [3][6].
We adopted the ODD Protocol (Overview, Design and Details) [7][8], which is utilized as reference in several works [11][10][9] and we believe can translate the characteristics of a cooperative robotic system in the same way it does for a ABMS system.
Basically, the ODD protocol consists in a set of questions to guide authors in describing the main characteristics of their simulation. These characteristics should emphasis its development, comprehension and replication.
There are 7 elements of the updated ODD protocol [8], with several subdivisions. Each element is detailed in text form and focus in answering each question in details. We briefly presente the ODD protocol questions below, and for more details, the original source should be consulted [7][8]. We did some minor adaptations to match the nomenclature of our application, however the principle is the same as in original articles.
1. Purpose
Question: What is the purpose of the model/simulation?
2. Entities, state variables, and scales
Questions: What kinds of entities/systems are in the model? By what state variables, or attributes, are these systems characterized? What kind of robots are utilized? Are they equal?
3. Process overview and scheduling
Questions: Who (i.e., what system) does what, and in what order? How and when are state variables updated? How is time modeled? How robots they are represented? What cooperative task they are performing?
4. Design concepts
Is divided in 11 categories:
📚 Basic principles: Which general concepts, theories, hypotheses, or modeling approaches are underlying the model’s design? Will the model provide insights about the basic principles themselves, their usefulness in real-world scenarios, validation, or modifications? What kind of the robot systems interactions are evaluated?
📚 Emergence: What model results are expected to vary in complex and perhaps unpredictable ways when particular characteristics of individuals or their environment change?
📚 Adaptation: What adaptive traits do the individuals have? What rules do they have for making decisions or changing behavior in response to changes in themselves or their environment?
📚 Objectives: If adaptive traits explicitly act to increase some measure of the individual’s success at meeting some objective, what exactly is that objective and how is it measured? When individuals make decisions by ranking alternatives, what criteria do they use? Do they change behaviors in cooperative control level or at individual level? Are behaviors chosen based on a collective decision or by individual decision?
📚 Learning: Any robot change its adaptive traits over time as a consequence of their experience? If so, how?
📚 Prediction: If robots may predict future states, how they do it? What internal models are robots assumed to use to estimate future conditions or consequences of their decisions? Is this prediction part of the control law utilized? Or it is part of the cooperative control strategy?
📚 Sensing: What internal and environmental state variables are individuals assumed to sense and consider in their decisions? What state variables of which other individuals and entities can an individual perceive? Sensing is often assumed to be local, but can happen through networks or can even be assumed to be global. If agents sense each other through interactions, is the structure of the network imposed or emergent? Are the mechanisms by which agents obtain information modeled explicitly, or are individuals simply assumed to know these variables?
📚 Interaction: What kinds of interactions among agents are assumed? Are there direct interactions in which individuals encounter and affect others, or are interactions indirect? If the interactions involve communication, how are such communications represented? Is there any topology control?
📚 Stochasticity: What processes are modeled by assuming they are random or partly random? Is stochasticity used? Is it used to cause model events or behaviors to occur with a specified frequency?
📚 Collectives: Do the individuals form or belong to aggregations that affect, and are affected by, the individuals? How are collectives represented? Is a particular collective an emergent property of the individuals? Or is the collective simply a definition by the modeler, defined as a separate kind of entity with its own state variables and traits?
📚 Observation: What data are collected from the robot for testing, understanding, and analyzing it, and how and when are they collected? Are all output data freely used?
5. Initialization
Questions: What is the initial state of the model world? In detail, how many entities of what type are there initially, and what are the exact values of their state variables? Is initialization always the same, or is it allowed to vary among simulations? Are the initial values chosen arbitrarily or based on data?
6. Input data
Question: Does the model use input from external sources such as data files or other models to represent processes that change over time?
7. Submodels
Questions: What, in detail, are the submodels that represent the processes listed in ‘Process overview and scheduling’? What are the model parameters, their dimensions, and reference values?
The size of this document will vary as much as the complexity of the system. As mentioned in [8], if the system is simple, one continuous text answering the questions may be enough. Now, with all documentations in hands, we advance to the next step.
1. Purpose
Question: What is the purpose of the model/simulation?
2. Entities, state variables, and scales
Questions: What kinds of entities/systems are in the model? By what state variables, or attributes, are these systems characterized? What kind of robots are utilized? Are they equal?
3. Process overview and scheduling
Questions: Who (i.e., what system) does what, and in what order? How and when are state variables updated? How is time modeled? How robots they are represented? What cooperative task they are performing?
4. Design concepts
Is divided in 11 categories:
📚 Basic principles: Which general concepts, theories, hypotheses, or modeling approaches are underlying the model’s design? Will the model provide insights about the basic principles themselves, their usefulness in real-world scenarios, validation, or modifications? What kind of the robot systems interactions are evaluated?
📚 Emergence: What model results are expected to vary in complex and perhaps unpredictable ways when particular characteristics of individuals or their environment change?
📚 Adaptation: What adaptive traits do the individuals have? What rules do they have for making decisions or changing behavior in response to changes in themselves or their environment?
📚 Objectives: If adaptive traits explicitly act to increase some measure of the individual’s success at meeting some objective, what exactly is that objective and how is it measured? When individuals make decisions by ranking alternatives, what criteria do they use? Do they change behaviors in cooperative control level or at individual level? Are behaviors chosen based on a collective decision or by individual decision?
📚 Learning: Any robot change its adaptive traits over time as a consequence of their experience? If so, how?
📚 Prediction: If robots may predict future states, how they do it? What internal models are robots assumed to use to estimate future conditions or consequences of their decisions? Is this prediction part of the control law utilized? Or it is part of the cooperative control strategy?
📚 Sensing: What internal and environmental state variables are individuals assumed to sense and consider in their decisions? What state variables of which other individuals and entities can an individual perceive? Sensing is often assumed to be local, but can happen through networks or can even be assumed to be global. If agents sense each other through interactions, is the structure of the network imposed or emergent? Are the mechanisms by which agents obtain information modeled explicitly, or are individuals simply assumed to know these variables?
📚 Interaction: What kinds of interactions among agents are assumed? Are there direct interactions in which individuals encounter and affect others, or are interactions indirect? If the interactions involve communication, how are such communications represented? Is there any topology control?
📚 Stochasticity: What processes are modeled by assuming they are random or partly random? Is stochasticity used? Is it used to cause model events or behaviors to occur with a specified frequency?
📚 Collectives: Do the individuals form or belong to aggregations that affect, and are affected by, the individuals? How are collectives represented? Is a particular collective an emergent property of the individuals? Or is the collective simply a definition by the modeler, defined as a separate kind of entity with its own state variables and traits?
📚 Observation: What data are collected from the robot for testing, understanding, and analyzing it, and how and when are they collected? Are all output data freely used?
5. Initialization
Questions: What is the initial state of the model world? In detail, how many entities of what type are there initially, and what are the exact values of their state variables? Is initialization always the same, or is it allowed to vary among simulations? Are the initial values chosen arbitrarily or based on data?
6. Input data
Question: Does the model use input from external sources such as data files or other models to represent processes that change over time?
7. Submodels
Questions: What, in detail, are the submodels that represent the processes listed in ‘Process overview and scheduling’? What are the model parameters, their dimensions, and reference values?
The size of this document will vary as much as the complexity of the system. As mentioned in [8], if the system is simple, one continuous text answering the questions may be enough. Now, with all documentations in hands, we advance to the next step.
References
[1] Balci,Osman. "Principles and Techniques of Simulation Validation, Verification and Testing",Proceedings of the 1995 Winter Simulation Conference, 1995.
[2] Law, A. M. “Simulation Modelling and Analysis”, McGraw-Hill, 5th Edition, pp. 804, 2015.
[3] Siegfried, R. "Modeling and Simulation of Complex Systems". Springer Vieweg, ISBN 978-3-658-07528-6, Cap. 2, 3, 5, 8, 9, 2014.
[4] Sokolowski, J. A. e BANKS, C. M. "Modeling and Simulation Fundamentals: Theorical Underpinnings and Practical Domains". Editora John Wiley & Sons, ISBN 978-0-470-48674-0, 2010.
[5] Robinson, S. "Simulation: The Practice of Model Development and Use", 2ª edição, ISBN 9781137328021, Palgrave Macmillan, 2014.
[6] Garro, A. et al. "EasyABMS: A domain-expert oriented methodology for agent-based modeling and simulation". Simulation Modelling Practice and Theory 18(10), 1453 – 1467, 2010.
[7] Grimm, V. et al. "A standard protocol for describing individual-based and agent-based models". In: Ecological Modelling, 198, pp. 115-126, 2006.
[8] Grimm, V. et al. "The ODD protocol: A review and first update". In: Ecological Modelling, Vol. 221(23), pp. 2760-2768, DOI: 10.1016/j.ecolmodel.2010.08.019, 2010.
[9] Klugl, F. et al. "Agent Based Modeling and Simulation". Association for the Advancement of Artificial Intelligence, ISSN 0738-4602, 2012.
[10] Macal, C. et al. "Introductory Tutorial: Agent-Based Modeling and Simulation". In: Proceedings of the 2014 Winter Simulation Conference, IEEE press, pp. 6-20, 2014.
[11] Railsback, S.F. et al. "Agent-based and Individualbased Modeling - A Practical Introduction", Princeton University Press, 2012.
Page Release: 24/04/17
Last Update: 08/05/17