Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism



Similar documents
Architecture Design & Sequence Diagram. Week 7

Service-Oriented Architectures

Java Programming (10155)

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Software Engineering Reference Framework

Engineering Process Software Qualities Software Architectural Design

Embedded Software Development with MPS

Distributed Database for Environmental Data Integration

ABET General Outcomes. Student Learning Outcomes for BS in Computing

Introduction to Automated Testing

Automating the DEVS Modeling and Simulation Interface to Web Services

November 3-4, The BioMA platform and applications. European Project n Workshop November 3 rd Marcello Donatelli (CREA)

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff

Principles of Software Engineering: Course Outline. Ethan Jackson And Wolfram Schulte, Research in Software Engineering (RiSE) Microsoft Research

Source Code Translation

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Master of Science in Computer Science

Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it)

Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g

Chapter 6: Programming Languages

Scientific versus Business Workflows

COCOVILA Compiler-Compiler for Visual Languages

Chap 1. Introduction to Software Architecture

A Web-Based Intelligent Decision Support System for Low- Technology Greenhouses

POLAR IT SERVICES. Business Intelligence Project Methodology

What is a life cycle model?

Agenda. Overview. Federation Requirements. Panlab IST Teagle for Partners

The Role of the Software Architect

Tool Support for Inspecting the Code Quality of HPC Applications

VHDL Test Bench Tutorial

Enterprise Application Development Using UML, Java Technology and XML

STRATEGIES ON SOFTWARE INTEGRATION

Information integration platform for CIMS. Chan, FTS; Zhang, J; Lau, HCW; Ning, A

Zhenping Liu *, Yao Liang * Virginia Polytechnic Institute and State University. Xu Liang ** University of California, Berkeley

Layered Approach to Development of OO War Game Models Using DEVS Framework

Federated, Generic Configuration Management for Engineering Data

SIMATIC IT Production Suite Answers for industry.

Service Oriented Enterprise Architecture

An Architecture for Web-based DSS

Mining a Change-Based Software Repository

CD++Builder: An Eclipse-Based IDE For DEVS Modeling

SysML Modelling Language explained

Doctor of Philosophy in Computer Science

UniGR Workshop: Big Data «The challenge of visualizing big data»

Database Management. Chapter Objectives

Formal Verification by Model Checking

Introduction to Service Oriented Architectures (SOA)

Programming Languages CIS 443

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

Instructional Design Framework CSE: Unit 1 Lesson 1

Features of The Grinder 3

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation

Managing a Fibre Channel Storage Area Network

Simulation-Based Security with Inexhaustible Interactive Turing Machines

CURRICULUM VITAE EDUCATION:

The Service Revolution software engineering without programming languages

Analytic Modeling in Python

Software Re-engineering

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System

zen Platform technical white paper

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

GUI and Web Programming

StateFlow Hands On Tutorial

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

COSC 6397 Big Data Analytics. 2 nd homework assignment Pig and Hive. Edgar Gabriel Spring 2015

Object-Oriented Software Specification in Programming Language Design and Implementation

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Web Application Architectures

Spreadsheet Programming:

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

A Review of an MVC Framework based Software Development

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Spring,2015. Apache Hive BY NATIA MAMAIASHVILI, LASHA AMASHUKELI & ALEKO CHAKHVASHVILI SUPERVAIZOR: PROF. NODAR MOMTSELIDZE

ORACLE DATA INTEGRATOR ENTERPRISE EDITION

River Dell Regional School District. Computer Programming with Python Curriculum

Pattern Insight Clone Detection

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP

Model Engineering using Multimodeling

Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

Web Integration Technologies

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Introduction to Xilinx System Generator Part II. Evan Everett and Michael Wu ELEC Spring 2013

The Visualization Pipeline

SMock A Test Platform for the Evaluation of Monitoring Tools

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

Transcription:

Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism Composability Gary R. Mayer Gary.Mayer@asu.edu Hessam S. Sarjoughian Sarjougian@asu.edu Arizona Center for Integrative Modeling & Simulation Computer Science & Engineering Department School of Computing and Informatics Arizona State University, Tempe, Arizona Presented at the Agent-Directed Simulation (ADS 07) Conference A Part of the 2007 Spring Simulation Conference (SpringSim 07) Norfolk, VA, USA 25 29 March 2007

Hybrid Agent-Landscape Models Hybrid : both the human and environmental sub-system models are well developed Possibly separable and independently executable Better understand the effects of humans interacting with their environment Bi-directional interaction Choose appropriate formalism to describe each subsystem Complexity of interactions confounds V&V Human Agent Model Environmental Model ADS 2007 2

Using Multiple Models Independence between models provides benefits for reorganization and reuse and opportunities to study the interaction between the models Multi-Formalism provides easier translation of requirements from domain to system model the ability to choose a modeling formalism that is expressive enough to fully represent the system model dynamics under simulation that are more logical to modeler easier V&V as interactions and model-domain connection is more clear a challenge in figuring out how to put the two models together Our approach, composition ADS 2007 3

Model Correctness Can a simulator correctly generate model output given a specific state and input? Modeling the composition of heterogeneous components is more difficult to prove correct Correct w.r.t formalism and realization Interactions between models Emergent property of agents makes it necessary to test system behavior at system level ADS 2007 4

Composability Problem Composition implies more than just a software architecture (data and control) solution Models are composed in both formalism and realization aspects. Compose formalism, then realization Each model must be correct and valid How are two disparate models composed while ensuring that the entire model remains syntactically and semantically correct? All too often, modelers consider ways to make it work, not how it should work. Specification Execution Software Architecture Implementation Specific Details Model A Specification Execution Software Architecture Implementation Specific Details Model B ADS 2007 5

Formalism A model s formalism is a description of a dynamic system that is independent of domain and implementation Specification Mathematical description of the system (Abstract) Execution How the models are executed Generalized for a class of models e.g. discrete-time Composition Consideration Examples Timed with timeless models Discrete-event with continuous models ADS 2007 6

Realization A model s realization is the implementation of the model formalism into less abstract structures Software Architecture Conceptual code structure and dynamics Implementation Specific Details Data-related implementation issues Incorporates domain-specific considerations Composition Consideration Examples Conversion of a string of data into an object message 100m resolution versus 10m resolution ADS 2007 7

Multi-Modeling Approaches Mono-Formalism single formalism; multiple models (everything must be expressed within that one formalism) Super-Formalism one formalism can describe two or more other formalisms (same-family restriction; forces uniform syntax and semantics) Meta-Formalism two different formalisms are mapped to a third formalism (restricted expressiveness to ensure proper mapping) Poly-Formalism two different formalisms interact via a third formalism (unique composition for each set of composed formalisms) ADS 2007 8

Which Approach? IT DEPENDS! One of our project goals is to assist in the development of a laboratory environment for social science research of human and environment interactions. Devise an agent model Develop an interface between the agent and a landscape model. Would like ability to study modeled systems separately, study bidirectional interaction between models, make significant revisions to one with minimal impact to the other, and enable researchers (who may be non-programmers) to use the resulting software framework as a testbed. We will focus on implementing the poly-formalism approach to compose our two models. ADS 2007 9

Poly-Formalism Agent-Landscape Model Architecture agent interactions Discrete-event, Rules-based Models landscape Data Transformation + Control Model Discrete-time, Cellular Automata Models ADS 2007 10

Discrete-Event, Rules-Based Agent M ( X, Y, S, δ, δ,, ta) int δ λ DERBA = M M ext con, (a parallel Discrete Event System Specification formalism) where X Y M M ta : Q = {( p, v) p IPorts, v X p} ( p, v) p OPorts, v Y { } S is the set of sequential states δ δ δ ext int con λ : = : = : S S : S Y S Q X Q X b R b M b M + 0, is the set of input ports and values is the set of output ports and values S is the external state transition function is the internal state transition function S is the confluent transition function is the output function is the time advance function {( s, e) s S,0 e ta( s) } is the set of total states p * Note that the superscript b refers to a bag or set with possible multiple occurrences of its elements ADS 2007 11

Discrete-Time, Cellular Automaton DTCA N { M } ij h N M = X, D,, (a multicomponent Discrete Time System Specification structure) where X h N N D = M is an arbitrary set of input values, could be = 1, time base is a set of integers i, j {( i, j) i I, j I} for each (i,j), the component M = Q Q Y I δ λ i, j i, j i, j i,j i, j i, j, Y = i, j { 0,1} D is the set of influencers of : x : x k, l k, l, I i, j I I j, k j, k is the index set, and, δ, λ i, j, Q, Q k, l k, l i, j is an arbitrary set of outputs of Q X N i, j i,j, where Y is specified as i, j, ( i,j) ( i,j) if Y i,j or if no outputs, defined by its neighbors = ADS 2007 12

On-Going R&D Humans Discrete-event, rules-based agent (DERBA) models Implemented in DEVSJAVA Landscape Discrete-time cellular automata (DTCA) models Implemented in Geographic Resources Analysis Support System (GRASS) (a Geographic Information System (GIS)) Independent set of C modules originally developed for command line interface; no formal interface across multiple modules. Interaction Model (IM) Discrete-event model Implemented in DEVSJAVA ADS 2007 13

Proposed Hybrid Model Architecture DERBA IM DTCA formalism Specification Execution Specification Execution Specification Execution realization Software Architecture Impl. Specific Details Software Architecture Visualization Impl. Specific Details Software Architecture Impl. Specific Details Domain Specific Knowledge Domain Specific Knowledge Domain Specific Knowledge ADS 2007 14

Interaction Model Provides the composition between formalism and realization of the composed models Comprised of translation methods to convert between the two composed models ensure that the models formalism is met and executed correctly (e.g. handle unexpected events in discrete-time models) Manage data and control issues (e.g. converting multi-variable objects into int, float, string components) Synchronous versus asynchronous execution Handle potential deadlock situations (between composed models) Scale and resolution disparities May maintain an internal map to assist translation Human Agent Model IM Environmental Model ADS 2007 15

Research Progression wild cultivated fallow good poor household 1 household 2 household N land use soil quality land owners GRASS visualization tool DEVS simulation tool ADS 2007 16

Poly-Formalism Approach Moves many of the details of the domain and formalism of both composed models into the interaction model. Removes knowledge of composed models from the other Ability to interact lies completely within interaction model. ADS 2007 17

Challenge: Specification Interaction Mathematically, what does it mean for the output of one model to be injected as input into the other? Our Example: Discrete-event interaction model Respond to input from either model at unknown times Issue: Discrete-event IM injects input into a discrete-time model that is not synchronized with a regularly scheduled input segment. Proposed Solution: Composed discrete-time models may not contain a function that explicitly anticipates the time delta between function executions. ADS 2007 18

Challenge: Execution Control How closely tied is the model to its execution? Is there a formal engine (simulator)? Do the models explicitly incorporate time? Our Example: Model execution coordination. DEVS is timed; GRASS is untimed. Issue: Control and execution of all three models. Proposed Solution: IM controls model execution synchronization. Centralized execution engine using IM simulator. Use DEVS model to provide timing to GRASS. ADS 2007 19

Challenge: Software Architecture Must account for disparate software languages and constructs, and hardware resource needs. Our Example: We plan to use the Java implementation of the DEVS formalism DEVSJAVA. GRASS is a set of C modules that are best accessed using scripting languages (Bash, Python, etc.) Issue: How to make DEVSJAVA communicate with GRASS modules Proposed Solution: We have had success dynamically creating scripts to access GRASS modules and data and then using the Java Runtime.exec() command to execute those scripts and capture return data in output and error buffers. Place this functionality within the IM. Parse data from buffers and wrap in DEVS message object ADS 2007 20

Challenge: Visualization Provide unified, synchronized data visualization with data elements from both models. Can not be assumed that only data researchers will want to see is data being transmitted through IM. Our Example: Data visualization of large landscape dataset combined with a few hundred mobile agents. Issue: How to architect system to allow full access to each models data without destroying modularity and independence of each model. Proposed Solution: Implement a visualization element within the IM architecture. Model-View-Controller design pattern Centralized execution control also allows IM to ensure models are synchronized before data extraction and display. Data formatting, mapping, and aggregation Allows central initialization of all models ADS 2007 21

Challenge: Implementation Specific Details Scalability from an execution (performance) perspective. Our Example: A landscape model may employ millions of data elements, each at a 100ha scale. The agent may have only a few hundred and operate at a 10ha scale. Issue: Agent may not need all data or may operate on a combination of data. Further, if an agent moves partially within a 100ha space, what does that mean to the models? Proposed Solution: The IM handles data formatting, mapping, and aggregation. It may also maintain an internal map representation to handle scale disparities. ADS 2007 22

Challenge: Usability How to develop a complex framework while still maintaining ease of use for modelers with minimal or no formal coding skills. Our Example: DEVSJAVA uses object-oriented constructs and requires coding skills in order to implement models. Issue: As a part of the lab environment, it will likely be necessary to modify the IM and agent behaviors. Given the Java environment, how can this be done to improve usability while still maintaining correctness of the models? Proposed Solution: Break single agent model into separate models and components. By keeping the behavior of each static while allowing modification of variables and model organization, different agent behaviors may be realized. Initialization scripts define structure and parameters. ADS 2007 23

IM Benefits Much greater visibility into the interaction between the two models. Three levels of generalization Implementation Compose any GRASS discrete-time, cellular automata model with any discrete-event, rules-based agent written in DEVSJAVA Formalism Compose any system containing the same class of models (discrete-event, rules-based agents and discrete-time, cellular automata) Implementation may require interaction model changes Visualization Maintain separation between data model, visualization and control ADS 2007 24

Summary Composability solutions should be examined from both the formalism and realization aspects. Poly-formalism composability provides model independence but may be costly to develop due to creation of third model. Retains rigorous adherence to formalism and formalism realization to facilitate correctness of interaction between models. Each implementation is dependant upon the two models being composed and, while issues will likely surface, all issues to date appear to have reasonable approaches toward a solution. ADS 2007 25