Dynamic object-oriented geospatial modeling Tomáš Richta, Martin Hrubý Department of Intelligent Systems Faculty of Information Technology Brno University of Technology xricht16@stud.fit.vutbr.cz, hrubym@fit.vut.cz Keywords: dynamic, object-oriented, modeling, geospatial, methodology, DEVS, GIS, database Abstract Published literature about moving objects (MO) simplifies the problem to the representation and storage of moving points, moving lines, or moving regions. The main insufficiency of this approach is lack of MO inner structure and dynamics modeling – the autonomy of moving agent. This paper describes basics of the object-oriented geospatial methodology for modeling complex systems consisting of agents, which move within spatial environment. The main idea is that during the agent movement, different kinds of connections with other moving or stationary objects are established or disposed, based on some spatial constraint satisfaction or nonfulfilment respectively. The methodology is constructed with regard to following two main conditions – 1) the inner behavior of agents should be represented by any formalism, e.g. Petri net, finite state machine, etc., and 2) the spatial characteristic of environment should be supplied by any information system, that is able to store defined set of spatial types, and support defined set of spatial operations. Finally, the methodology is demonstrated on simple simulation model of tram transportation system. Motivation This paper outlines the methodology for modeling objects moving within the spatial environ- ment, while establishing and disposing connections with other moving or stationary objects. Movement of objects is constrained by the environment, and the connection between two objects (moving, or stationary one) is established when some predefined spatial constraint is satisfied, and disposed when the constraint is no longer fulfilled. For example, moving agents could be vehicles, that move within the city. When each vehicle reaches some distance range to the previous one, it must slower its movement, or even stop to avoid the collision. There are also many cameras mounted on street lamps, that monitor the movement of vehicles. This could be modeled as a system where objects move within some predefined path, and Geinformatics FCE CTU 2009 29 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling establishes or disposes connections with the other ones, which is triggered by the achievement of some specific distance to it. There also exist connections between stationary objects, and moving ones, triggered by the presence of the moving ones within the visibility range of those stationary. The idea of this paper is to define the methodology for such a system modeling. In this motivation section this idea is discussed in more detail. In the next related work section, the other important ideas, that are important for the methodology are briefly introduced. In the contribution section the main contribution of this paper is described, and the methodology outlined. In the last section the specific problem is solved using presented methodology. Spatially embedded networks The important observation concerning the moving object positions, is that the movement of objects is usually not free, but constrained by some predefined paths (e.g. roads, streets, rails, pavements, passages, stairs, doors, etc.) that connects some places (crossings, stations, build- ings, squares, etc.). Both paths and places form some kind of spatially embedded network. This observation allows to abstract form the classical notion of spatial position, defined as a function P : Ω → Rn, where Ω is universe of objects, and n is the dimension of the space. Position specification becomes even more complicated, concerning the geospatial position, which includes the problem of projecting the Earth surface to some regular grid. The idea of abstracting the environment to the form of spatially embedded network was first introduced by Wolfson et al. [1], discussed by Jensen [2], and formalized by Guting [3]. Spatial network is modeled as a graph G = (V,E), with set of vertexes V and set of edges E ⊆ V ×V . The set of possible positions of moving object within such a graph G is then defined as [3] Pos(G) = V ∪ (E × (0, 1)). It means that the agent is positioned either on some vertex v ∈ V or on some relative position on the edge defined as tuple (e,x), where e ∈ E,x ∈ (0, 1). Position of objects then becomes studied from the topological point of view. But if there is a mapping from V to set of point features, and from E to set of linear features, it is possible to compute the precise geospatial position of objects, using some geographic information system (GIS). Dynamic geospatial networking The main idea of this paper is to define the principles and rules of dynamic connection establishing and disposal among moving, and also stationary objects, based on some spatial constraint satisfaction or nonfulfilment – dynamic geospatial networking. Following example of networking assumes simple spatial constraint to be the visibility of objects. Based on that, connections are established when objects see each other, and disposed, when they do not. Schema of the example is shown in Fig. 1, where three moving objects (e.g. vehicles) are following predefined path, being observed by two watchtowers A and B. When each vehicle reaches the visibility range of watchtower, the connection between the vehicle and stationary object is established. There are also connections between moving vehicles, that see each other, and also between two watchtowers for the same reason. Geinformatics FCE CTU 2009 30 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling Figure 1: Geospatial networking example The scene could be interpreted as following. The vehicle x is in the range of watchtower B and right now enters the range of watchtower A, because it gets beyond the obstacle k. It also sees the vehicle y, but does not see the vehicle z, because of the obstacle j. The vehicle y sees both other vehicles, and is monitored by the watchtower A, and no the B, because of j. Finally the vehicle z is monitored by the watchtower B, and sees the vehicle y. Related work Geographic information systems Geographic information system (GIS) is system capable of storing and retrieval of spatially characterized data. The study of GIS cover many disciplines, like spatial data capturing, geospatial analysis, cartographic visualization, etc. For the purposes of discussed methodol- ogy, the GIS should provide the spatial data back end for geospatial analysis computations – visibility, signal propagation, etc. From this point of view the following functionality of GIS is important: � storage of basic spatial data types (points, lines, polygons) � basic spatial operations (length, distance, ...) � advanced analytical operations (visibility, signal propagation, ...) � well defined interface or language for requirements (queries) formulation Regarding the coupling of different types of models, some ideas concerning interaction between GIS and other models exist. For example Brandmeyer and Karmi isolated five levels of environmental models coupling [4]. Those levels could be thought of as levels of maturity of GIS and other systems integration. The described methodology uses GIS as outer resource of information and defines strict interface for simulation model and GIS communication. This Geinformatics FCE CTU 2009 31 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling approach is similar to loose coupling level defined in [4]. It means that all necessary spatial queries are immediately sent through the interface to GIS, and resulting data is returned back. There is no integration between those two models, so any GIS satisfying defined criteria could be used. Moving objects databases Moving objects represent research area concerned on the computational representation of spatially or geospatially embedded objects, that change their position over time. Moving objects cover broad research area, including popular terms like Global Positioning Systems (GPS), Location Based Services (LBS), and many others. For the purposes of this paper the problem is reduced to a moving objects databases, more precisely to moving objects in networks databases. This research area covers the spatio-temporal modeling and algebras [5], [6], [3], implementation issues of the physical data models [2], efficient querying [7], [8], and indexing techniques [9], [10], [11], and database benchmarking [12]. Guting et al. described the algebra of spatio-temporal predicates [5], [6], including the type system formal specification, definition of spatial and spatio-temporal predicates with temporal aggregation, to the querying the developments in STSQL – spatio-temporal extension of structured query lanuage (SQL). This work laid the basics of spatio-temporal databases, and further was extended by Guting, Almeida, and Ding, to cover the area of moving objects in spatial networks [3]. Discrete event system specification Research of moving objects databases reduces the moving object to be either moving point, moving line, or moving region. The main idea of this paper is to enhance the model with moving objects autonomous behavior. The important formalism that encapsulates the inner behavior of agents, provides the means for its temporality, and defines clear interface for its incoming and outgoing communication is called Discrete EVent system Specification (DEVS), and was introduced by Ziegler in [13], [14]. A DEVS basic component, also called atomic, is defined as a structure [13] DEV S = 〈X,Y,S,δ,λ,ta〉 where X is the set of external input events, Y is the set of output events, S is the set of sequential (partial) states, λ : S → Y is the output function, ta : S → R+0,∞ is the time advance function, δ is a transition function consisting of two parts, 1) the internal transition function Geinformatics FCE CTU 2009 32 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling δint : S → S, 2) and the external transition function δext : Q×X → S, where Q is the total state of DEV S given by Q = {(s,e)|s ∈ S ∧ 0 ≤ e ≤ ta(s)}. Concepcion and Ziegler further extended the model to provide for hierarchical modeling by the possibility to hierarchically combine atomic DEVSes [15], [14]. Coupled DEVS is a structure that consists of a number of other coupled or atomic DEVSes, and formally it is defined as CDEV S = 〈X,Y,D,{Md},Cxx,Cyx,Cyy,Select〉 where X is the set of input events, Y is the set of output events, D is set of component references, where ∀d ∈ D : Md ∈{DEV S,CDEV S}, Cxx ⊆ X × ⋃ i∈D Xi is the set of external input couplings, Cyx ⊆ ⋃ i∈D Yi × ⋃ i∈D Xi is set of internal couplings, Cyy : ⋃ i∈D Yi → Y φ is external output coupling function, Select : 2D → D is the tie-breaking function, that solves the problem of simlutaneous events. Structure of the input and output sets of DEVS and CDEVS could also be refined to provide the notion of incoming and outgoing ports for events as following [14] X = {(p,v)|p ∈ InPorts,v ∈ Xp}, where InPorts is the set of input ports, and Xp ⊆ X Y = {(p,v)|p ∈ OutPorts,v ∈ Yp}, where OutPorts is the set of output ports, and Yp ⊆ Y . Another important extension to DEVS formalism had been done by Barros [16], who extended the definition of DEVS formalism to support changes in structure. Barros defined the DSDN – dynamic structure DEVS network as [16], [14] DSDN∆ = 〈X∆,Y∆,χ,Mχ〉 where ∆ is the DSDN name, X∆ is the input event set of DSDN, Y∆ is the output event set of DSDN, Geinformatics FCE CTU 2009 33 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling χ is DSDN network executive name, Mχ is model of χ, which is defined as Mχ = 〈Xχ,Sχ,Yχ,δintχ,δextχ,λχ, taχ〉 with sequential state sχ ∈ Sχ defined as sχ = 〈Dχ,{M χ i },{I χ i },{Z χ i,j},Select χ,V χ〉 where Dχ is the set of components of network, where χ 6∈ Dχ, M χ i = 〈Xi,Si,Yi,δinti,δexti,λi, tai〉 is model of component i, for all i ∈ D χ, I χ i is the set of influencers of i, for all i ∈ D χ ∪{χ, ∆}, where i 6∈ Iχi for all i ∈ D ∪{χ, ∆}, Z χ i,j is i-to-j translation function, for all j ∈ Ii, and Z χ ∆,j : X∆ → Xj, Z χ i,∆ : Yi → Y∆, Z χ i,j : Yi → Xj, Z χ k,χ(y) 6= φ ⇒ Z χ k,j(y) = φ, for k ∈ Dχ ∪{∆}, and for all j ∈ Iχk −−{χ}, with φ as null event, Selectχ : Π → Dχ ∪{χ}, is select function, where Π = 2D χ∪{χ} −−{}, Selectχ(A) ∈ A, V χ are other state variables not defined before. sχ is called structure, and any change in described variables is called change in structure. Filippi and Bisambiglia published a DSDN modification that should provide for modeling spatially embedded network of modified atomic components called Point-DEVS, that change their position within a spatial environment [17]. This approach is similar to Celular-DEVS, and is used to simulate fire propagation in natural environment. Atomic DEVS reduced to have the partial state defined as tuple (Vd,E), where Vd is displacement vector, and E is local space property of Point-DEVS. This work is similar to the presented methodology, but not usable as solution, because it defines only the position to be the partial state of DEVS. Contribution Moving objects DEVS modification Geinformatics FCE CTU 2009 34 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling For the purpose of presented methodology, a simple extension of atomic DEVS component called NDEVS – Networking-DEVS, which is defined as structure NDEV S = 〈X,Y,S,δ,λ,ta,γ〉 where S,δ,λ,ta remains the same as in atomic DEVS, X = {(p,v)|p ∈ Pin,v ∈ Xp} is the set of input ports and values, Y = {(p,v)|p ∈ Pout,v ∈ Yp} is the set of output ports and values, γ : Pin ∪Pout → L∪ � is annotation function, where L is language for networking rules definition, and � is empty word. The extension of coupled component is similar to the atomic one, so the following structure defines NCDEVS – NetworkingCoupled-DEVS NCDEV S = 〈X,Y,D,{Md},Cxx,Cyx,Cyy,Select,γ〉 where D,Md,Cxx,Cyx,Cyy, and Select are the same as in CDEVS, ∀d ∈ D : Md ∈{NDEV S,NCDEV S}, X = {(p,v)|p ∈ Pin,v ∈ Xp} is the set of input ports and values, Y = {(p,v)|p ∈ Pout,v ∈ Yp} is the set of output ports and values, γ : Pin ∪Pout → L∪ � is annotation function, where L is language for networking rules definition, and � is empty word. Dynamic changes of the structure of network, could be modeled as DSDN, with following modifications Mχ = 〈Xχ,Sχ,Yχ,δintχ,δextχ,λχ, taχ,ψχ〉 where sχ ∈ Sχ = 〈Dχ,{M χ i },{I χ i },{Z χ i,j},Select χ,V χ〉, ∀i ∈ Dχ : Mχi ∈{NDEV S,NCDEV S}, and ψχ is evaluation function defined as ψχ : ⋃ i,j∈Dχ,i 6=j Si ×Pi ×L×Sj ×Pj ×L → bool where ∀x ∈ Dχ : Px = Pinx ∪Poutx, Geinformatics FCE CTU 2009 35 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling L is language for networking rules definition. During the model evolution, right after each internal transition function δintχ execution, the system evaluates the function ψχ on all components i,j ∈ Dχ, where i 6= j. This modifies the results given by Zi,j function of sχ to Z ′ i,j, based on the evaluation of annotations of ports px ∈ Px,x ∈ Dχ given by the function γx,x ∈ Dχ, within the context of present state sx ∈ Sx,x ∈ Dχ of each component. The modification is given by following rule ψχ(si,pi,γi(pi),sj,pj,γj(pj)) ⇒ (yi,xj) ∈{Z ′ i,j} It is necessary to state, that the presented modifications of DEVS does not extend its modeling capabilities, which could be formally proved, but this proof is not part of this paper. Dynamic geospatial modeling methodology The main idea of developed methodology is to define basic rules for transforming from the real- world situation to the dynamic geospatial networking system. Because the proper definition of whole methodology is too complex, only the simple outline is introduced. The transformation should consist of following steps: 1. each object of the system is described as NDEVS, or NCDEVS d, using following rules (a) the set of states is defined as Sd = Sbas ×P ×R+0,∞, where Sbas is the set of basic states of the object, and W = v0e1v1e2v2...ekvk,ei = (vi−1,vi), 1 ≤ i ≤ k is the path the object is following (b) each port of d is annotated with string that specifies the the set of rules Rp of port pd, defining its ability to connect to the other ports within the system, the rule r ∈ Rp = (Cs,Co), where Cs is the set of spatial constraints (e.g. visibility, distance less than, etc.), and Co is the set of other constraints (e.g. name of the port, etc.) (c) the object containing multiple NDEVS, is coupled into NCDEVS, it is necessary to specify the rules on NCDEVS according to the rules on ports, that are connected to them 2. all objects are then supplied to the network executive χ, that solves the problem of dynamic networking by the following sequence (a) if the state of any of the NDEVS d ∈ D changes (b) ∀pd ∈ Pind ∪Poutd,∀px ∈ ⋃ x∈Dχ Pinx ∪Poutx the ψχ function is evaluated (c) based on the result of ψχ the Zi,j function of χ is modified Let’s consider the tram transportation system as a case study of described methodology. Model of such a system consists of rail network and moving trams. Rail network consists of places (platforms and switches), and transitions (rail segments). Each platform is connected with two rail segments – the one by that it is achievable, and the other by which it could be leaved. Each platform is considered to be a part of some station object. Rail segments connect two places, and each switch has one incoming rail segment and two outgoing rail segments. Spatial environment is then constructed as a network of transitions and places. Geinformatics FCE CTU 2009 36 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling Trams are moving agents, that change their position within this network in time, and make decisions at the switches based on the assigned travel schedule. Switches and platforms are stationary objects, that mediate the environment connections. Each place is mapped to the point feature, and each transition is mapped to line feature within some GIS. Let’s consider following real-world situation – in Prague, there is station Malostranská, the scheme of this station is shown in Fig. 2. Figure 2: Malostranská station This schema could be interpreted as following – tram t1 stopped on platform p2, and the the switch s3 indicates, that t1 is heading to Čech̊uv most. Tram t2 is also heading to Čech̊uv most, and at the moment it blocks t1’s movement. Tram t3 is coming from Hradčanská, and the switch s1 indicates, that it can go further to the p1 on Malostranská. More formally – tram is a vehicle, that moves along the rails within predefined path W = v0e1v1e2v2...ekvk,ei = (vi−1,vi), 1 ≤ i ≤ k, containing sequence of vertexes vi ∈ V and edges ei ∈ E. Actual heading of the tram is given by the next element of P, and actual position as p ∈ Pos(G), defined previously. Tram is modeled as NDEVS Tram = 〈X,Y,S,δ,λ,ta,γ〉 with following values X = {(?go,true), (?stop,true)} Y = {(!next,p ∈ Pos(G)), (!position,p ∈ Pos(G))} S = {(d,σ)|d ∈ W ×{stopped,running},σ ∈ R+0,∞},s0 = ((v0,stopped),∞) ∀s ∈ S : ta(s) = σ δext((((vi,stopped),σ), te),go) = ((vi,running),σ) δext((((vi,stopped),σ), te),stop) = ((vi,stopped),σ −−te) δext((((vi,running),σ), te),go) = ((vi,running),σ −−te) Geinformatics FCE CTU 2009 37 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling δext((((vi,running),σ), te),stop) = ((vi,stopped),σ) δext(((((ei,x),running),σ), te),go) = (((ei,x),running),σ −−te) δext(((((ei,x),running),σ), te),stop) = (((ei,x),stopped),σ) δext(((((ei,x),stopped),σ), te),go) = (((ei,x),running),σ) δext(((((ei,x),stopped),σ), te),stop) = (((ei,x),stopped),σ −−te) δint((vi,running),σ) = (((ei+1, 0),running),σ) δint(((ei, 0 < x < 1),running),σ) = (((ei,x + vte),running),σ) δint(((ei,x ≥ 1),running),σ) = ((vi+1,stopped),σ) δint((vi,stopped),σ) = ((vi,running),σ) λ((vi,stopped),σ) = (!position,vi) λ((vi,stopped),σ) = (!next, (ei+1, 0)) λ((vi,running),σ) = (!position,vi) λ((vi,running),σ) = (!next, (ei+1, 0)) λ(((ei,x),stopped,σ) = (!position, (ei,x)) λ(((ei,x),stopped,σ) = (!next, (vi+1)) λ(((ei,x),running,σ) = (!position, (ei,x)) λ(((ei,x),running,σ) = (!next, (vi+1)) γ(?stop) = ’select p from allOutPorts where p.name = ’stop’’ γ(?go) = ’select p from allOutPorts where p.name =’go’’ γ(!position) = ’select p from allInPorts where p.name = ’position’’ γ(!next) = ’select p from allInPorts where p.name = ’next’’ Let’s assume that the Tram has two sensors (transmitter/receiver), that are able to broadcast and receive information to and from other sensors in the system. The transmitter is on the back of tram, and the receiver in the front of the vehicle. Tram could then indicate a proximity of the other by receiving the signal from broadcaster, resulting in tram stop to avoid the collision. Transmitter could be modeled as following NDEVS component Transmitter = 〈X,Y,S,δ,λ,ta,γ〉 noindent with following values X = {} Y = {(!signal,bool)} Geinformatics FCE CTU 2009 38 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling S = {(d,σ)|d ∈{v}×{nosignal,signal},σ ∈ R+0,∞},s0 = (nosignal, 0) λ((v,nosignal),σ) = (v,signal) λ((v,signal),σ) = (v,nosignal) γ(!signal) = ’select p from allInPorts where p.name = ’signal’ and p.distance(v) < delta’ And receiver as following NDEVS component Receiver = 〈X,Y,S,δ,λ,ta,γ〉 with following values X = {(?signal,true)} Y = {(!stop,true), (!go,true)} S = {(d,σ)|d ∈{v}×{waiting,receiving},σ ∈ R+0,∞},s0 = (waiting,∞) δext((((v,waiting),σ), te),signal) = ((v,receiving),σ) δext((((v,receiving),σ), te),signal) = ((v,receiving),σ −−te) δext((((v,receiving),σ), te),φ) = ((v,waiting),∞) λ((v,receiving),σ) = (!stop,true) λ((v,waiting),σ) = (!go,true) γ(?signal) = ’select p from allOutPorts where p.name = ’signal’ and p.distance(v) < delta’ γ(!stop) = ’select p from allInPorts where p.name = ’stop’’ γ(!go) = ’select p from allInPorts where p.name = ’go’’ Tram with sensors is then following NCDEVS model TramWithSensors = 〈X,Y,D,{Mi},Cxx,Cyx,Cyy,Select,γ〉 with following values X = {(?signal,true), (?go,true)}, Y = {(!next,p ∈ Pos(G)), (!position,p ∈ Pos(G))}, D = {tram,transmitter,receiver}, Mtram = Tram,Mtransmitter = Transmitter,Mreceiver = Receiver Cxx = {(?signal,receiver.?signal), (?go,tram.?go), ()} Cyx = {(receiver.!go,tram.!go), (receiver.!stop,tram.!stop)} Cyy(transmitter.!signal) =!signal Geinformatics FCE CTU 2009 39 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling Cyy(tram.!position) =!position Cyy(tram.!next) =!next γ(?signal) = ’select p from allOutPorts where p.name = ’signal’ and p.distance(v) < delta’ γ(?go) = ’select p from allOutPorts where p.name = ’go’ and p.distance(v) < delta’ γ(!position) = ’select p from allInPorts where p.name = ’position’ and p.distance(v) < delta’ γ(!next) = ’select p from allInPorts where p.name = ’next’ and p.distance(v) < delta’ It could be seen, that γ functions of NCDEVS were defined according to connected NDEVS components. Schematic diagram of described NDEVS and NCDEVS models, and two more, are shown in Fig.3., where the dynamically established and disposed connections are drawn using dashed arrows. Future work Spatio-temporal constraint language For the formalization of ports rules definitions, it is necessary to define the semantics of the spatio-temporal constraint language L, that is used for rules definition. So far the SQL-like notation was used, which probably remains the same, but it is necessary to precisely define the predicates, that might be used within the rules definition. Agent dimensions One of the other problems is the size of moving agents. In presented case study, this problem could be easily solved using the space manager, which asks the GIS database for the informa- tion about the ordering of vehicles (based on their location and direction). But in future, the size of agents could also play another important roles, so it might be included to the model. Model persistence The problem of the model persistence includes the storage of agents inner states, actual connections, and other values, including the history of network evolution. Here it is possible to build on the Moving objects databases fundamentals also briefly introduced in this paper. The area could also introduce the problem of query optimizations, that have not been addressed yet. Geinformatics FCE CTU 2009 40 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling Figure 3: NDEVS and NCDEVS models Conclusions This paper introduced the outline of the dynamic geospatial networking methodology, which is based on the DEVS formalism extension, called Networking-DEVS, and NetworkingCoupled- DEVS. Introduced extensions does not improve the modeling power of classical DEVS for- malism, but only defines the different type of its usage. The methodology covers basic rules for the transformation from real-world moving objects, into Networking-DEVS models. It also defines the rules for dynamic connecting of DEVS models, based on some geospatial constraint satisfaction, which is called geospatial networking. Connections are established as DEVS ports couplings, based on the rules defined in ports annotations. The dynamic be- Geinformatics FCE CTU 2009 41 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling havior of the model is formalized by modified DSDN structure, with network executive. The methodology assumes that the network executive is connected with some GIS, that it uses for geospatial analytical computations. Based on the results of those analyzes the connections are established, and disposed. Presented methodology was demonstrated on test case concerning the tram traffic model. References 1. Ouri Wolfson, Bo Xu, Sam Chamberlain, and Liqin Jiang. Moving objects databases: Issues and solutions. In SSDBM, pages 111-122, 1998. 2. Christian S. Jensen, Torben Bach Pedersen, Laurynas Speicys, and Igor Timko. Data modeling for mobile services in the real world. In SSTD, pages 1-9, 2003. 3. Ralf Hartmut Guting, Victor Teixeira de Almeida, and Zhiming Ding. Modeling and querying moving objects in networks. The VLDB Journal, 15(2):165-190, 2006. 4. Jo Ellen Brandmeyer and Hassan A. Karimi. Coupling methodologies for environmental models. Environmental Modelling and Software, 15(5):479-488, 2000. 5. Ralf Hartmut Guting, Michael H. Boehlen, Martin Erwig, Christian S. Jensen, Nikos A. Lorentzos, Markus Schneider, and Michalis Vazirgiannis. A foundation for representing and querying moving objects. ACM Trans. Database Syst., 25(1):1-42, 2000. 6. Ralf Hartmut Guting and Markus Schneider. Moving Objects Databases. Morgan Kaufmann, 2005. 7. Christian S. Jensen, Jan Kolář, Torben Bach Pedersen, and Igor Timko. Nearest neigh- bor queries in road networks. In GIS, pages 1-8, 2003. 8. Dimitris Papadias, Jun Zhang, Nikos Mamoulis, and Yufei Tao. Query processing in spatial network databases. In VLDB, pages 802-813, 2003. 9. Su Chen, Christian S. Jensen, and Dan Lin. A benchmark for evaluating moving object indexes. PVLDB, 1(2):1574-1585, 2008. 10. Xiang Li and Hui Lin 0002. Indexing network-constrained trajectories for connectivity- based queries. International Journal of Geographical Information Science, 20(3):303- 328, 2006. 11. Talel Abdessalem, Cédric du Mouza, José Moreira, and Philippe Rigaux.Management of large moving objects datasets: Indexing, benchmarking and uncertainty in move- ment representation. In Yannis Manolopoulos, Apostolos Papadopoulos, and Michael Vassilakopoulos, editors, Spatial Databases, pages 225-249. Idea Group, 2005. 12. Thomas Brinkhoff. A framework for generating network-based moving objects. GeoIn- formatica, 6(2):153-180, 2002. 13. Bernard P. Zeigler. Multifacetted modelling and discrete event simulation. Academic Press Professional, Inc., San Diego, CA, USA, 1984. Geinformatics FCE CTU 2009 42 Richta T., Hrubý M.: Dynamic object-oriented geospatial modeling 14. Bernard P. Zeigler, Herbert Praehofer, and Tag G. Kim. Theory of Modeling and Simulation, Second Edition. Academic Press, 2 edition, January 2000. 15. Arturo I. Concepcion and Bernard P. Zeigler. Devs formalism: A framework for hier- archical model development. IEEE Trans. Software Eng., 14(2):228-241, 1988. 16. Fernando J. Barros. Dynamic structure discrete event system specification: A new formalism for dynamic structure modeling and simulation. In Winter Simulation Con- ference, pages 781-785, 1995. 17. Jean-Baptiste Filippi and Paul Bisgambiglia. General methodology 2: enabling large scale and high definition simulation of natural systems with vector models and jdevs. In Winter Simulation Conference, pages 1964-1970, 2002. Acknowledgement: This work has been supported by the Czech Ministry of Education under the Research Plan No. MSM0021630528 ”Security-Oriented Research in Information Technology”. Geinformatics FCE CTU 2009 43 Geinformatics FCE CTU 2009 44