Exploiting the easyABMS methodology in the logistics domain Alfredo Garro, Wilma Russo given conceptual system model to a specific ABMS tool Abstract— ABMS (Agent-Based Modeling and Simulation) has which, however, requires additional adaptation, calling for arisen as new approach to effectively support domain experts to extra work, the amount of which increases depending on the cope with the growing complexity of the problems which they gap between the conceptual and the implementation model of have to face and solve. To date, few methodologies are available which can be exploited by domain experts with limited the system. Thus, both approaches lead to simulation models programming expertise to model and subsequently analyze which are difficult to verify, modify and update. complex systems typical of their application domains. The To address these issues, a new methodology, easyABMS, easyABMS methodology has been proposed to overcome the lack has recently been proposed [4,5] which has specifically been of integrated methodologies able to seamlessly guide domain conceived for agent-based modeling and simulation of experts from the analysis of the system under consideration to its complex system, seamlessly covering all the phases from the modeling and analysis of simulation results. In this paper, the effectiveness of easyABMS is demonstrated through a case study analysis of the system under consideration to its modeling and in the logistics domain which concerns the analysis of different analysis of simulation results. easyABMS defines an iterative policies for managing vehicles used for stacking and moving process which is integrated, model-driven and visual. In containers in a transshipment terminal. particular, each phase of the process refines the model of the system which has been produced in the preceding phase and Index Terms— Agent-Based Modeling and Simulation, Agent- its work-products are mainly constituted by visual diagrams Oriented Methodologies, Container Terminal Management. based on the UML notation [23]. In addition, according to the model-driven paradigm [1, 21] the simulation code is I. INTRODUCTION automatically generated from the derived system Simulation A gent Based Modeling and Simulation (ABMS) is a new approach for analyzing and modeling complex systems, an approach which is becoming acknowledged for its efficacy Model. On the basis of the simulation results, a new/modified and/or refined model of the system can be obtained through a new process iteration which can involve all or some process in several application domains (financial, economic, social, phases. logistics, physical, chemical, engineering, etc) [17]. ABMS, Currently, easyABMS exploits the advanced features of allows for the definition of a system model based on visual modeling and of (semi)automatic code generation autonomous, goal-driven and interacting entities (agents) provided by the Repast Simphony Toolkit [17,18], a very organized into societies which is then simulated so to obtain popular and open source ABMS platform. significant information on not only the properties of the In this paper, the effectiveness of easyABMS in supporting system under consideration but also its evolution. domain experts to fully exploit the benefits of the ABMS, Although several ABMS tools are currently available [10, while significantly reducing programming and implementation 11, 19, 20, 24], there are only a few methodologies involving efforts, is exemplified through a case study in the logistics well- defined processes which are able to cover all the phases domain. Specifically, the case study is focused on the analysis from the analysis of the system under consideration to its of different policies for the management of vehicles used for modeling and subsequent analysis of simulation results [7, 8, stacking and moving containers (straddle carriers) in a 17]. As a result, simulation models are often obtained using container transshipment terminal. the two following approaches: (i) a direct implementation The remainder of this paper is organized as follows: Section based on a chosen ABMS tool of the simulation model whose II presents an overview of the easyABMS methodology and abstraction level is then too low and platform dependent as a the related process; Section III presents a brief introduction to conceptual modeling phase is not available; (ii) adapting a the reference application domain (a container transhipment terminal) and to related management problems; Section IV A. Garro is with the Department of Electronics, Informatics and Systems shows the application of easyABMS to the agent-based (DEIS), University of Calabria, Rende (CS), 87036 Italy. (e-mail: modeling and simulation of the Straddle Carrier Routing and alfredo.garro@unical.it). W. Russo is with the Department of Electronics, Informatics and Systems Dispatching problem; finally, conclusions are drawn and (DEIS), University of Calabria, Rende (CS), 87036 Italy. (e-mail: w.russo future works delineated. @unical.it). is linked to is linked to Involves Involves Fig. 1. The reference meta-model of easyABMS. Currently, all the simulation related phases are supported by II. AN OVERVIEW OF EASYABMS the Repast Simphony Toolkit [18, 20]. In particular, the The easyABMS methodology defines an iterative process Simulation Design and the Simulation Code Generation for ABMS composed of seven subsequent phases from the phases are supported by the Repast Simphony Development System Analysis to the Simulation Result Analysis [4, 5]. On Environment [15], while the Simulation Set-up, the Simulation the basis of the simulation results obtained a new iteration of Execution and the Simulation Results Analysis phases are the process which can involve all or some process phases can supported by the Repast Simphony Runtime Environment [16]. be executed for achieving new simulation objectives or those The models of the system generated by each process phase which have not yet been obtained. Specifically, the process are produced according to the well-defined reference meta- phases are the following: model shown in Figure 1 so to facilitate the verification of the − System Analysis, in which a preliminary understanding of correctness of the models produced. Moreover, the concepts the system and the main simulation objectives are obtained related to each phase are defined by extending and/or refining (Analysis Statement); those of the previous phase; this allows for the seamless − Conceptual System Modeling, in which a model of the integration between the phases as the model produced in each system is defined in terms of agents, artifacts and societies phase extends and/or refines the model of the system (Conceptual System Model); produced in the previous phase. The following sub-sections provides a brief description of − Simulation Design, in which a model of the system is each process phase. defined in terms of the abstractions offered by the framework which is exploited for the simulation A. System Analysis (Simulation Model); In the System Analysis phase, the objectives of the − Simulation Code Generation, in which the Simulation Code simulation are specified and a preliminary understanding of for the target simulation environment is automatically the system and its organization is obtained. generated starting from the model which is obtained in the This phase is based on the principle of layering, exploiting previous phase; the well-known techniques of Decomposition, Abstraction and − Simulation Set-up, in which the Simulation Scenarios are Organization [2, 9], and is constituted of a sequence of established; analysis steps. In each step a new system representation is − Simulation Execution and Results Analysis, in which the produced by applying the in-out zooming mechanisms [12] to simulation results are analyzed with reference to the the entities comprising the system representation which objectives of the simulation previously identified in the resulted from the preceding analysis step. In the first analysis System Analysis phase. step, a starting level of abstraction for analyzing the system is chosen and then the system is zoomed-in so to identify its component entities on the basis of the starting abstraction − Artifact Model which describes the behavior of an Artifact level. as a set of triggered Activities related to the offered According to the reference meta-model of the System services (Artifact Behavioral Model), and its interactions Analysis phase (see Fig. 1), an Entity can be characterized by with other Artifacts and Agents (Artifact Interaction autonomous and goal-oriented behavior (pro-active entity), Model). purely stimulus-response behavior (re-active entity), or can be C. Simulation Design passive. In addition, both the rules governing entities and their evolution, and the relationships among entities are specified. In this phase, starting from the Conceptual System Model a Specifically, Safety rules determine the acceptable and Simulation Model of the system, in terms of the abstractions representative states of an entity whereas liveness rules offered by the framework exploited for the simulation, is determine which state transitions are feasible during entity produced. evolution. Relationships can be either intra-entity In Figure 1 the basic simulation concepts of the reference relationships (i.e. relationships among the component entities simulation framework (the Repast Simphony Toolkit [18, 20]) obtained by the zooming-in of an entity) or inter-entity are highlighted. Specifically, the central concept is the relationships. (simulation) Context (SContext) which represents an abstract The System Analysis phase ends when the user obtains a environment in which (simulation) Agents (SAgents) can act System Representation in which each component (pro-active, and is provided with an internal state consisting of simple re-active, passive) entity has been represented at the level of values and Data Fields (a n-dimensional field of values). In abstraction which is appropriate for the objectives of the addition, an SContext can also support behaviors for the simulation. This System Representation, along with a synthetic management of its internal state. SContexts can be organized description of the system being considered, a detailed hierarchically so to contain sub-SContexts which can have description of each identified entity and the objectives of the their own state. SAgents in an SContext can be organized by simulation, constitutes the work-product of this phase (the using Projections which are structure designed to define and Analysis Statement). enforce relationships among the SAgents in the SContext. In particular, a Network Projection defines the relationships of B. Conceptual System Modeling both acquaintance and influence between SAgents whereas In the Conceptual System Modeling phase, the Structural Space Projections define (physical or logical) space structures System Model is produced, and in particular, for each entity in (Grid, Scalar Fields, Continuous Space, Geography) in which the System Representation: the agents can be situated. − the abstraction level suited to specific simulation objectives An SAgent can have multiple behaviors (SBehaviors), each is chosen; operating on SAgent Properties and consists of a sequence of − the conceptual representation , in terms of Agent, Artifact or Steps; each Step can be associated with the execution of a Society, is derived on the basis of the associations among Task or with the control of the flow of the Task execution the main concepts of the System Analysis and Conceptual (Loop, Join, Decision, End). Each SBehavior can be System Modeling phases (see Fig. 1); characterized by a Scheduled Method which defines a constant − the interactions with the other entities are obtained from the execution schedule, and by a Watch which periodically, on the intra and inter-relationships where the latter cross the basis of some watched parameters and conditions, triggers the boundaries of societies. execution of the behavior. The chosen level of abstraction of an entity can be modified in A Repast Simphony simulation model is defined by first successive iterations through which it is then possible to specifying the structure and the characteristics of the root produce new, modified, and/or refined Structural System SContext and of all the possible nested sub-SContexts, in Models. terms of their components (SAgents, Projections and sub- For each entity in the produced Structural System Model a SContexts), and, then, specifying for each SAgent its specific model is then defined, whose type can be one of the Properties and SBehaviors, and for each SBehavior the following depending on the entity type: component Steps, and the associated Scheduled Method and − Society Model which describes the entities which compose Watch. a Society, their type (Agent, Artifact, Society), and the rules The associations among the above described simulation governing the Society (safety rules) and its evolution concepts of the Repast Simphony Toolkit and the related (liveness rules); concepts of the Conceptual System Model are reported in − Agent Model which details the complex goal of an Agent Figure 1. The exploitation of these associations makes it (Agent Goal Model), its behavior as a set of periodically possible to directly obtain, starting from the Conceptual scheduled and triggered Activities (i.e. flow of Actions) System Model, the Simulation Model of the System as follows: which contribute to the achievement of the Agent goals − each Society becomes a Repast Simulation Context (Agent Behavioral Model), and its interactions with other (SContext), the System is the root SContext and any Agents and Artifacts in which the agent is involved (Agent enclosed Society is a (sub)-Context of the corresponding Interaction Model); enclosing Society; − Artifacts and Agents become Repast Simulation Agents defined in the Simulation Design phase; (ii) the presentation (SAgents), the Activities which constitutes their behaviors preferences for the simulation results concerning the system are easily converted into Repast Simulation Behaviors properties of interest identified during the Simulation Design (SBehaviors); phase. − relationships derived from Interactions among Agents and Finally, the obtained simulation results can also be analyzed Artifacts generate Repast Network Projections. by exploiting the analysis tools (Matlab, R, VisAd, iReport, Jung) which can be directly invoked from the Repast D. The other Simulation related phases Simphony Runtime Environment so to verify whether the According to the Model Driven paradigm [1, 21], the Repast objectives of the simulation identified during the System Simphony Development Environment [15] is able to Analysis phase have been achieved. Where objectives have automatically generate a great part of the simulation code not been achieved or where new simulation objectives from the derived Simulation Model of the system. The emerge, a new iteration of the process can be executed, which simulation which can be extended with additional Java and can then involve all or some process phases so that XML code is then compiled by the Repast Simphony new/modified and/or refined models of the system can be Development Environment using a Java compiler and then produced for achieving the remaining/new simulation loaded into the Repast Simphony Runtime Environment. objectives. The simulation executed by the Repast Symphony Runtime Environment can start after establishing: (i) the simulation scenario by specifying the values of the simulation parameters TABLE I MANAGEMENT PROBLEMS IN CONTAINER TRANSHIPMENT TERMINALS PHASE PROBLEM DESCRIPTION Arrival of the containership QUAY CRANE ASSIGNMENT PROBLEM (QCAP) Determining the number of quay cranes to assign to an incoming vessel. BERTH ALLOCATION PROBLEM (BAP); Assigning incoming ships to berths, by taking into account constraints in both spatial and temporal dimensions so to minimize the time each ship spends in port (turnaround time). Unloading and Loading of the ship QUAY CRANE SCHEDULING PROBLEM (QCSP) Determining a sequence of unloading and loading movements for cranes assigned to a vessel in order to minimize the vessel completion time as well as the crane idle time. Transport of containers from the ship to YARD MANAGEMENT Allocating and reallocating the containers in the the yard and vice versa yard in order to reduce the amount of time required to handle of each vessel. STRADDLE CARRIER ROUTING AND Determining the operation to be performed by DISPATCHING (SCRD) the straddle carries to maximize the productivity of each crane. rendering it more competitive through the optimal management of terminal resources and optimizing tactical and III. MANAGEMENT OF A CONTAINER TRANSHIPMENT operational logistics. TERMINAL In the next sub-section, the organization of a maritime Due to the continuous growth in the volume of goods container terminal and some primary management issues are exchanged around world, further boosted by the rising briefly discussed; a more complete description can be found in Chinese and Indian economies, maritime transportation is [13]. becoming a crucial asset in global economy as it allows for A. Organization of a Container Transhipment Terminal large economies of scale in the transport sector. Specifically, Each ship approaching a maritime terminal enters in a the current maritime transportation system is based on a hub harbour and waits to moor at an assigned berth position along and spoke model [22] whereby ultra-large containerships the terminal quay which is equipped with giant cranes (quay operate between a limited number of mayor cranes) for loading and unloading containers. These (mega)transhipment terminals (hubs), and smaller vessels containers, in a DTS (Direct Transfer System ) terminal, are (feeders) which link the hubs with other minor ports (spokes). transferred to and from the terminal yard by a fleet of vehicles In this scenario, a hub terminal must maintain a high level (straddle carrier) which are able to stack containers in the of efficiency, not only to avoid traffic congestion but also to yard. In contrast, in an ITS (Indirect Transfer System) increase its competiveness as some main characteristics terminal, containers are moved by trucks and trailers from the (geographical, structural and technological) which also quay to the yard and vice-versa and staked by yard cranes. determine the competitiveness of a container terminal can be In this context, the main logistic processes and related modified only on a long term perspective. management problems can be grouped in relation to the flow It thus becomes crucial to increase hub efficiency, of containers in the terminal as shown and briefly described in Moreover, classical dispatching models [14] often fail to Table 1; other issues are related to inter-terminal provide dynamic assignment of container moves to SCs of a transportation and to possibly link with other transportation pool in order to speed up the loading/discharging operations modes. Moreover, a transversal issue is related to the human (the Straddle Carriers Pooling Problem - SCPP). To overcome resources management [13]. these shortcomings, an agent-based model can be defined and These very fundamental issues are not only reciprocally simulated with the following main objectives: related, but the large-scale nature of hub management makes (i) quantifying the benefits of the pooling modality with the use of standard exact solution algorithms impractical. In reference to system productivity (vessels handling time) and fact, the management of such large and intricately complex cost reduction (numbers of exploited SCs and total distance systems require new modeling methods which must also covered); generate proof-of-concept simulations. (ii) obtaining an effective solution for the dynamic In the following Section, the effectiveness of the ABMS assignment of container moves to the SCs of a pool which can approach and the easyABMS methodology is shown focusing be used for automatically drive the coordinated behavior of on the Straddle Carrier Routing and Dispatching Problem the SCs in a real container terminal. (SCRDP) [14]; with reference to the different management The System Representation obtained on the basis of the problems in a Container Transhipment Terminal (see Table identified simulation objectives is reported in Figure 2. All the 1), a more complete and domain specific agent-based entities represented in Figure 2 are further described, along simulator has been proposed in [6]. with their relationships and their safety and liveness rules, in a textual format enriched by tables and diagrams which are not IV. MODELING AND SIMULATING STRADDLE CARRIER reported due to space limitations. ROUTING AND DISPATCHING THROUGH EASYABMS Container Terminal intra-entity relantionship inter-entity relantionship A. System Analysis The main indicator of optimal performance in a container <> Vessel <> <> Quay Crane Movement Task Assigner transhipment terminal is the average ship-turn-around time <> Deck which is the average time-lapse between a ship’s arrival and its departure, starting from the amount of time the ship waits <> <> <> Buffer Straddle Carrier for a berth (berth waiting time) and the duration for which the Hold ship is docked for unloading and loading operations (handling <> time). In the following, the focus is set on the handling time Yard given to fact that this time is highly dependent on the productivity of the Quay Cranes (QCs) and, as a consequence, Fig. 2. System Representation on the management policies of the Straddle Carriers (SCs). <> Specifically, to maximize the productivity of the QCs in a Container Terminal DTS container terminal, the SCs should operate so that the buffer of each crane, which has a limited capacity of only a <> <> few containers, is not full /not empty if the crane is Quay Crane Movement Task Assigner <> performing the discharging/loading phase. Specifically, there <> are two main policies for organizing the work of SCs: Vessel <> <> <> - dedicated modality: a given number of SCs are allocated Buffer Straddle Carrier to each QC to follow its working phases; <> <> - shared modality (or pooling): a group of SCs is shared by Yard two or more QCs which work on the same ship or on adjacent berthed ships and, possibly, frequently swapping between the Fig. 3. Structural System Model tasks of loading and discharging containers. B. Conceptual System Modeling The shared modality presents several benefits with respect The Structural System Model derived from the System to the dedicated mode: (i) reduction in the number of empty Representation is reported in Figure 3; in particular, as the trips done by the SCs (i.e. travels without carrying any simulation objectives concern management policies of SCs, container), as the SCs can fruitfully alternate between trips the level of representation chosen for the Vessel is more carrying containers from the yard to the cranes which are abstract with respect to the level resulting from the Analysis loading outgoing cargo and trips back to the yard, carrying phase. discharged cargo; (ii) more constant value of productivity of For each entity in the Structural System Model the both QCs and SCs as, when a crane is not working, the SC of corresponding Society, Agent or Artifact Model is defined (see a pool can speed up operations of the other QCs. Section II.B). Due to space limitations, the following sub- A quantitative evaluation of the aforementioned benefits is sections report only the Society Model for the Container not easy to obtain through traditional analytical models. Terminal Society, the Agent Model for the Straddle Carrier (sub)goal Agent and the Artifact Model for the Movement Task Assigner SC_sg1 SC_sg2 Artifact. SC_sg2: Movement of 1) The Container Terminal Society Model SC_sg1: Movement of containers from Yard to Buffer containers from Buffer to Yard The Society Model of the Container Terminal Society is shown in Figure 4 which reports the different entities which (a) The Straddle Carrier Goal Model compose the Society, the safety and liveness rules which - Vendor Activity Table - Activity Goal Pre Post Execution govern it and its dynamics. conditions conditions Schedule Container SC_sg1 - The container Periodical Movement SC_sg2 handled during the Entity Type Safety rules task must be put Artifact S_CTerm1. NCvi (t) = NCvi(t0) – NCDvi(t) down in the yard or in the buffer Vessel (Resource + NCLvi(t); depending on the where NCi(t) is the number of containers task type Manager) on the Vessel i at time t; NCDvi(t) is the Quay Crane number of containers that have been - UML Activity Diagram for the Container Movement Activity - Agent [Vessel Handling completed] (QC) discharged from the Vessel i up to time t; [Movement in progress] NCLvi(t) is the number of containers that Artifact have been loaded onto the Vessel i up to [No Movement in progress] Buffer (Resource time t. Manager) S_Term2. ... Task Assigner [Vessel Handling not completed] Straddle Assignment Response Move Container Agent Request [Yard to Buffer Task] From the Yard Carrier (SC) Liveness rules to the Buff er L_CTerm1. A Quay Crane cannot download Legenda Movement a container on its buffer if the buffer is Time Signal Action Move Task Artifact Container full. Decision [Buffer to Yard Task] From the Buf fer Assigner Send Signal to the Yard L_CTerm2. … Final node Artifact Accept Signal Flow/edge Yard (Resource Manager) (b) A part of the Straddle Carrier Behavioral Model Fig. 4. The Society Model of the Container Terminal Society. Interaction Activity Initiator Partners Exchanged Information 2) The Straddle Carrier Agent Model Task Container Straddle Carrier Movement Task Request Assignment Movement Task Assigner Part of the Agent Model of the Straddle Carrier Agent is Request Assigner Container Movement Task Straddle Task shown in Figure 5. In particular: Response Movement Assigner Carrier Description - Figure 5.a shows the Straddle Carrier Goal Model in which, as the two goals (Movement of containers from (c) The Straddle Carrier Interaction Model Buffer to Yard and Movement of containers from Yard to Fig. 5. Part of the Agent Model of the Straddle Carrier Agent. Buffer) can be achieved independently, no achievement - Movement Task Assigner Activity Table - relationship is present; Activity Service Pre Post Execution - Figures 5.b illustrates a part of the Straddle Carrier conditions conditions Schedule Task Movement A movement task must If available, a new Triggered Behavioral Model; in particular, the Straddle Carrier Assignment Task be available unless the movement task Activity Table specifies the activities (Container Assignment Vessel handling is must be assigned to completed the SC Movement Activity) which the Straddle Carrier Agent executes for achieving its goals, along with the pre and - UML Activity Diagram for the Task Assignment Activity - post conditions and the execution schedule (periodical). [Vessel Handling completed] Moreover, as the definition of an Agent Behavioral Model requires that each activity in the Agent Activity Table Task Assignment Request Task must be further described by an UML [23] Activity Assignment Response [Vessel Handling not completed] Diagram, the diagram for the Container Movement Evaluate Assign a move Activity is also shown. The UML Activity Diagram must next moves f or the other SCs to the requesting SC in the pool be further enriched with an Activity Action Table (not shown in figure due to space limitations) which reports, Fig. 6. Part of the Movement Task Assigner Behavioral Model. for each single component action, a synthetic description 3) The Movement Task Assigner Artifact Model of the action along with its pre and post conditions, the Figure 6 presents part of the Artifact Model of the capabilities required for carrying out the action and its Movement Task Assigner Artifact, and, in particular, the part type (computation or interaction). of the Movement Task Assigner Behavioral Model which - Figure 5.c reports the Straddle Carrier Interaction Model describes the Task Assignment Activity triggered by an SC which specifies, for each action of the interaction type requesting a new container movement to be performed. In (Task Assignment Request, Assigner Response) of the particular, at the completion of its container movement the SC Container Movement Activity, the initiator, the partners requests the next assignment from the Movement Task of the interaction and the exchanged information. Assigner (see Figure 5.c). The Movement Task Assigner must then decide, from available moves, the next best move for the expressed by using the UML notation, can be directly mapped requesting SC taking into account also subsequent moves onto that of an SAgent, defined during the Simulation Design which could be assigned to the other SCs in the pool phase in terms of SBehaviors. (Lookahead Policy). Such planning could be dynamically D. Simulation Execution and Results Analysis revised at the next task assignment request. Starting from the Simulation Model a great part of the simulation code is automatically generated by the Repast Simphony Development Environment [15], compiled by using a Java compiler and then loaded into the Repast Simphony Runtime Environment for the Simulation Set-up and Execution. According to the simulation objectives, the execution of the resulting Simulation Model made it possible to compare and quantify the benefits of both dedicated and pooling (a) The Simulation Context modalities. In particular, several simulations have been executed for different scenarios in order to evaluate: the Quay Crane Idle Time (QCIT), the Straddle Carrier Covered Distance (SCCD), and the Straddle Carrier Idle Time (SCIT). As an example, Figures 8.a-b illustrate the QCIT and the SCCD, in the two different modalities, with reference to a simulation scenario based on real-life organizational topology and equipment typologies of the Gioa Tauro Container Terminal [3]. In this simulation scenario one Vessel is handled by two QCs for the loading and discharging of 50 containers respectively. The results shown in Figure 8, which are results averaged from 30 simulation runs, made it possible to quantify the significant advantage of the pooling modality in terms of vessel handling time and cost reduction. (a) Quay Crane Idle Time(QCIT) (b) The Container Movement SBehavior of the Straddle Carrier SAgent Fig. 7. Part of the Simulation Model. C. Simulation Design Figures 7.a-b show a portion of the Simulation Model produced by adopting the Repast Simphony Toolkit [18, 20] as the reference simulation framework. Figure 7.a shows the (b) Average Distance Covered by the Straddle Carriers organization of the Simulation Context (SContext) whereas Fig. 8. Some Simulation Results. Figure 7.b shows a Simulation Behavior (SBehavior) of the SAgent representing a Straddle Carrier. In particular, the Container Movement SBehavior in figure 7.b corresponds to V. CONCLUSION the Container Movement Activity reported in figure 5.b. The Several tools for ABMS are now available as well as seamless transition between the two models is highlighted by methodologies for the development of agent-based systems the comparison between these two figures which clearly demonstrates that the behavior of an Agent/Artifact, defined which are mainly proposed in the context of Agent-Oriented during the Conceptual Modeling phase in terms of Activities Software Engineering (AOSE). Nonetheless, only a few results are available which integrate the methodological features coming from the AOSE with the modeling and Conference on Economic Science with Heterogeneous Interacting Agents (ESHIA), Warsaw, Poland, 19-21 June, 2008. simulation features of modern ABMS tools. As a [5] A. Garro, W. Russo. An integrated and iterative process for agent-based consequence, scarce support in the whole process which goes modeling and simulation. Proceedings of the 5th International from the system analysis to the analysis of simulation results Conference of the European Social Simulation Association (ESSA), is provided to domain experts with limited programming Brescia, Italy, 1-5 September, 2008. expertise. To address these issues, easyABMS, a recently [6] L. Henesey, P. Davidsson, and J. A. Persson. An agent-based approach for building complex software systems. Autonomous Agents and Multi- proposed and full-fledged methodology for agent-based Agent Systems, 18(2):220-238, 2009. modeling and simulation of complex systems, fruitfully [7] T. Iba and N. Aoyama. Understanding Social Complex Systems with exploits both AOSE modeling techniques and simulation tools PlatBox Simulator. In Proc. of the 5th International Conference on specifically conceived for ABMS. Computational Intelligence in Economics and Finance (CIEF2006), pages 64-67, Taiwan, October 2006. In this paper, the effectiveness of easyABMS has been [8] T. Iba, Y. Matsuzawa, and N. Aoyama. From Conceptual Models to demonstrated using a case study in the logistics domain which Simulation Models: Model Driven Development of Agent-Based concerns the analysis of different policies for managing Simulations. In Proc. of the 9th Workshop on Economics and Straddle Carriers in a Container Transshipment Terminal. In Heterogeneous Interacting Agents. Kyoto, Japan, 2004. [9] N. R. Jennings. An agent-based approach for building complex software particular, overcoming the main limitations when using only systems. Communications of the ACM, 44(4):35-41, 2001. classical analytical models, a quantitative assessment of two [10] MASON Home Page. George Mason University, Fairfax, VA, available primary Straddle Carrier management policies and an at http://cs.gmu.edu/~eclab/projects/mason/. effective solution in guiding the dynamic assignment of [11] N. Minar, R. Burkhart, C. LAngton, and M. Askenazi. The Swarm container moves have been easily provided. The exploitation Simulation System: A Toolkit for Building Multi-Agent Simulations. Working Paper 96-06-042. Santa Fe Institute, 1996. of easyABMS allowed to demonstrate how this new [12] A. Molesini, A. Omicini, A. Ricci, E. Denti. Zooming multi-agent methodology can seamlessly guide domain experts from the systems. In Proc of the 6th International Workshop on Agent-Oriented analysis of the system under consideration to its modeling and Software Engineering (AOSE 2005), AAMAS 2005, Utrecht, The simulation, as the phases which compose the easyABMS Netherlands, 2005. process, the work-products of each phase, and the (seamless) [13] M. F. Monaco, L. Moccia, and M. Sammarra. Operations Research for the management of a transhipment container terminal. The Gioia Tauro transitions among the phases are fully specified. In addition, case. Maritime Economics and Logistics, 2009, Vol. 11, n. 1, pp. 7-35. easyABMS focuses on system modeling and simulation [14] M. F. Monaco, and M. Sammarra. Scheduling and dispatching models analysis rather than details related to programming and for routing straddle carriers at a container terminal. Proceedings of the implementation as it exploits the Model Driven paradigm, XXXVIII Annual Conference of the Italian Operations Research Society, Genova, Italy, Sept. 5-8, 2007. making it possible the automatic code generation from a set of [15] M. J. North, T.R. Howe, N.T. Collier, and J.R. Vos. The Repast (visual) models of the system. Simphony Development Environment. In Proc. of the Agent 2005 Future research efforts will be devoted to: (i) extend the Conference on Generative Social Processes, Models, and Mechanisms, Repast Simphony Toolkit so to obtain an integrated ABMS Chicago, IL , October 2005. [16] M. J. North, T.R. Howe, N.T. Collier, and J.R. Vos. Repast Simphony environment which fully supports all the process phases also Runtime System. In Proc. of the Agent 2005 Conference on Generative comprising the System Analysis and Conceptual System Social Processes, Models, and Mechanisms, Chicago, IL, October 2005. Modeling phases; (ii) extensively experiment easyABMS in [17] M. J. North, C. M. Macal. Managing Business Complexity: Discovering case studies of social, financial, economic, and logistic Strategic Solutions with Agent-Based Modeling and Simulation. Oxford University Press, 2007. relevance; (iii) adopting a meta-simulation framework for the [18] M.J. North, E. Tatara, N.T. Collier, and J. Ozik. Visual Agent-Based Simulation Design phase so to obtain a platform-independent Model Development with Repast Simphony. In Proc. of the Agent 2007 simulation model which can then be translated into different Conference on Complex Interaction and Social Emergence. platform-dependent simulation models. Northwestern University, Evanston, IL, November2007. [19] M. Resnick. Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Mi-croworlds. MIT Press, Cambridge, Mass., 1997. REFERENCES [20] ROAD (Repast Organization for Architecture and Design). Repast Home [1] C. Atkinson and T. Kühne. Model-driven development: A metamodeling Page, Chicago, IL, available as http://repast.sourceforge.net/. foundation. IEEE Software, 20(5):36-41, 2003. [21] D. C. Schmidt. Model-Driven Engineering. IEEE Computer, 39(2):41- [2] G. Booch. Object-Oriented Analysis and Design with Applications. 47, 2006. Addison-Wesley, 1994. [22] UNCTAD (2006). United Nations Conference on Trade and [3] J.-F. Cordeau, M. Gaudioso, G. Laporte, and L. Moccia. The service Development - Review of Maritime Transportation. allocation problem at the Gioia Tauro maritime terminal. European [23] Unified Modeling Language (UML) Specification. Version 2.1.2. Object Journal of Operational Research, 176:1167–1184, 2007. Management Group Inc., 2007. [4] A. Garro, W. Russo. An integrated agent-based process for the [24] U. Wilensky. NetLogo. Center for Connected Learning and Computer- simulation of complex systems. Proceedings of the International Based Modeling, Northwestern University, Evanston, IL, 1999.