Modelling Cell-DEVS applications Cellular models implementation in CD++

Slides:



Advertisements
Similar presentations
Computer Programming w/ Eng. Applications
Advertisements

Mechatronics and microprocessor. Outline Introduction System and design of system Control, measurement and feed back system Open and closed loop system.
BBS514 Structured Programming (Yapısal Programlama)1 Functions and Structured Programming.
Conditional statements and Boolean expressions. The if-statement in Java (1) The if-statement is a conditional statement The statement is executed only.
Elementary Data Types Prof. Alamdeep Singh. Scalar Data Types Scalar data types represent a single object, i.e. only one value can be derived. In general,
Chapter 5: Elementary Data Types Properties of types and objects –Data objects, variables and constants –Data types –Declarations –Type checking –Assignment.
Game of Life Rules and Games Linh Tran ECE 573. What is Life? Life is just one example of a cellular automaton, which is any system in which rules are.
Lecture 6 MATLAB functions Basics of Built-in Functions, Help Feature, Elementary Functions (e.g., Polynomials, Trigonometric Functions), Data Analysis,
1 Fundamental Data types Overview l Primitive Data Types l Variable declaration l Arithmetical Operations l Expressions l Assignment statement l Increment.
Simulation Modeling and Analysis
CIS 101: Computer Programming and Problem Solving Lecture10 Usman Roshan Department of Computer Science NJIT.
CELLULAR AUTOMATA Derek Karssenberg, Utrecht University, the Netherlands LIFE (Conway)
Elementary Data Types Scalar Data Types Numerical Data Types Other
Functional programming: LISP Originally developed for symbolic computing First interactive, interpreted language Dynamic typing: values have types, variables.
DEVS and DEVS Model Dr. Feng Gu. Cellular automata with fitness.
CS 300 – Lecture 3 Intro to Computer Architecture / Assembly Language Digital Design.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Variations of Conway’s Game of Life Eswar Kondapavuluri.
Fundamentals of Python: From First Programs Through Data Structures
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Lesson 4 Cell Reference Formulas. Working with Cell References continued… Relative Cell Reference A relative cell reference means that the cell value.
Fundamentals of Python: First Programs
APL and J Functional programming with linear algebra Large set of primitive operations Very compact program representation Regular grammar, uniform abbreviation.
 Value, Variable and Data Type  Type Conversion  Arithmetic Expression Evaluation  Scope of variable.
Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10001.
Visual C++ Programming: Concepts and Projects Chapter 6A: Methods (Concepts)
Modeling and Simulation CS 313
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
Governor’s School for the Sciences Mathematics Day 13.
Polynomial Discrete Time Cellular Neural Networks Eduardo Gomez-Ramirez † Giovanni Egidio Pazienza‡ † LIDETEA, POSGRADO E INVESTIGACION Universidad La.
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Intro to Raster GIS GTECH361 Lecture 11. CELL ROW COLUMN.
The Game of Life Erik Amelia Amy. What is the “Game of Life?” The “Game of Life” (often referred to as Life) is not your typical game. There are no actual.
עקרונות תכנות מונחה עצמים תרגול 6 - GUI. סיכום ביניים GUI:  Swing  Basic components  Event handling  Containers  Layouts.
Model Iteration Iteration means to repeat a process and is sometimes referred to as looping. In ModelBuilder, you can use iteration to cause the entire.
Review Recursion Call Stack. Two-dimensional Arrays Visualized as a grid int[][] grays = {{0, 20, 40}, {60, 80, 100}, {120, 140, 160}, {180, 200, 220}};
C++ Programming: Basic Elements of C++.
1 Week 2: Variables and Assignment Statements READING: 1.4 – 1.6 EECS Introduction to Computing for the Physical Sciences.
CIS-165 C++ Programming I CIS-165 C++ Programming I Bergen Community College Prof. Faisal Aljamal.
COP4020 Programming Languages Functional Programming Prof. Xin Yuan.
Programming Fundamental Slides1 Data Types, Identifiers, and Expressions Topics to cover here: Data types Variables and Identifiers Arithmetic and Logical.
Lecture 5 Methods. Sometimes we want to perform the same sequence of operations multiple times in a program. While loops allow us to do this, they are.
Definition of cell-shaped spaces. CCA = n C cell’s state variables; n S finite alphabet to represent each cell’s state; n n dimensional space; n N neighboring.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Computer Science 101 Computer Systems Organization.
CS851 – Biological Computing February 6, 2003 Nathanael Paul Randomness in Cellular Automata.
DEVS-based Modeling and Simulation References: 1.B. P. Zeigler, Hessam S. Sarjoughian, Introduction to DEVS Modeling and Simulation with JAVA: Developing.
Controlling Program Flow with Decision Structures.
Data Representation Automated data Processing Binary Data representation Mathematical operations Boolean Algebra Hexadecimal Notation.
Lecture #8 Page 1 Lecture #8 Agenda 1.VHDL : Operators 2.VHDL : Signal Assignments Announcements 1.HW #4 assigned ECE 4110– Sequential Logic Design.
MATLAB Constants, Variables & Expression Nafees Ahmed Asstt. Professor, EE Deptt DIT, DehraDun.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Chapter 14 LISP – Practical 3 Instructor: Haris Shahzad Artificial Intelligence CS-402.
ECE 449/549 Class Notes #2 Introduction to Discrete-Event Systems Specification (DEVS) Sept
Parent Function Notes.
Computer Science Up Down Controls, Decisions and Random Numbers.
Practical Session 9 Computer Architecture and Assembly Language.
L – Modeling and Simulating Social Systems with MATLAB
Object Oriented Programming
Data Types, Identifiers, and Expressions
Expressions An expression is a portion of a C++ statement that performs an evaluation of some kind Generally requires that a computation or data manipulation.
The Selection Structure
Illustrations of Simple Cellular Automata
Computational methods in physics
CIS16 Application Development and Programming using Visual Basic.net
Computer Architecture and Assembly Language
Intro to Programming Concepts
Analyze Graphs of Functions
Computer Architecture and Assembly Language
DATA TYPES AND OPERATIONS
Presentation transcript:

Modelling Cell-DEVS applications Cellular models implementation in CD++

N-dimensional cell spaces. Implementation of the Cell-DEVS N-dimensional zones with different behavior. Input/output events through specialized ports in predefined cells. CD++ (1998/99)

CD++ specification language for cell behavior n Manipulation of three-valued logic (T, F and ?). n Arithmetic operations (+, -, * and / ). n Operations using real numbers: trigonometric functions, roots, power, rounding, integer value, modulus, logarithms, factorial, absolute value, maximum, minimum, L.C.D., M.C.M., etc. boolean, comparison, arithmetic, time, conditionals, angle conversion, pseudo-random generation, error rounding, predefined constants. n Functions providing information about the neighborhood state (truecount, falsecount, undefcount y statecount(n)) CD++ (cont.)

n Cell-DEVS coupled model parameters n Cell-DEVS atomic models definition n Use the formal specification for each model n Definition of the local computing functions using a specification language. ValueDelay { Condition } Model Specification

Basic examples on the CD++ spec. language Is the diagonal true? (-1,-1) and (0,0) and (1,1)  a False neighbour? FalseCount >= 1 Can I move in diagonal? not (-1,-1) or not (-1,1) or not (1,-1) or not (1,1)

Cell-DEVS coupled model. The ‘Life’ game [top] components : life [life] type : cell width : 20 height : 20 delay : transport defaultDelayTime : 100 border : wrapped neighbors : life(-1,-1) life(-1,0) life(-1,1) neighbors : life(0,-1) life(0,0) life(0,1) neighbors : life(1,-1) life(1,0) life(1,1) localtransition : life-rule [life-rule] rule : { (0,0) = 1 and trueCount = 5 } rule : { (0,0) = 0 and trueCount = 3 } rule : { t } If the cell is alive and has 4 living neighbors, it remains alive. If it is dead and 3 living neighbors, it is born. Otherwise, it dies.

Life model execution Time: 00:00:00: | | 1| | 2| | 3| | 4| | 5| *** | 6| | 7| * * * | 8| * *** * | 9| * * * | 10| | 11| *** | 12| | 13| | 14| | 15| | 16| | 17| | 18| | 19| | Time: 00:00:00: | | 1| | 2| | 3| | 4| * | 5| | 6| * * | 7| ** ** | 8| * * * | 9| ** ** | 10| * * | 11| | 12| * | 13| | 14| | 15| | 16| | 17| | 18| | 19| | Time: 00:00:00: | | 1| | 2| | 3| | 4| | 5| * | 6| * * | 7| | 8| * * * | 9| | 10| * * | 11| * | 12| | 13| | 14| | 15| | 16| | 17| | 18| | 19| |

[ExMedia] type : celldim : (9,9) delay : transportborder : wrapped neighbors : (-1,-1) (-1,0) (-1,1) (0,-1) neighbors : (0,1) (1,-1) (1,0) (1,1) (0,0) localtransition : Ex-rules [Ex-rules] rule : {(0,0)=0 and statecount(2)=0 } rule : {(0,0)=0 and statecount(2)>0 } rule : { (0,0) = 2 } rule : { (0,0) = 1 } rule : { (0,0) } 100 { t } Excitable Media

[Tension] type : cell dim : (40,40) delay : transport border : wrapped neighbors : (-1,-1) (-1,0) (-1,1) (0,-1) (1,-1) (1,0) (1,1) (0,0) (0,1) localtransition : Ten-rules [Ten-rules] rule : { statecount(0) >= 5 } rule : { t } Surface Tension

[top] components : ex1 in : in out : outG1 outG2 link : outG1 link : outG2 link : in [ex1] type : cell width : 2 height : 2 delay : transport defaultDelayTime : 1 in : in out : out1 out2 link : in link : out1 link : out2 portInTransition : specialRule localtransition : nothing-rule zone : generateOut { (1,1) } [nothing-rule] rule : { (0,0) } 1 { t } [specialRule] rule: { portValue(thisPort) } 1 { t } [generateOut] rule:{(0,0)+send(output1,9.9999)} 1 {(0,0)>=10} rule :{(0,0)+send(output2,3.3333)} 1 {(0,0)<10} Inputs/Outputs from/to other models

Cell’s Neighborhood Coupling Scheme 3-D heat diffusion model (stationary/transient). Heater/Cooler: DEVS models generating random numbers. Two input cells for heat/cold. A 3D heat diffusion model

[top] components : room link : link : [room] type : cell dim : (4, 4, 4) delay : transport defaultDelayTime : 100 border : wrapped neighbors : room(-1,0,-1) room(0,-1,-1) room(0,0,-1) room(0,1,-1)... in : HeatInput ColdInput link : HeatInput link : HeatInput link : ColdInput link : ColdInput localtransition : heat-rule portInTransition : setHeat portInTransition : setCold [heat-rule] Rule: { ( (-1,0,-1)+(0,-1,-1)+(0,0,-1)+(0,1,-1)+(1,0,-1)+(-1,-1,0)+ (-1,0,0)+(-1,1,0)+(0,-1,0)+(0,0,0)+(0,1,0)+(1,-1,0)+(1,0,0)+ (1,1,0)+(-1,0,1)+(0,-1,1)+(0,0,1)+(0,1,1)+(1,0,1)+(0,0,-2)+ (0,0,2)+(0,2,0)+(0,-2,0)+(2,0,0)+(-2,0,0) ) / 25 } 1000 { t } [setHeat] rule : { uniform(24,80) } 1000 { t } [setCold] rule : { uniform(-45,10) } 1000 { t } [Heater] distribution : exponential mean : 10 initial : 1 Model’s specification

[ForestFire] type : celldim : (20,20) delay : inertialborder : nowrapped neighbors : (-1,-1) (-1,0) (-1,1) (0,-1) (0,0) (0,1) (1,-1) (1,0) (1,1) localtransition : FireBehavior [FireBehavior] rule : {(1,-1)+( / )} {( / )*60000} {(0,0)=0 and 0<(1,- 1)} rule : {(1,0)+(15.24/ )} {(15.24 / )*60000} {(0,0)=0 and 0<(1,0)} rule : {(0,-1)+(15.24/ )} {(15.24 / )*60000} {(0,0)=0 and 0<(0,-1)} rule : {(-1,-1)+( / )} {( / )*60000} {(0,0)=0 and 0<(- 1,-1)} rule : {(1,1)+( / )} {( / )*60000} {(0,0)=0 and 0<(1,1)} rule : {(-1,0)+(15.24/ )} {(15.24 / )*60000} {(0,0)=0 and 0<(-1,0)} rule : {(0,1)+(15.24/ )} {(15.24 / )*60000} {(0,0)=0 and 0<(0,1)} rule : {(-1,1)+( / )} {( / )*60000} {(0,0)=0 and 0<(- 1,1)} rule : {(0,0)} 0 { t } Forest Fire model

rule : -1 {60000*3} {(0,0)=0 and((-1,0)=-1 or (0,1)=-1 or (-1,0)=-2 or (0,1)=-2)} rule : -2 {60000*3.5} {(0,0)>0 and((-1,0)=-1 or(0,1)=-1 or (-1,0)=-2 or (0,1)=-2) rule : -3 {60000*4.5} {(0,0)=-2} rule : -4 {60000*5} {(0,0)=-3} rule : {(0,0)=0 and (-1,0)=-1} rule : -2 {60000*7} {(0,0)>0 and ((-1,1)=-1 or (-1,1)=-4) } rule : -3 {60000*9} {(0,0)=-2} rule : -4 {60000*9} {(0,0)=-3} Modified Forest Fires