7-Day SELES Course Day 5

Back to Course Index

General

 * Declarative: state behaviour without step-by-step details
 * Case sensitive

Landscape Event Specification
(Example Event Name: LSEVENT: Fire)
 * Consists of:
 * Event name
 * Declarations
 * Properties

Landscape Event Declarations

 * External State
 * Spatial Layers
 * Global Variables
 * Internal State
 * Event Variables
 * Cluster Variables
 * Cell Variables
 * Output Variables

Landscape Event Declarations






Landscape Event Properties

 * Main Expression: value drives property behaviour
 * Assignments specify state changes:
 * variable = expression
 * context defines spatial domain and available dynamic variables



Expressions

 * Arithmetic
 * Continuous
 * Classified
 * Relation and Boolean
 * Combinational
 * Probability Distributions and Density Functions
 * Region and Spatial
 * Control
 * Output
 * Bit-Vector
 * Matrix
 * Set
 * List
 * Graph
 * Sorting
 * Tree

Combinational Expressions




















































Set, List, Tree and Graph Functions

 * REMOVE ALL(S)
 * n=SIZE(S)
 * b=IS EMPTY(S)
 * Pos=FIRST(S)
 * Pos=NEXT(S,Pos)
 * Pos=PREV(S,Pos)
 * REMOVE(S,Pos)
 * X [=] GET(S, Pos)
 * X [=] GET(S, Pos, Index)
 * SET(S, Pos, X)
 * SET(S, Pos, entryIndex, x)
 * Pos = FIND(S,, Xtmp, Condition)
 * Pos = FIND NEXT(S, Pos, Xtmp, Condition)
 * SORT(S, Xtmpr1, Xtmp2, Condition)

Set Variables

 * GLOBAL SET {10} VARIABLE: S
 * CONTAINS(S, X)
 * INSERT(S, X)
 * S = UNION(S1, S2)
 * S = INTERSECTION(S1, S2)
 * S = SUBTRACT(S1, S2)

List Variables

 * GLOBAL SET {10} VARIABLE: L
 * Pos = HEAD(L)
 * Pos = TAIL(L)


 * INSERT HEAD(L, X)
 * INSERT TAIL(L, X)
 * INSERT BEFORE(L, Index, X)
 * INSERT AFTER(L, Index, X)
 * INSERT AT(L, Index, X)


 * GLOBAL SET {10} VARIABLE: L
 * REMOVE HEAD(L)
 * REMOVE TAIL (L)
 * REMOVE AT INDEX(L, Index)


 * X [=] GET HEAD(L)
 * X[=] GET TAIL(L)
 * X [=] GET AT INDEX(L, Index)
 * Pos = POS AT INDEX(L, Index)

Tree Variables

 * GLOBAL SET {10} VARIABLE: T
 * ADD ROOT(T, X)
 * INSERT LEFT CHILD(T, Pos, X)
 * INSERT RIGHT CHILD(T, Pos, X)
 * INSERT CHILD(T, Pos, X, Index)
 * n = CHILDREN(T, Pos)


 * GLOBAL SET {10} VARIABLE: T
 * Pos = PARENT(T, Pos)
 * Pos = LEFT CHILD(T, Pos)
 * Pos = RIGHT CHILD(T, Pos)
 * Pos = CHILD(T, Pos, Index)
 * Pos = NEXT SIBLING(T, Pos)
 * Pos = PREV SIBLING(T, Pos)


 * GLOBAL SET {10} VARIABLE: T
 * X [=] GET LEFT CHILD(T, Pos)
 * X [=] GET RIGHT CHILD(T, Pos)
 * X [=] GET CHILD(T, Pos, Index)


 * GLOBAL SET {10} VARIABLE: T
 * Pos = NEXT DFS(T, Pos)
 * position of next node in depth-first pre-order traversal of a tree. Set Pos to NULL to start


 * Pos = NEXT POSTORDER DFS(T, Pos)
 * position of next node in depth-first post-order traversal of a tree. Set Pos to NULL to start

Graph Variables

 * GLOBAL GRAPH {10,5} VARIABLE: G
 * nodes and links
 * Use list and general functions for nodes


 * REMOVE ALL LINKS(G)
 * n = SIZE LINKS(G)
 * -number of links in graph
 * b = IS EMPTY LINKS(G)
 * Pos = FIRST LINK(G)
 * Pos = NEXT LINK (G, Pos)
 * Pos = PREV LINK (G, Pos)


 * GLOBAL GRAPH {10,5} VARIABLE: G
 * X [=] GET LINK(G, Pos)
 * b = CONTAINS LINK(G, Xlink)
 * REMOVE LINK(G, Pos)


 * SET LINK(G, Pos, Xlink)
 * SET LINK(G, Pos, entryIndex, x)


 * GLOBAL GRAPH {10,5} VARIABLE: G
 * Pos = FIND LINK(G, XtmpLink, Condition)
 * Pos = FIND NEXT LINK(G, Pos, XtmpLink, Condition)


 * SORT LINKS(G, XtmpLink1, XtmpLink1, Condition)
 * b = LINKED(G, Xnode1, Xnode2, LinkType)
 * -Set LinkType to 0 for direct links and 1 for indirect