Parallel Allocation of the Distributed Software Using Node Label Controlled Graph Grammars
|
|
|
- Calvin Clarke
- 9 years ago
- Views:
Transcription
1 AUTOMATYKA 2008 Tom 12 Zeszyt 2 Leszek Kotulski* Parallel Allocation of the Distributed Software Using Node Label Controlled Graph Grammars 1. Introduction The notion of concurrent or distributed systems has a different meaning when it is referred by the different people. Further confusion arises when we face a large variety of multiprocessor and network architectures. In the paper, we will consider distributed computing as a paradigm that allows objects to be distributed over a heterogeneous network. An object can be specified by a set of offered services (via methods provided by an object) and a set of services requested from other objects. A communication between these objects is supported by many standards such as CORBA [20], DCOM [18], ANSA [1] and allows one to create communication channels between the components, even created by different programming teams. Having a compre-hensive infrastructure on hand, we can concentrate on flexibility evolving architectures and dynamic distri-buted object creation. UML [21] simplifies distributed system description by introducing use case model and diagrammatic tools for the visualization of specified parts of a system. Graph transformations are increasingly popular as a meta-language to specify and implement visual techniques based on the UML [22, 23]. The algebraic approach (based on the graph morphism) [4] can be used to introduce visual languages definition [3], model concurrency [2] and to specify the distributed system semantics [9]. The paper focuses on constructions a system that support an allocation of parallel object-oriented applications onto a target hardware architecture. The aim of the paper is an introduction: the formal description of such a system and the way of its dynamic transformation. The use for this purpose of graph transformation is not new but the presented formalism is the one that meets the following assumptions: it is enough expressive to solve a problem of allocation control, it is sufficiently effective (i.e. its solves membership, parsing and derivation problem with polynomial time complexity), * Institute of Automatics, AGH University of Science and Technology, Krakow 321
2 322 Leszek Kotulski it offers the ability of online reaction on the external events (generated by the described system environment), it supports distribution of graph describing the system and its transformation in a parallel way. The inspiration of this work was one of NLC graph of grammars (ETPL(k) [8]), that solves membership and parsing problems with O(n 2 ) computational complexity. In section 2, we introduce aednlc graph grammar (equivalent to ETPL(1)) that is able to describe both software and hardware structure of the specified system. The reaction of the graph transformation system on the external request generated by the environment of the specified system is (in section 3) by a finite state automata called Derivation Control Diagram. Finally the way of distribution of the allocation graph and the way of its parallel transformation is presented (in section 4). Section 5 outlines the related works and future directions of our research. 2.An indexed edge-unambiguous graph as a tool for the distributed system description In [15], it was shown that the attributed graph is an intuitive and enough powerful mechanism for describing the current allocation state of a distributed system. The attributed and edge-labeled directed Node Label Controlled (aednlc) graph grammar can also maintain a set of local graphs and coordinate their parallel modification in such a way that they describe a (distributed) state of the allocated system. Before introducing a parallel derivation model, some basic assumptions of the centralized allocation system should be reviewed. The interpretation of the system model is as follows: each component of the distributed system is represented by one of the graph s nodes 1). Node labels describe the types of those components ( N computing nodes and M object instances representing both processes and synchronizing them monitors); additionally, there are introduced nodes labelled by E and I defining the offered and required services. The relations between individual components are defined by means of directed edges connecting the appropriate graph nodes. The edge label designates a type of relation between system components. We make use of the directed graph since we assume that these relations may be asymmetric. If a more detailed definition of nodes or edges is required, an adequate attribute set may be ascribed to the labels. Attributed labels keep both a structural information (basic label) and some private information associated with the given component (attributes). Attributes inside label are represented by a partial function from a set 1) The term node used in this paper is equivalent to the graph node, while computing node always refers to as a computer.
3 Parallel Allocation of the Distributed Software of attribute names to a set of attribute values. For attributed node labels (and appropriately for attributed edge labels), we can introduce the equivalence relation (μ,f) (ν,f) μ=ν, where μ,ν are basic labels, and f is an attributing function. To simplify the notation, an underlined basic label μ (i.e. μ) represents any attributed label belonging to [(μ,f)] equivalence class. Function lab(μ) returns basic label μ. Let Σ, Γ be accordingly a set of attributed node labels and a set of edge labels, then the graph is defined as follows: Definition 2.1 An attributed directed node- and edge-labelled graph, EDG graph, over Σ and Γ is a quintuple H = (V, D, Σ, Γ, δ), where V is the finite, non-empty set of graph nodes, to which unique indices are ascribed. The order in the indices set defines the order within V. D is the set of edges of the form (v, μ, w) where w, v V and μ Γ. Σ is the set of attributed node labels. Γ is the set of attributed edge labels. δ: V Γ is the node labeling function. n For a given graph H, its components will be denoted as V H, D H, δ H respectively. In order to achieve polynomial complexity of graph parsing a graph nodes have to be indexed in an unambiguous manner and it is necessary to introduce some limitation on EDG-graph structure [6, 8]. The strongest of these limitations is the rule, which accepts only edges leading from a node with a smaller index to a node with a greater one, because there is no relationship between the order of component allocation and the direction of the edges; on the contrary: edge direction depends on the labels of nodes, which are connected by them. To solve the above conflict, for each label x, we introduce an opposite label x with the following interpretation: for any nodes v, w and an attributing function f, the edge (v,(x,f),w) is equal semantically to the edge (w,(-x,f),v). We introduce the following notation conventions: a label with double negation is identified with original label (i.e. -(-x) is equivalent to x), for the attributed label μ, -μ denotes the label (-μ,f). Graph grammars can control the correctness of the such graphs derivation (called next IE-graphs). Let ξ denotes a set of logic formulas using attributes and labels of nodes from the IE-graph G, and fineset(a) denotes set of finite subsets of A. We say that the formula π ξ is satisfied in a context of the graph G if π can be evaluated as true after ascribing of attributes belonging to graph G. Definition 2.2 Triple P = (L, R, C), where: L = (V L, D L, Σ, Γ, δ L ) is an IE-graph called left-hand side of production, with pointed node v L, R = (V R, D R, Σ, Γ, δ R ) is an IE-graph called right-hand side of production, C: EL {in, out} V L finset(nl (NL ξ) EL {in,out}) is an embedding transformation is said to be a production applied to the node v of the IE-graph G.n
4 324 Leszek Kotulski For any IE-graph G and any node v we can apply production P if there exists the homomorphism h:l K, where K is a subgraph of G, such that h(v L ) = v and "w V L δ(w)) = (δ(h(w))) and "u K z L: h(z) = u. Graph K is replaced by graph R according to the embedding transformation, which defines how edges connecting graph K with the rest of graph G should be replaced by edges coming from and to graph R. A new edge is generated only if formula π ξ is satisfied in a context of the graph G. All the formulas introduced in the paper use only attributes of the node v and nodes which are directly connected with it (called a direct environment of v (DENV(v))), so they can be evaluated in finite number of steps. For production P = (L, R, C), equivalence C((γ, in, v) = {(Q,(X,π),μ,in)}means Notation: C((γ, in, v))={ (...) (Q,...) (Q,(X, π)...) (Q, (X, π),μ,.. ) (Q, (X, π),μ, in) } Informal interpretation: Every edge λ labeled by γ and coming into node h(v) in graph G(v) (v and h(v) have the same labeling) ought to be replaced by the edge connecting the node w of the graph of the righ hand side of the production and labeled by Q with the node p of the rest graph and labeled by X on condition that formula π is fulfilled (for the nodes belonging to this edge). New edge ought to be labeled by μ and is coming into node w. Formally: Every edge (p,λ,h(v)) D G such that lab(λ)=γ p V G -V K is replaced by the edge (p,μ,w) such that w V R : δ(w)=q (δ(p)=x) and π is fulfiled New graph H=(V H,D H,Σ,Γ,δ H ) created by applying the production P=(L, R, C), with homomorphism h in the node v of the G=(V G,D G,Σ,Γ,δ) graph is defined as follows: V H =(V G - h(v L )) V R, D H =(D G - { (p,μ,w) D G : w h(v L ) p h(v L )}) D R {(p,μ,w): γ Γ, q h(v L ), d {in,out} (Q,(X,π),μ,in) C(γ,d,q) π(p,g)=true δ(p)=x w V R δ(w)=q)} {(w,μ,p): γ Γ, q h(v L ), d {in,out} (Q,(X,π),μ,out) C(γ,d,q) π(p,g)=true δ(p)=x w V R : δ(w)=q)}, δ H =(δ G - { (h(v), δ(h(v))): v h(v L )}) δ R. Homomorphism ought to be unambiguously defined, so in the paper we assume that if a graph of the left-hand-side of the considered production consists of a single node v L only, then the homomorphism h is defined as unique homomorphism from the node v L to the node v (for which production is applied).
5 Parallel Allocation of the Distributed Software Definition 2.3 A context dependent graph grammar is a quintuple Ψ = (Σ, Δ, Γ, P, Z), where: Σ is the finite, nonempty set of node labels, Δ Σ is the set of terminal node labels, Γ is the finite, nonempty set of edge labels, Z is the initial IE-graph, P is the finite set of productions (of the form defined in def. 2.2).n 3. Derivation control We use programmable attributed and edge-labelled directed Node Label Controlled (aednlc) graph grammars for controlling correctness of the allocation graph modifications. ETPL(k) graph grammar [6, 7], being a well-known subclass of grammars defined by the Rozenberg [5, 10], solves the membership problem in a very efficient way (O(n 2 )). Such a grammar is necessary to answer a question if an IE-graph can be generated by its productions, for example while the composite distributed objects (called groups [12] are created. However, it does not solve our basic problem when and how the allocation graph is transformed into another one?. Consequently, aednlc graph grammar is a combination of the context dependent graph grammar and the Derivation Control Diagram (see def. 3.1). In practice, the allocation state will change when a user of the distributed system decides to create a new component 2) ; this decision we will call an allocation request and formally such a request will be described by the function RQ: RQ_name (RQ_art_name RQ_val) where: RQ_name is the set of allocation request names, RQ_atr_name is the set of all attribute names that appear in requests, RQ_val is the set of all possible parameter values. Let RS denotes the set of all possible requests, so any finite subset of RS will be called a requests set. With every user request there will be associated some graph grammar productions (see def. 2.2), that force a derivation of graph H to graph G. The order of user request service and used production will be designated by the derivation control diagram (see def. 3.1). We assume that users of the distributed system will enrich the requests set, on the other side it will be decreased during interpretation of the derivation control diagram. Both these actions can be made in parallel. By analogy, function ERQ, called an external request, will represent some action of an operating system. Let ERS denote the set of all possible external requests, so any finite subset of ERS will be called an external request set 3). 2) 3) It can be also made indirectly by a program requested dynamics allocation of some components. We will not define them in the paper because they are strongly dependent on the operating system supporting computing node.
6 326 Leszek Kotulski Definition 3.1 A derivation control diagram is a sixtuple S = (N, I, F, T, Π, Wait), where: N is the set of control points, I N and F N are the set of starting control points and the set of final control points respectively, T is a set of transitions of the form (k,q,p,sf), where: k,q N are control points (transition occurs between k and q), P is either a production or symbol when no production is associated with this transition, SF is a semantic action described with the help of three functions: eval: RS R, which modifies attributes of the graph R (being right-hand side graph of the production P) using as the parameters the request attributes. ρ - : finset(rs) finset(rs), which reduces the request set, ρ + : finset(ers) finset(ers), which enriches the external request set; Π={Π k, k N} where Π k : IE ASNET finset(rs) T is a selector that for the graph G (generated by Ψ graph grammar) and the set of requests ω chooses transition of the form (k,q,p,sf), Wait={Wait k, k N}, where Wait k : IE ASNET finset(rs) {true,false} is a synchronizing function which for the graph G (generated by Ψ graph grammar) and the set of requests ω returns true if it is possible to make the transition or false when graph transformation should be delayed until either J or ω will change, so that Wait k returns true. n Starting control points (k I) are always active. When synchronizing function Wait k inside an active control point returns true then the transition is fired. If all of these evaluations fail (i.e. return false) the next evaluation process delays until some new request appears (ω =ω {r})). The semantics function SF (associated with this transition): enriches external request set (requesting some actions of an operating system), removes from w the request, that is serviced, evaluates parameters of the right-hand graph of the production P. Production P is applied to the current graph G and the new graph H is created (see def. 3.4). When the activity is moved to the next control point, that is neither a starting nor a final control point, the next thread of control is created, so it is possible to concurrently evaluate the next synchronizing function associated with the starting point. When activity is moved to a final point its thread is deleted. More intuitively, a derivation control diagram can be interpreted as a graph connecting the control points (see Fig. 1) inside of which there are evaluated sequentially both the synchronizing function and the selector choosing one of the transitions from one control point to another one (drawn as an edge). During such
7 Parallel Allocation of the Distributed Software a transition the production P i is applied and the semantic action SF i is executed. A graph build of the node v, nodes of the derivation control diagram which are directly connected with v and the edges connecting these nodes, is reffered to as a direct environment of v (DENV(v)). Fig. 1. Derivation graph Definition 3.2 We say that a derivation control diagram is effectively computable if each selector Π k and each synchronizing function Wait k are evaluated: 1. using parameters at most one request u, 2. using at most attributes and graph properties direct environment of the node v in graph G, pointed by the attribute dest_node of the request u (i.e. (RQ(u))(dest_node)=v), 3. every left-hand side graph of the production is the direct environment of the node v L.n Definition 3.3 A pair (Ψ,S), where: Ψ=(Σ, Δ,Γ, P, Z) is a context dependent graph grammar, S = (N,I,F,T,Π,W) is an effectively computable derivation control diagram is called an attribute and edge-labelled directed Node Label Controlled graph grammar (shortly an aednlc graph grammar).n Definition 3.4 Graph H = (V H,D H,Σ,Γ,δ H ) is called directly deriverable from a graph G by applying a production P in a node v with attributes given in a request u, when there exists a control point k, such that: a) Wait k (DENV(G,v),{u})=true, b) Π k (DENV(G,v),{u})=(k,q,P,SF), c) semantic action SF evaluates attributes of the graph R (ie. R=eval(u)), being righthand side graph of the production P, d) a graph H is a result of applying the production P to the node v of the graph G. n We denote such a situation as H=Direct_derivation(P,v,u)(G).
8 328 Leszek Kotulski Definition 3.5 Derivation control state in a context dependent graph grammar Ψ with a derivation diagram S is the quadruple C = (G, k, U, Y ), where: G is an indexed edge-unambiguous graph (IE-graph from def. 2.3), k is an active control point of the derivation diagram S, U is a set of user requests (U finset(rs)), Y is a set of external requests (Y finset(ers)).n A modification of a derivation control state in a context dependent graph grammar Ψ with a derivation S = (N,I,F,T,{Π k } k,{wait k } k ) is described by the operation TRANSITION((G,k,U,Y)) defined by the algorithm presented on Figure 2 and concurrently executed operations add_rq(u) (adds new user requests to U) and execute_erq(y) (executes a request from Y and reduces it). Fig. 2. TRANSITION algorithm The while loop in the operation TRANSITION is a busy form of waiting 4) until a new user request appears in U (added by add_rq operation), for which synchronizing function Wait equals to true. Definition 3.6 A derivation process in an aednlc graph grammar (Ψ,S) is a maximal (in a sense of a length) sequence of pairs derivation control states S and transitions: (C 0,t 0 )(C 1,t 1 )...(C i,t i )...(C n,t n ), where for C i = ( G i, n i, U i, Y i ), t i =(n i, q i, P i, (eval i,ρ i,ρ i )), G 0 =Ψ.Z for n 0 =0; for each i there exists u i U i, such that the atribute dest_node points the node v i, which fulfils the following properties: 4 In a real environment it should be substituted by some synchronizing construction.
9 Parallel Allocation of the Distributed Software ) Waitn i (DENV(G i,v i ),{u i })= true 2) Πn i (DENV(G i,v i ),{(u i })=t i 3) q i = k i+1, ρ i (U i )=U i+1, ρ i (Y i )=Y i+1, 4) G i+1 = Direct_derivation (P i, v i, u i )(G i ).n The definitions introduced above represent the world of sequential computations, the formalism of an aednlc graph grammar allows one to introduce some parallelism into a derivation of an allocation state. The basic idea is to split an allocation graph into separately maintained subgraphs and to synchronize their derivations by using requests. The modules responsible for a local derivation, will be called allocators, and represented by thenodes indexed with 0 inside each of local graphs. An example of such a solution will be presented in the next chapter. Definition 3.7 A parallel derivation control state in a context dependent graph grammar Ψ with a derivation diagram S is a set of states C 1 to C m such that: 1) C i =(G i, k i, U i, Y i ) is the derivation control state (see def. 3.5), where G i is an IE graph. 2) there exists a communication protocol, which guarantees, that for any i, j a request generated by the allocator controlling subgraph G i, will be served in a finite time by the allocator controlling subgraph G j.n Definition 3.8 A parallel derivation process in a aednlc graph grammar (Ψ,S) is a maximal (in a sense of a length) sequence of the parallel derivation control states S and transitions of the form: (C 0,t 0 )(C 1,t 1 )...(C j,t j )...(C n,t n ), where each j-th derivation control state and each j-th transition are of the form C j =(C j,1,,c j,m ) and t j =(t j,1,,t j,m ), and for each 1=p=m (C 0,p,t 0,p )...(C j,p,t j,p )...(C n,p,t n,p ) is a derivation process (see Definition 3.6).n 4. Distributed derivation of the allocation graph In [15] there was considered an example of a sequential derivation of the allocation graph. The minimal set of basic node labels which enables one to illustrate the connections among the distributed software application components and the hardware computing nodes may be reduced to four classes of attributed node labels: N representing a computing node in a local computer network; M representing an object instance which encapsulates some data structure, offers some services and requests some tasks from other object instances (a Monitor-like structure); E representing an entry gateway to one of the services offered by an object; I representing a stub module, which is a local interface to a remote service.
10 330 Leszek Kotulski The relations among the system components can be defined by five classes of attributed edge labels: a representing a relation is allocated in..., (for all edges connecting any node representing object instance with the node representing the computing node, in which this object is allocated); b representing a relation belongs to... (for all edges connecting any node representing entry unit with the node representing their object instance); c representing a relation potential calls... (for all edges connecting any node representing object instance with the node representing stub supporting the requested services); l representing a relation links with... (for all edges connecting any node representing stub with a node representing proper entry gateway); n representing a relation network connection (for edges connecting nodes representing computing nodes and express possibility of hardware communication between these nodes). For the technical reason we introduce following assumptions: the node labeled as A, represents the abstract allocator and is indexed by 0; for any edge (0, μ,v), the basic label of μ is defined as (written in small letters) concatenation of the letter a and the basic label of node v (i.e. am for the object instance, ai for the stubs, etc.); edges, which link a nodes v representing an object instances (labeled by M) with a nodes w representing a stubs offering potential services of other instances are labeled by mi or -mi. The parallel derivation of an allocation graph, introduced in the paper, is based on the virtual nodes and edges concept. A virtual node doesn t represent any real software component described by a local allocation graph, but it keeps a necessary information to point a node representing a real software inside another local graph. The virtual node label is defined as a concatenation of the letter V and the appropriate basic label (on the diagram, it will be represent by the black circle). We will use two virtual nodes VE and VI. A virtual edge is defined as an edge where one of the nodes represents a real node and the second one represents a virtual node, that points a real node in another local graph (for the simplicity we assume that edge s label will be the same as label of the corresponding virtual node). We assume that for each virtual edge X à VZ, where VZ points some node labeled by Z in the graph G p, there exists a virtual edge VXà Z inside G p associated with it, where node labeled by VX points the node X mentioned in the previous edge. After introducing of productions, which allow us to construct an allocation graph we will show how the derivation control diagram mechanism helps us to synchronize a work of allocators in order to fulfill above assumption.
11 Parallel Allocation of the Distributed Software As the result, the indexed edge-unambiguous graph, IE-graph representing distributed system can be described with the help of basic node labels {N,M,E,I,A,VE,VI} and basic edge labels, namely {a,b,c,l,n,am,ae,ai,ve,vi,-vi,-ve,-ai,-ae,-am,-n,-l,-c,-b,-a}. Five requests, presented below, allow us to describe a very intuitive system which supports the allocation of the distributed system components by a single allocator: RQ(add_node), which demands to connect a new computing node to the distributed network; RQ(all_obj), which demands to allocate an object instance pointed by pattern parameter with the name pointed by name parameter in the computing node pointed by node_id parameter; RQ(select_link), which informs the allocator which service will be associated with the allocated object instance; RQ(remove_obj), which demands an object instance to be removed from the system; RQ(remove_node), which demands the removal of a computing node. The following requests support (based on Two Commit protocol) synchronization of the distributed allocation graph by a few allocators: RQ(find_entry), which asks the allocator about possibility of servicing an object request by the subsystem controlled by this allocator; RQ(answer_yes), which informs that the service mentioned in the find_entry request can be accomplished; RQ(acceptance), which confirms agreement made with the help of two previous requests; RQ(confirmation), which informs about the correctness of the local allocation parameter commited is set to true or false, appropriately. The derivation control diagram designed for both controlling local allocation process and for synchronizing creation of the distributed allocation graph consists of eight nodes (numbered from 0 to 7), where 0 is the starting control point and 7 is the final one. Table 1 defines selectors and synchronizing function for these points. Seven productions presented below allow us to create collection of IE-graphs describing current allocation state. For the simplicity of notation we assume that inside of all productions: 1. The symbol G is reserved for the current allocation IE -graph modified during a derivation steep and the symbol v is reserved for the node in context of which a production is applied; each graph L of the left-hand side graphs consists of a single node v L, so the homomorphism h is defined as unique homomorphism between v L and v. 2. Attributes of the node indexed by 0, called global attributes, are written by capital letters. 3. A global attribute CN represents the second node (different from h(v L )) of the edge currently replaced by the embedding transformation (during interpretation of C(γ,out, v L ) for the edge (h(v L ),γ,u) D G attribute CN points node u).
12 332 Leszek Kotulski 4. A value of the attribute a in node w is described by a w. 5. A function Allocated_in:V V, which for any node representing software component returns the node representing computing node in which it is allocated; correctness of this function is based on assumption that an object instance can be allocated only inside one computing node. 6. An operation COPY_REST, which makes the copies of all edges connecting v with the rest of graph G (and as a consequence removed from the derivered graph) and not mentioned in the embedding transformation with one modification instead of v the node of the right-hand side production indexed by 1 is placed. 7. A production can be represented graphically where: separates left-hand side graph from right-hand graph, represents directed edges, labels are inside nodes and above edges, indices of nodes are in parentheses. Now we will introduce seven productions, that allow to create the graph representing the current allocation state of the controlled distributed system. The initial allocation IE-graph consists of a single node labelled by A (Z from def. 2.3). Next we should be able to enrich hardware environment. The production P 1 introduces in the allocation graph G a new node (labeled by N) and associates it (edge labeled with s) with the node 0 (representing the allocator). The embedding transformation is defined as: C 1 = { ((s,out, v L ), { (A,(N,true),s,out), (N,(N,true),-n,in), (N,(N,true),n,in) }), COPY_REST) } When we would like to allocate an instance of an object in the computing node NODE we must apply the production P 2 with the embedding transformation defined as follows: C 2 = { ((s,out, v L ), {(A,(N,true),s,out), (M,(N,π 1 ), -a, in) }), ((ai,out, v L ), {(A,(I,true),ai,out), (M, (I,π 2 ), -mi, in) }), ((ai,out, v L ), {(A,(VI,true),ai,out), (M, (VI,π 2 ), -mi, in) }), COPY_REST) }, where π 1 : NODE = name CN, π 2 : (req_servive CN, req_type CN ) ENV(m) RRQ Allocated_in(CN)=NODE) CN represents a stub to one of the requested services, this stub is allocated in computing node pointed by NODE.
13 Parallel Allocation of the Distributed Software Synchronizing function x Table 1 point condition condition inside the selector SF rq = create_allocator Create new allocator rq = ad_node P1 0 Exists any request rq rq = all_man P2 rq = find_entry send(answer_yes rq = acceptance & proper node exists rq = acceptance & proper node doesn t exist Px3 send(confirmation(true... send(confirmation (false... For each object s entry point P3 All entry points has been visualized 2 Exists not linked object s request and some proper stub has been already allocated Exists not linked object s request and proper virtual stub has been already allocated Exists not linked object s request and none stub exists All object s requests have been linked P4 P4v Stub will represent a local object P5 3 Stub will represent an object descriebed by another allocator broadcast( find_entry(... Exists any request rq 4 of the answer_yes type Exists 5any request rq of the confirmation type rq can be accepted send( acceptance(... rq can not be accepted and next answer is expected rq can not be accepted and it is the last answer commited rq = true Px2 commited rq = false
14 334 Leszek Kotulski While allocating an object we must explicitly define the services which it offers. So we should remember (in the global variable AM) the index of a node representing an allocated object (generated in the previous production) and for each offered service (i.e " e i ENV(m) SRV ) we will execute the production P 3. The embedding transformation is defined as: C 3 = { ((am,out, v L ), {(A,(M,true),am,out), (E, (M,π 3 ),-b,in) }), COPY_REST) }, where π 3 : CN=AM. For all object requests we ought to link it with some stub representing a remote service of another object. If such a service already exists, we use the production P 4, which has the following embedding transformation: C 4 = { ( (-mi,in, v L ), {(M,(I,π 4 ), -c, in), (M,(I,not π 4 ), -mi, in)}), COPY_REST }, where π 4 : CN=X The production P 5 which allocates a new stub, has the following embedding transformation: C 5 = { ( (ae,out, v L ), {(A,(E,true),ae,out), (I,(E,π 5 ), -l, in) }), ((am,out, v L ), {(A,(M,true,am,out), (I,(M,π 6 ),c,in) }), COPY_REST }, where π 5 : CN=X π 6 : CN=AM The last production is not intuitive because the main action (adding the edge between the allocated object and node of right hand side indexed by (2)) is described by the embedding transformation (with respect of its connection with the node representing an allocator, by an edge labeled by am, it will be also connected with the node labeled by I indexed by (2)). When the currently allocated object instance (maintained by the allocator A S ) requests a service offered by an object instance created by allocator A T, then the production P 6 is applied to allocation graph maintained by A S (after acceptance of service request) and the production P 7 is applied to allocation graph maintained by A T (after confirmation(true, ) service request). The production P 6 which allocates a new stub, has the following embedding transformation: C 6 = { ( (ae,in, v L ), {(E,(A,true),ae, in), (VI, (A,true),ai, in)} }.
15 Parallel Allocation of the Distributed Software The production P 7, which allocates a new stub, has the follo-wing embedding transformation: C 7 = { ( (ai,in, v L ), {(I,(A,true),ai, in), (VE, (A,true),ae, in)} }. We assume that attributes of virtual nodes VI and EV unambiguously bind them with nodes E and I inside their local allocation graphs, so any modification of VIàE or IàVE edges can be made in cooperation of the both allocators. 5. Conclusions A distribution (and a partial replication) of the information concerning the way of allocation of the software components into a global computer network is necessary with respect to improvement of allocation efficiency and system reliability. The example of formal description in such a situation, presented in the paper, seems to be specially interesting in context of an increasing complexity of software and hardware levels. Using graph transformation to support online control of software allocation leads us to the question of the computational complexity of the tool supporting the solution. The aednlc graph grammar has linear computational complexity of derivation of next allocation graph, considered here as local graphs, depending on the number of nodes in the (local) graph (d p ). The introduced protocol depends linearly on the number of local graphs (k). If we denote n=max(k,d 1,d 2, d k ) then the final complexity is linear with respect of n (i.e. O(n)). Let us note that a dynamically developed infrastructure of heterogeneous networks increases the influence of parameter k on a final system effectiveness. The usefulness of the aednlc graph in the following applications has been presented: for supporting of the agents migration in [4], and for the distributed adaptive design in [13]. One of the primary requirements for the analyzed allocation construction is the capability of enforcing modularity in definition of the allocation behavior [24]. Group concept [12, 17] allows us to represent part of a distributed system as one complex object distributed over many computing nodes. The internal group structure is described by IE graph, so during its allocation we need to parse this graph. Parsing in aednlc graph grammar has O(d 2 ) computational complexity, so in this case the allocation has also polynomial computational complexity. We outline here the polynomial complexity of parsing, membership and derivation algorithms in the proposed graph transformation scheme, because of well known computational complexity problems in most of graph transformation systems. This is the main reason why very elegant DIST(GRAPH) notion [22, 23] based on algebraic (push-out) approach is used only to specification of the distributed system behavior. Moreover, the whole graphs structure (network and local graphs) is maintained in one place, what
16 336 Leszek Kotulski can create both efficiency and reliability problems during the allocation of the software in WANs. The online reaction on the external events is not new (see GRACE (Kreowski at all 2001) but it should be noted that introduced in the paper cooperation of DENV (described as finite state automata with some synchronization rules) with events (represented by request sent as a message) enable describe these cooperation in a distributed manner. Finally, it can note that, the presented solution can be used to solve other problems, which can be described as an intensive local graphs transformation and coordination of local graph consistency made from time to time. Such a computation model appears in pattern recognition and distributed data mining. References [1] APM 1991: ANSAware Release 3.0 Reference Manual. Architecture Projects Management Ltd, Poseidon House, Castle Park, Cambridge [2] Baldan P., Corradini A., Ehrig H., Löwe M., Montanari U., Rossi F., Concurrent Semantics of Algebraic Graph Transformations. In: Ehrig, Kreowski, Montanari & Rozenberg (Eds), Handbook of Graph Transformation, vol. 3, 1999, Word Scientific. [3] Bardohl R., Taentzer G., Minas M., Schürr A., Application of graph transformation to visual Language. In: Ehrig, Engels, Kreowski & Rozenberg (Eds), Handbook of Graph Transformation, vol. 2, 1999, Word Scientific. [4] Ehrig H., Heckel R., Korff M., Löwe M., Ribeiro R., Wagner A., Corrardini A., Algebraic Approaches to Graph Transformation II: Single Pushout and Comparison with Double Pushout Approach. In: G. Rozenberg (Eds), Handbook of Graph Transformation, vol. 1, 1997, Word Scientific. [5] Engelfriet J., Rozenberg G., Graph grammars based on node rewriting: an introduction to NLC graph grammars. LNCS, 532 (1991), [6] Flasiñski M., Characteristic of ednlc-graph Grammars for Syntactic Pattern Recognition. Computer Vision, Graphics and Image Processing, vol. 42, 1989, [7] Flasiñski M., On the Parsing of Deterministic Graph Languages for Syntactic Pattern Recognition. Pattern Recognition, vol. 26, 1993, [8] Flasiñski M., Power Properties of NCL Graph Grammars with a Polynomial Membership Problem. Theoretical Computer Science, vol. 201, 1998, [9] Heckel R., Küster J., Taentzer G., Confluence of Typed Attributed Graph Transformation Systems. In: Corradini, Ehrih, Kreowski & Rozenberg (Eds.), 1 st Int. Conference, ICGT 2002, Barcelona, Spain, Springer LNCS 2505, [10] Janssens D., Rozenberg G., Verraedt R., On Sequential and Parallel Node-rewriting Graph Grammars. Computer Graphics and Image Processing, vol. 18, 1982, [11] Kotulski L., Flasiñski M., On the Use of Graph Grammars for the Control of a Distributed Software Allocation. The Computer Journal, vol. 35, 1992, A167 A175. [12] Kotulski L., Jurek J., Moczurad W., Object-Oriented Programming in the Large Using Group Concept. In: Computer Systems and Software Engineering 6th Annual European Conference, Hague 1992, [13] Kotulski L., Strug B., Distributed Adaptive Design with Hierarchical Autonomous Graph Transformation Systems. ICCS 2007, LNCS 4488, Beijing(China), [14] Kotulski L., Supporting Software Agents by the Graph Transformation Systems. V.L. Alexandrow et al (eds), ICCS 2006, LNCS 3993, Reading (UK),
17 Parallel Allocation of the Distributed Software [15] Kotulski L., Model systemu wspomagania generacji oprogramowania wspó³bie nego w œrodowisku rozproszonym za pomoc¹ gramatyk grafowych. Postdoctorals Lecturing Qualifications, Jagiellonian University Press, 2000, ISBN [16] Kreowski H.-J., Busatto G., Kluske S., GRACE as a unifying approach to graph-transformation- -based specification. Electronic Notes in Theoretical Computer science vol. 44, no 4, [17] Magee J., Kramer J., Sloman M., The Conic Support Environment for Distributed System. In: Distributed Operating System Theory and Practice, [18] Microsoft, Distributed Component Object Model Protocol DCOM/1.0 (MSDN Library, Specifications). [19] NATO ASI Series F, 28. [20] OMG 2004: Common Object Request Broker Architecture (CORBA/IIOP), , version 3.0. [21] OMG 2007: Unified Modeling Language. v [22] Taentzer G., Koch M., Fisher I., Volle V., Attributed Graph Transformation with Application to Visual Design of Distributed Systems. In: Ehrig, Kreowski, Montanari & Rozenberg (Eds), Handbook of Graph Transformation, vol. 3, 1999a, Word Scientific. [23] Taentzer G., Distributed Graphs and Graph Transformation, Applied Categorical Structures. Special Issue on Graph Transformation, vol. 7, No. 4, 1999b. [24] Zambonelli F., How to achieve Modularity in Distributed Object Allocation. ACM SIGPLAN Notice, vol. 32(6), 1997,
Business Process- and Graph Grammar-Based Approach to ERP System Modelling
JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 20 No. 1 (2012), pp. 7-21 Business Process- and Graph Grammar-Based Approach to ERP System Modelling Mariusz Flasiński, Janusz Jurek Jagiellonian University IT
Graph Transformation in a Nutshell
Electronic Notes in Theoretical Computer Science 148 (2006) 187 198 www.elsevier.com/locate/entcs Graph Transformation in a Nutshell Reiko Heckel 1 Department of Computer Science University of Leicester,
A Static Analysis Technique for Graph Transformation Systems
A Static Analysis Technique for Graph Transformation Systems Paolo Baldan, Andrea Corradini, and Barbara König Dipartimento di Informatica, Università di Pisa, Italia {baldan,andrea,koenigb}@di.unipi.it
Graph Transformation in a Nutshell
Graph Transformation in a Nutshell Reiko Heckel Universität Dortmund, Germany (on leave from Paderborn) [email protected] Abstract. Even sophisticated techniques start out from simple ideas. Later, in reply
From Workflow Design Patterns to Logical Specifications
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software
Object Oriented Programming. Risk Management
Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
USAGE OF BUSINESS RULES IN SUPPLY CHAIN MANAGEMENT
TOTAL LOGISTIC MANAGEMENT No. 2 2009 PP. 5 13 Bartłomiej GAWEŁ, Anna PILCH USAGE OF BUSINESS RULES IN SUPPLY CHAIN MANAGEMENT Abstract: The growth of efficiency in supply chain management depends on the
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams
Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Position Paper Ulrich A. Nickel, Robert Wagner University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, wag25]@uni-paderborn.de
Modeling BPMN Diagrams within XTT2 Framework. A Critical Analysis**
AUTOMATYKA 2011 Tom 15 Zeszyt 2 Antoni Ligêza*, Tomasz Maœlanka*, Krzysztof Kluza*, Grzegorz Jacek Nalepa* Modeling BPMN Diagrams within XTT2 Framework. A Critical Analysis** 1. Introduction Design, analysis
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets
9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)
A Scala DSL for Rete-based Runtime Verification
A Scala DSL for Rete-based Runtime Verification Klaus Havelund Jet Propulsion Laboratory California Institute of Technology, California, USA Abstract. Runtime verification (RV) consists in part of checking
Testing mobile computing applications: toward a scenario language and tools
Sixth International Workshop on Dynamic Analysis (WODA), 21 July 2008 Testing mobile computing applications: toward a scenario language and tools Minh Duc Nguyen, Hélène Waeselynck, Nicolas Rivière Mobile
Model-Based Development of Web Applications Using Graphical Reaction Rules
Model-Based Development of Web Applications Using Graphical Reaction Rules Reiko Heckel and Marc Lohmann Faculty of Computer Science, Electrical Engineering and Mathematics University of Paderborn D 33098
Teaching Object-Oriented Concepts with Eclipse
Teaching Object-Oriented Concepts with Eclipse Matthias Meyer, Lothar Wendehals Software Engineering Group Department of Computer Science University of Paderborn Warburger Straße 100 33098 Paderborn, Germany
A Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK [email protected] Abstract. Contracts have proved a powerful concept
Challenges and Opportunities for formal specifications in Service Oriented Architectures
ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute
Security Analysis of Dynamic Infrastructure Clouds
Security Analysis of Dynamic Infrastructure Clouds Sören Bleikertz 1, Thomas Groß 2, and Sebastian Mödersheim 3 1 IBM Research - Zurich 2 University of Newcastle upon Tyne 3 DTU Informatics 1 Introduction
Comparison of Standard, Integrated and Multimedia Information System (IS) with Solutions
87 «..» 004:378.1 847, 2009,.87-97 Integrated Environment for Software Development and Analysis L. Globa, T. Kot, D. Lysenko National Technical University of Ukraine, Information Telecommunication Networks
School of Computer Science
School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level
A Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Model Transformation by Graph Transformation: A Comparative Study
Model Transformation by Graph Transformation: A Comparative Study Gabriele Taentzer 1, Karsten Ehrig 1, Esther Guerra 2, Juan de Lara 3, Laszlo Lengyel 4, Tihamer Levendovszky 4, Ulrike Prange 1, Daniel
Unified Language for Network Security Policy Implementation
Unified Language for Network Security Policy Implementation Dmitry Chernyavskiy Information Security Faculty National Research Nuclear University MEPhI Moscow, Russia [email protected] Natalia Miloslavskaya
NP-Completeness and Cook s Theorem
NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:
Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha
Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry
MEng, BSc Applied Computer Science
School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions
Enterprise Integration: operational models of business processes and workflow systems *
Enterprise Integration: operational models of business processes and workflow systems. 1 Enterprise Integration: operational models of business processes and workflow systems * G.Bruno 1, C.Reyneri 2 and
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Introduction to Modelling Embedded Systems with Alvis
AUTOMATYKA 2011 Tom 15 Zeszyt 2 Marcin Szpyrka*, Piotr Matyasik*, Rafa³ Mrówka*, Wojciech Witalec*, Jaros³aw Baniewicz**, Leszek Kotulski* Introduction to Modelling Embedded Systems with Alvis 1. Introduction
SECTION 0.6: POLYNOMIAL, RATIONAL, AND ALGEBRAIC EXPRESSIONS
(Section 0.6: Polynomial, Rational, and Algebraic Expressions) 0.6.1 SECTION 0.6: POLYNOMIAL, RATIONAL, AND ALGEBRAIC EXPRESSIONS LEARNING OBJECTIVES Be able to identify polynomial, rational, and algebraic
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
Process Modeling using BPMN 2.0
Process Modeling using BPMN 2.0 This chapter provides a brief overview of Business Process Modeling Notation (BPMN) concepts with particular emphasis on the BPMN 2.0 additions. In addition, it describes
ENRICHED CATEGORIES AND THE FLOYD-WARSHALL CONNECTION Vaughan Pratt Computer Science Dept. Stanford University April, 1989
ENRICHED CATEGORIES AND THE FLOYD-WARSHALL CONNECTION Vaughan Pratt Computer Science Dept. Stanford University April, 1989 Abstract We give a correspondence between enriched categories and the Gauss-Kleene-Floyd-Warshall
Omega Automata: Minimization and Learning 1
Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular
MEng, BSc Computer Science with Artificial Intelligence
School of Computing FACULTY OF ENGINEERING MEng, BSc Computer Science with Artificial Intelligence Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give
JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers
JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers Technology White Paper JStatCom Engineering, www.jstatcom.com by Markus Krätzig, June 4, 2007 Abstract JStatCom is a software framework
STRATEGIES ON SOFTWARE INTEGRATION
STRATEGIES ON SOFTWARE INTEGRATION Cornelia Paulina Botezatu and George Căruţaşu Faculty of Computer Science for Business Management Romanian-American University, Bucharest, Romania ABSTRACT The strategy
University of Ostrava. Reasoning in Description Logic with Semantic Tableau Binary Trees
University of Ostrava Institute for Research and Applications of Fuzzy Modeling Reasoning in Description Logic with Semantic Tableau Binary Trees Alena Lukasová Research report No. 63 2005 Submitted/to
Using UML Part One Structural Modeling Diagrams
UML Tutorials Using UML Part One Structural Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real
Structural Detection of Deadlocks in Business Process Models
Structural Detection of Deadlocks in Business Process Models Ahmed Awad and Frank Puhlmann Business Process Technology Group Hasso Plattner Institut University of Potsdam, Germany (ahmed.awad,frank.puhlmann)@hpi.uni-potsdam.de
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
Division of Mathematical Sciences
Division of Mathematical Sciences Chair: Mohammad Ladan, Ph.D. The Division of Mathematical Sciences at Haigazian University includes Computer Science and Mathematics. The Bachelor of Science (B.S.) degree
TD 271 Rev.1 (PLEN/15)
INTERNATIONAL TELECOMMUNICATION UNION STUDY GROUP 15 TELECOMMUNICATION STANDARDIZATION SECTOR STUDY PERIOD 2009-2012 English only Original: English Question(s): 12/15 Geneva, 31 May - 11 June 2010 Source:
[1] http://en.wikipedia.org/wiki/first-mover_advantage [2] http://www.acunote.com
-Gene Sher Software Development Processes: Those in engineering and science will sooner or later either be members of teams solving some large project, or be managing teams solving some large project.
Modeling Guidelines Manual
Modeling Guidelines Manual [Insert company name here] July 2014 Author: John Doe [email protected] Page 1 of 22 Table of Contents 1. Introduction... 3 2. Business Process Management (BPM)... 4 2.1.
Distributed Database for Environmental Data Integration
Distributed Database for Environmental Data Integration A. Amato', V. Di Lecce2, and V. Piuri 3 II Engineering Faculty of Politecnico di Bari - Italy 2 DIASS, Politecnico di Bari, Italy 3Dept Information
not necessarily strictly sequential feedback loops exist, i.e. may need to revisit earlier stages during a later stage
Database Design Process there are six stages in the design of a database: 1. requirement analysis 2. conceptual database design 3. choice of the DBMS 4. data model mapping 5. physical design 6. implementation
2 SYSTEM DESCRIPTION TECHNIQUES
2 SYSTEM DESCRIPTION TECHNIQUES 2.1 INTRODUCTION Graphical representation of any process is always better and more meaningful than its representation in words. Moreover, it is very difficult to arrange
How To Understand The Concept Of A Distributed System
Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz [email protected], [email protected] Institute of Control and Computation Engineering Warsaw University of
Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications
Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Layered Approach to Development of OO War Game Models Using DEVS Framework
Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701
IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2
Designing the SRT control software: Notes to the UML schemes Andrea Orlati 1 Simona Righini 2 1 - I.N.A.F. Istituto di Radioastronomia. 2 Dip. Astronomia - Università degli Studi di Bologna. Dicembre 2008
Competitive Analysis of On line Randomized Call Control in Cellular Networks
Competitive Analysis of On line Randomized Call Control in Cellular Networks Ioannis Caragiannis Christos Kaklamanis Evi Papaioannou Abstract In this paper we address an important communication issue arising
Mapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language
Mapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language Rogerio Atem de Carvalho, Fernando Luiz de Carvalho e Silva, Rodrigo Soares Manhaes Emails: [email protected],
PIE. Internal Structure
PIE Internal Structure PIE Composition PIE (Processware Integration Environment) is a set of programs for integration of heterogeneous applications. The final set depends on the purposes of a solution
Artificial Intelligence
Artificial Intelligence ICS461 Fall 2010 1 Lecture #12B More Representations Outline Logics Rules Frames Nancy E. Reed [email protected] 2 Representation Agents deal with knowledge (data) Facts (believe
Lecture 10: Regression Trees
Lecture 10: Regression Trees 36-350: Data Mining October 11, 2006 Reading: Textbook, sections 5.2 and 10.5. The next three lectures are going to be about a particular kind of nonlinear predictive model,
Kirsten Sinclair SyntheSys Systems Engineers
Kirsten Sinclair SyntheSys Systems Engineers Kirsten Sinclair SyntheSys Systems Engineers Spicing-up IBM s Enterprise Architecture tools with Petri Nets On Today s Menu Appetiser: Background Starter: Use
Turing Machines: An Introduction
CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,
Computer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
Object-Oriented Software Construction
1 Object-Oriented Software Construction Bertrand Meyer 2 Lecture 24: Concurrent O-O principles The goal 3 Provide a practical and general foundation for concurrent and distributed programming, ensuring
Design, Modelling and Analysis of a Workflow Reconfiguration
Design, Modelling and Analysis of a Workflow Reconfiguration Manuel Mazzara 1, Faisal Abouzaid 2, Nicola Dragoni 3, and Anirban Bhattacharyya 1 1 Newcastle University, Newcastle upon Tyne, UK {Manuel.Mazzara,
VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University
VISUAL ALGEBRA FOR COLLEGE STUDENTS Laurie J. Burton Western Oregon University VISUAL ALGEBRA FOR COLLEGE STUDENTS TABLE OF CONTENTS Welcome and Introduction 1 Chapter 1: INTEGERS AND INTEGER OPERATIONS
How To Get A Computer Science Degree At Appalachian State
118 Master of Science in Computer Science Department of Computer Science College of Arts and Sciences James T. Wilkes, Chair and Professor Ph.D., Duke University [email protected] http://www.cs.appstate.edu/
Survey and remarks on Viro s definition of Khovanov homology
RIMS Kôkyûroku Bessatsu B39 (203), 009 09 Survey and remarks on Viro s definition of Khovanov homology By Noboru Ito Abstract This paper reviews and offers remarks upon Viro s definition of the Khovanov
COCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
Compact Representations and Approximations for Compuation in Games
Compact Representations and Approximations for Compuation in Games Kevin Swersky April 23, 2008 Abstract Compact representations have recently been developed as a way of both encoding the strategic interactions
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,
B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling
A) Recovery Management in Quicksilver 1) What role does the Transaction manager play in the recovery management? It manages commit coordination by communicating with servers at its own node and with transaction
LONDON SCHOOL OF COMMERCE. Programme Specification for the. Cardiff Metropolitan University. BSc (Hons) in Computing
LONDON SCHOOL OF COMMERCE Programme Specification for the Cardiff Metropolitan University BSc (Hons) in Computing Contents Programme Aims and Objectives Programme Structure Programme Outcomes Mapping of
Data quality in Accounting Information Systems
Data quality in Accounting Information Systems Comparing Several Data Mining Techniques Erjon Zoto Department of Statistics and Applied Informatics Faculty of Economy, University of Tirana Tirana, Albania
Datavetenskapligt Program (kandidat) Computer Science Programme (master)
Datavetenskapligt Program (kandidat) Computer Science Programme (master) Wolfgang Ahrendt Director Datavetenskap (BSc), Computer Science (MSc) D&IT Göteborg University, 30/01/2009 Part I D&IT: Computer
Markov random fields and Gibbs measures
Chapter Markov random fields and Gibbs measures 1. Conditional independence Suppose X i is a random element of (X i, B i ), for i = 1, 2, 3, with all X i defined on the same probability space (.F, P).
Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University
Sections 9.1 & 9.2 Corba & DCOM John P. Daigle Department of Computer Science Georgia State University 05.16.06 Outline 1 Introduction 2 CORBA Overview Communication Processes Naming Other Design Concerns
ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS
ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS John A. Beachy Northern Illinois University 2014 ii J.A.Beachy This is a supplement to Abstract Algebra, Third Edition by John A. Beachy and William D. Blair
Process Modelling from Insurance Event Log
Process Modelling from Insurance Event Log P.V. Kumaraguru Research scholar, Dr.M.G.R Educational and Research Institute University Chennai- 600 095 India Dr. S.P. Rajagopalan Professor Emeritus, Dr. M.G.R
UML Representation Proposal for XTT Rule Design Method
UML Representation Proposal for XTT Rule Design Method Grzegorz J. Nalepa 1 and Krzysztof Kluza 1 Institute of Automatics, AGH University of Science and Technology, Al. Mickiewicza 30, 30-059 Kraków, Poland
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005... 1
SPARQL: Un Lenguaje de Consulta para la Web
SPARQL: Un Lenguaje de Consulta para la Web Semántica Marcelo Arenas Pontificia Universidad Católica de Chile y Centro de Investigación de la Web M. Arenas SPARQL: Un Lenguaje de Consulta para la Web Semántica
Object-Oriented Software Specification in Programming Language Design and Implementation
Object-Oriented Software Specification in Programming Language Design and Implementation Barrett R. Bryant and Viswanathan Vaidyanathan Department of Computer and Information Sciences University of Alabama
Why? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
