A CSP model with flexible parallel termination semantics Abstract. In the original failure-divergence semantic model for Communicating Sequential Processes (CSP), the incomplete treatment of successful process termination, and in particular parallel termination, permitted unnatural processes to be defined. In response to these problems, a number of different solutions have been proposed by various authors since the original failure-divergence model was developed by Hoare, Brookes and Roscoe. This paper presents an alternative solution to this problem, which is both closer to the original semantic model and provides greater flexibility over the type of parallel termination semantics available in CSP. The aim of this paper is to provide an improved and flexible treatment of successful termination in the language and failure-divergence semantic model of Communicating Sequential Processes (CSP), as presented in [BR85, Hoa85] . By improved we mean solving the problem of the mismatch between the intuitive meaning of the notion of the successful termination of a process and how this notion is represented in the failure-divergence semantic model. And by flexible we mean the introduction of different types of parallel termination semantics that can be used in the language of CSP.. There is a need to improve the semantic treatment of successful termination in the original model as we shall illustrate presently. The need for greater flexibility of the type of parallel termination semantics available in CSP is due to a desire to be able to model and design parallel systems in different environments. For example, in a distributed system it may be impractical or inefficient to synchronize the termination of processes, whereas asynchronous termination would be more appropriate. However, in a multiprocessor machine synchronous termination would be appropriate. In other environments, for example competing information searches on the web, it may be acceptable to only require one of a number of processes to terminate, rather than insist on all processes terminating. We believe that by providing parallel operators with different termination semantics, it will provide a more natural way of modeling and designing these types of systems.. We intend to achieve our overall aim of providing an improved and flexible treatment of the successful termination in CSP, in three main stages:. • modify the semantic model for CSP by the addition of a new process axiom, which captures our notion of successful termination of a process; and. • show that the non-parallel features of the language (with minor restrictions) satisfy the new termination axiom; and. • finally define new parallel operators with different termination semantics to replace the existing ones, ensuring that they satisfy the new termination axiom.. We believe a satisfactory solution can be provided which is both closer to the original semantics of CSP and provides more flexibility in the choice of parallel termination semantics available than is provided by the existing solutions. The original solution by Hoare [Hoa85] is only a partial solution at best and clearly was in need of improvement. Tej and Wolff's [TW97] solution solves the general termination problems, but only provides parallel operators with synchronous termination semantics. Roscoe's [Ros98] solution is clearly the most complete within the failure-divergence approach, but again only provides parallel operators with one form of termination semantics, distributed (asynchronous) termination in contrast to Tej and Wolff. Hoare and He [HJ98] solve the termination problems by using their UTP framework and dispensing with the termination event and replacing its semantic role with the observation variables ok and wait . As a consequence, the definition of their versions of the CSP parallel operators use synchronous termination semantics and require both processes to terminate. We believe that the solution to the termination problem we shall present in this paper is both simpler, in the sense that it requires fewer modifications to the original semantics, and provides greater flexibility in the choice of parallel operators than the two main solutions of Roscoe [Ros98] and Hoare and He [HJ98] outlined above. In this paper, we identified a problem with the treatment of parallel termination in the original semantics of CSP. Our solution to the problem entailed defining a modified failure-divergence model N T for CSP, by the addition of a termination axiom to the original model. We then defined a new dialect CSP T that was compatible with this new model. In particular, CSP T included three new generalized parallel operators with race, asynchronous and synchronous termination semantics.. Several practical issues arise from the introduction of three generalized parallel operator each with a different form of termination semantics into CSP. In particular, are they applicable in practice due to implementation difficulties and determining which form of operator to use in a particular context.. We believe that for the vast majority of systems that asynchronous termination is probably the most appropriate and efficient, followed by synchronous termination which is likely to be appropriate for fewer types of systems. However, in the case of race termination semantics it is likely to be considered too inefficient in the vast majority of situations due to the overhead of dealing with the non-terminated processes.. An implementation of P\\ Q would have to decide how to "ignore" the non-terminated process. For example, it could either terminate it immediately, delay its termination until convenient or allow it to run to completion and discard its results. If it is not terminated immediately then an implementation would be obliged to ensure that it was "ignored" and did not interact with the system. In practice, this is likely to require a rather complex and/or messy runtime procedure to deal with the necessary forced termination of the non-terminated processes. Examples of situations where this overhead associated with race termination might be acceptable or even desirable are when there is a need to find a solution as quickly as possible via competing processes or when the termination of the redundant losing processes allows their "freed up" resources to be re-allocated sooner and thus more efficient use made of them. This scenario might arise when performing repeated searches of large amounts of data, split between several processes. Here, as soon as the first search process completed the others would be terminated and the freed resources could be immediately re-used for the next search. This would seem more efficient than waiting for all processes to finish before starting the next search.. The problem of how to resolve the choice about which one of the three forms of parallel termination to use would, we believe, largely depend on the context. For example, the decision may be based on which would be the most efficient or simplest to implement in a given context, e.g., asynchronous in a distributed system, synchronized in a shared memory system and race in web based searching. Alternatively, the decision might be based on requiring the operators to satisfy a particular collection of healthiness conditions such as those of UTP, in which case since synchronous and asynchronous termination are indistinguishable either would be satisfactory. It is hoped that the previous discussion regarding the types of systems the three operators are most appropriate for, in particular that with race termination semantics, would help to alleviate any uncertainty.. Finally, we believe the aims of the paper have been met, by providing a precise definition of the successful termination of a process, and solving the problem of the mismatch between the intuitive meaning of successful termination and how this notion was represented in the original failure-divergence semantic model. In addition, the aim of providing flexibility in the types of parallel termination semantics available has been achieved by the introduction of the three new parallel operators.

O B O O O O B O O O O O O O O O O O O B O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O


Visible and controllable RFID tags Radio frequency identification (RFID) tags containing privacy-sensitive information are increasingly embedded into personal documents (e.g., passports and driver's licenses). The problem is that people are often unaware of the security and privacy risks associated with RFID, likely because the technology remains largely invisible and uncontrollable for the individual. To mitigate this problem, we developed a collection of novel yet simple and inexpensive alternative tag designs to make RFID visible and controllable. This video and demonstration illustrates these designs. For awareness, our tags provide visual, audible, or tactile feedback when in the range of an RFID reader. For control, people can allow or disallow access to the information on the tag by how they touch, orient, move, press, or illuminate the tag (for example, Figure 1 shows a tilt-sensitive RFID tag). Keywords RFID technology is inevitably intervening in our everyday life. We show how there is value in rethinking characteristics of this technology, and exploring a variety of alternative tag designs. These custom built RFID tags made it possible to make RFID activity visible. They also provide people control about the tag-reader activityexplicitly by pressing a button or touching the tag, or implicitly by activating or deactivating the tag in response to light, orientation, or proximity.. These advanced RFID tags give people control over the activity of a technology that is usually experienced only passively and often occurs invisibly. The combination of both feedback and control mechanisms into the design of RFID tags gives individuals the means to assert some sort of agency over this ubiquitous technology.. On/off switch to permanently activate or deactivate a tag.. Pressure sensitive tag: hard pressure on a specific region is necessary to activate the RFID communication.. Tilt-sensitive tag: activated when in a horizontal position and deactivated otherwise.. Variable detection range tag: by moving the slider, a person can interactively change the antenna length which affects the maximum reading distance of the tag. A pushbutton allows a person to temporarily activate the tag as long as the button is pressed.. Touch-sensitive tag: activated when a person touches the metal contacts with their fingers.. Light-sensitive tag: activated in normal daylight, deactivated in darkness.. Proximity-dependent disclosure tag: varies the information transmitted with the actual distance between the reader and the tag. Previous research has proposed alternative methods to make the usage of RFID more secure. One RFID security approach lets a person authorize individual reading access to a RFID tag [16] , usually via an auxiliary device that allows the person to allow specific readers to access the tag information [12] .

O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O B O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O B O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O


Recognition of Partially Occluded and Deformed Binary Objects A method dealing with recognition of partially occluded and affine transformed binary objects is presented. The method is designed for objects with smooth curved boundary. It divides an object into affineinvariant parts and uses modified radial vector for the parts description. Object recognition is performed via string matching in the space of radial vectors. Recognition of objects under partial occlusions and deformations caused by imaging geometry is one of the most difficult problems in computer vision. It is required always when analyzing 2-D images of a 3-D scene. Although many methods trying to solve this task have been published, it still remains open. Clearly, there is no universal algorithm which would be "optimal" in all cases. Different methods should be designed for different class of objects and for different groups of assumed deformations. In this paper we assume the objects are deformed by an unknown affine deformation. This assumption approximates real photos with a week perspective deformation.. We introduce a method developed for the recognition of smooth curved objects. First, the shape is divided into parts which are defined by means of inflection points of the object boundary. Then the shape of each part is described by a special kind of radial vector. Finally, the parameters of the affine deformation are estimated and classification is performed by string matching in the space of radial vectors. The performance of the method is demonstrated by experiments. We presented a method for recognition of partially occluded binary objects deformed by affine transformation. The method uses local affine-invariant description of object boundary by means inflection points and radial vectors. When working with digital boundary, the major limitation of the method is stability of inflection points. As the experiments demonstrated, if the curve has "prominent" inflection points, they are usually very stable under affine transformation and the method works perfectly. On the other hand, in case of obscure boundary the inflection points may be detected at different positions depending on the particular transformation and/or occlusion and the recognition may fail. Our experiment proved a good discrimination power of the method on a given test set. We discovered that if the maximum number of matched boundary parts between the unknown object and the database is greater than 2, it always indicated a correct match. Thus, this threshold can be recommended for prospective real experiments too.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


BIJECTIVE COUNTING OF INVOLUTIVE BAXTER PERMUTATIONS We enumerate bijectively the family of involutive Baxter permutations according to various parameters; in particular we obtain an elementary proof that the number of involutive Baxter permutations of size 2n with no fixed points is 3·2 n−1 (n+1)(n+2)`2 n n´, a formula originally discovered by M. Bousquet-Mélou using generating functions. The same coefficient also enumerates planar maps with n edges, endowed with an acyclic orientation having a unique source, and such that the source and sinks are all incident to the outer face. Baxter permutations, named after Glen Baxter [2] who introduced them in an analysis context, are pattern-avoiding permutations (precisely the forbidden patterns are 2 − 41 − 3 and 3 − 14 − 2) with many nice combinatorial properties [17, 7, 16, 11] . Their counting coefficients appear recurrently in combinatorics; the so-called Baxter number (the number of Baxter permutations of size n) B n = 2 n(n + 1) 2 n−1 r=0 n + 1 r n + 1 r + 1 n + 1 r + 2 also counts plane bipolar orientations with n edges [3] , certain rectangulations with n points on the diagonal [12, 1] , certain Young tableaux with parity constraints [6] , and so on. Subfamilies of Baxter permutations have also been considered: alternating and doubly alternating Baxter permutations have been enumerated in [8, 10, 14] , and Baxter permutations of size n avoiding the pattern 2 − 4 − 1 − 3 have been shown to be in bijection with rooted non-separable maps with n + 1 edges [9, 4] (therefore there are 2(3n+3)! (2n+3)!(n+2)! such permutations of size n). A permutation in S n is classically drawn as an n × n grid G of unit squares, with exactly one boxed square in each row and in each column. With this representation in mind, it is known (see e.g. [4] ) that the set of Baxter permutations of size n is globally invariant by any of the 8 transformations of the dihedral group acting on the grid G. So it is a natural problem to try to count how many Baxter permutations are fixed by a given transformation of the dihedral group. In a previous paper [12] the case of the half-turn rotation was solved (whereas the case of rotations of order 4 is open); the idea is that a Baxter permutation can be encoded by a nonintersecting triple of paths, in a way that commutes with the half-turn transformation.. In this note we focus on the mirror reflection according to a diagonal, that is, we count involutive Baxter permutations. A difficulty is that the encoding of Baxter permutations by triples of paths does not commute in any sense with the diagonal mirror transformation (there is no nice transfer of mirror symmetry from the Baxter permutation to the associated triple of paths). An important ingredient here is the recent article [4] , in which the authors establish a direct bijective correspondence between Baxter permutations and so-called plane bipolar orientations, which are acyclic orientations on embedded planar graphs (i.e., planar maps) with a unique source and a unique sink both lying in the outer face. Thanks to this correspondence, the successive combinatorial manipulations to encode involutive Baxter permutations can be carried out on (oriented) planar maps, which we find convenient to handle due to their more geometric flavor. As a consequence of our bijective encoding we obtain:. • a closed-form multivariate formula (in Theorem 2) for the number of involutive Baxter permutations according to the numbers of elements, descents (which are of two types, either crossing or not crossing the diagonal {x = y} in the diagrammatic representation), and fixed points. • a closed-form univariate formula (in Theorem 6) for the number b n of involutive fixed-point free Baxter permutations of 2n elements: b n = 3 · 2 n−1 (n + 1)(n + 2) 2n n .. Note that b n has surprisingly a simpler (summation-free) expression than the Baxter number B n . The univariate formula for b n (already announced in [4] ) and a multivariate formula restricted to fixed-point free Baxter permutations have been discovered by M. Bousquet-Mélou [5] using generating functions and the so-called "obstinate" kernel method. As follows from the correspondence with plane orientations (to be described in Section 2) the number b n also counts acyclic orientations on planar maps with n edges, a unique source, and all extremal vertices (source and sinks) lying in the outer face.. Outline. The main steps of our method are the following: (i) by a quotient-argument already outlined in [4] , interpret the plane bipolar orientations corresponding to involutive Baxter permutations as certain plane bipolar orientations with decorations at the corners and edges incident to the sink, (ii) adapt the known bijective encoding of plane bipolar orientations by non-intersecting triples of paths to take account of the decorations, (iii) count the obtained non-intersecting triples of paths using the Lindström-Gessel-Viennot lemma (for the multivariate formula) or similar principles with small adjustments (for the univariate formula).

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Average path length of binary decision diagrams Abstract-The traditional problem in binary decision diagrams (BDDs) has been to minimize the number of nodes since this reduces the memory needed to store the BDD. Recently, a new problem has emerged: minimizing the average path length (APL). APL is a measure of the time needed to evaluate the function by applying a sequence of variable values. It is of special significance when BDDs are used in simulation and design verification. A main result of this paper is that the APL for benchmark functions is typically much smaller than for random functions. That is, for the set of all functions, we show that the average APL is close to the maximum path length, whereas benchmark functions show a remarkably small APL. Surprisingly, however, typical functions do not achieve the absolute maximum APL. We show that the parity functions are unique in having that distinction. We show that the APL of a BDD can vary considerably with variable ordering. We derive the APL for various functions, including the AND, OR, threshold, Achilles' heel, and certain arithmetic functions. We show that the unate cascade functions uniquely achieve the absolute minimum APL. C ONSIDERABLE research has been devoted to the use of binary decision diagrams (BDDs) in logic design, dating back 40 years to Lee's [1] original paper. Most of this research followed from the seminal paper by Bryant [2] , who showed that a reduced ordered BDD (ROBDD) is a canonical representation of a logic function. The focus of the latter paper and many papers [2] , [3] , [4] , [5] that followed has been on minimizing the number of nodes. This is inspired by the memory needed to store the BDD, which can be large for practical circuits.. However, a different cost measure is also important. For each assignment of values to the variables of a function fðXÞ, there is a path from the root node to one of two terminal nodes, representing a value of fðXÞ. Summing this path length over all 2 n assignments and dividing by 2 n yields the average path length or APL of fðXÞ. In general, the APL depends on the order of the variables and we denote the minimum APL over all possible orderings as AP L fðXÞ . In logic simulation, the function realized is verified by applying (typically many) test vectors [7] , [8] , [9] . A BDD with a small APL can be evaluated quickly and is important in logic simulation applications. There are at least three papers that describe the minimization of the APL of BDDs [9] , [10] , [11] . Iguchi et al. [12] compare the APL for four different decision diagrams representing multioutput functions. Minimizing the APL of multivalued functions is discussed in [13] .. BDDs have been used in the design of pass transistor logic circuits [28] , [29] , [30] , [31] , which have the advantage of low power dissipation. In this case, there is the prospect of choosing an ordering with a small APL as this yields smaller delay. Also, in a logic synthesis involving functional decomposition, the paths in the BDD representing the function create don't care values from missing variables. In this case, minimizing the path length has the effect of increasing don't care values [32] , which, in turn, reduces circuit complexity.. APL has been important in other contexts. For example, Bell [14] has considered its use in decision trees for pattern recognition systems. In this application, one seeks to answer the fewest questions needed, on the average, to identify the object. APL is useful in the analysis of algorithms, where decision trees have been used to determine lower bounds on the complexity of sorting algorithms [15] . Applications also occur in databases [16] . Qin and Malik [17] consider APL in decision trees for the decoding logic for microprocessor instructions. For more information on research prior to 1982, the reader is referred to Moret [18] . For information on more recent research, the reader is referred to Murthy [19] . We address the following question:. Does the APL of a BDD of a logic function vary significantly enough with the variable ordering to merit a close examination?. In Fig. 1 , we show the BDD of the carry-out of a binary adder. Fig. 1a shows the circuit, which consists of b fulladders connected in a ripple-carry configuration. It is assumed there is a carry-in variable, c in . Fig. 1b shows the BDD for this function, where the variables are in descending order (most significant bits at the top), and Fig. 1c shows the BDD in which the variables are in ascending order (least significant bits at the top). Fig. 2 shows the distribution of path lengths for the two orderings for a b ¼ 16 bit adder. The pattern associated with the most significant bit at the top is a sawtooth because there are no paths of odd length. In this distribution, most paths are short, resulting in an APL of 4.0. The paths associated with the least significant bits at the top are long, resulting in a large APL, 25.0. Both orderings yield the same number of nodes. Thus, the APL of the carry-out function is strongly dependent on the variable ordering.. In this paper, we focus on reduced ordered binary decision diagrams (ROBDD), as proposed by Bryant [2] . As such, the order of the variables along all paths from the root node to a terminal node is the same (corresponding to the O of ROBDD). Further, each subfunction, as represented by an assignment of values to variables beginning at the root node, is represented by a unique node (corresponding to the R of ROBDD). As is common, we use BDD to abbreviate ROBDD.. In this paper, we do not discuss methods for minimizing the APL of BDDs. There are a number of approaches for doing this. One is to enumerate all orderings and to choose the one that produces the smallest APL. A more efficient approach is branch and bound [11] , which can be applied to functions with up to 25 variables. Both methods find the exact minimum. For functions on more variables, heuristic methods must be used. Two heuristics include a window permutation approach [10] and a dynamic variable reordering method [11] , [33] . This paper is organized as follows: In Section 2, we discuss specific functions. As far as we know, this is the first analysis of important functions with respect to the APL of their BDD. In Section 3, we analyze the average of the APL for classes of functions, including all functions and all symmetric functions. We show that these averages are near the maximum values. We show, however, that the set of symmetric threshold functions does not share this characteristic. In Section 4, we show that benchmark functions have a relatively small APL. Section 5 discusses conclusions. The reader interested in just the results has only to read the main part. For the reader interested in the details, we have provided proofs in the Appendix.

B I I O B I I O O O O B I I O O O O O O O O O O O O O O O O O O B O O O O O O O O B I I B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O B O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Event-based modeling and processing of digital media Capture, processing, and assimilation of digital media-based information such as video, images, or audio requires a unified framework within which signal processing techniques and data modeling and retrieval approaches can act and interact. In this paper we present the rudiments of such a framework based on the notion of "events". This framework serves the dual roles of a conceptual data model as well as a prescriptive model that defines the requirements for appropriate signal processing. Amongst the key advantages of this framework, lies the fact that it fundamentally brings together the traditionally diverse disciplines of databases and (various areas of) digital signal processing. In addition to the conceptual event-based framework, we present a physical implementation of the event model. Our implementation specifically targets the problem of processing, storage, and querying of multimedia information related to indoor grouporiented activities such as meetings. Such multimedia information may comprise of video, image, audio, and text-based data. We use this application context to illustrate many of the practical challenges that are encountered in this area, our solutions to them, and the open problems that require research across databases, computer vision, audio processing, and multimedia. Starting as a discipline that dealt with pragmatic problems related to storage and retrieval of data, Database research has evolved to deal with structure, organization, and effective use of data and the information they represent [20] . Its results are manifested through a multitude of database management systems that have become essential to business and scientific information [14] . At the basis of various database implementations lies the notion of a data model that can be thought of as an abstraction device through which a reasonable interpretation of the data can be obtained [20] . In this context, another area of research that has allied goals is Machine Vision where the ultimate objective is to create a model of the real world using image-based information [13] . In spite of this similarity, Database and Machine Vision research has traditionally evolved independent of each other. The urgency of exploring the intersection of these disciplines is motivated by an upsurge in sensing, processing, and storage capabilities that permeate applications as varied as homeland security and disaster response, (multi-sensor surveillance, biometrics, situation monitoring), life sciences (genomics, proteomics, molecular imaging), medicine (biomedical imaging, patient records), personal information (home videos, digital photographs), and enterprise (business activity monitoring, data warehouses, and data mining). Due to the different data modalities owing to the use of multiple types of sensors, prevalent in each of the aforementioned areas, it may be observed that the true challenges lie at in the intersection of database research and research in various types of digital signal processing, including but not limited to static (image) and non-static (video) processing, audio processing, text processing, as well as processing data from various other types of sensors. Towards this, under the rubric of multimedia research, a number of data models have been developed to address the structure and semantics of media data like images and video [4, 5, 8, 10] or sound [2] . Much of this research has typically focused on the development of powerful features to describe the corresponding media and the use of similarity functions to answer queries based on these features [16] . Such an approach simplifies the general multimedia database problem, because a database is assumed to contain only a specific type of media data [7] . However, emphasizing the semantic coherence between different media is essential to support the premise that multimedia or multimodal information capture provides a more complete picture than any of its constituent modalities considered in isolation.. We approach the problems associated with multimedia modeling from a fundamental perspective by seeking a general, semantically unifying concept around which multimedia data can be brought together. Our approach is motivated by the notion of an event as the underlying physical reality that generates the information captured using various media. This notion can therefore be used to unify multimedia data in a semantically relevant manner. Furthermore, our definition emphasizes the spatial and temporal characteristics of events. These characteristics are cardinal to information captured from the physical world and are essential for the functional and behavioral understanding of the data and underlying processes.. The rest of the paper is organized as follows: In Section 2 we describe the conceptual data model and present its implementation in the context of modeling multimedia data describing indoor group-oriented activities like meetings. Our implementation takes into account factors related to expressiveness and efficiency of the model. Examples illustrating query and retrieval of media data are also presented here. The signal processing challenges associated with event-based modeling of multimedia data in the contexts considered by us are reviewed in Section 3. Our solution to some of these problems is based on developing a semi-automated methodology that facilitates event detection and identification. Salient to this framework is the use of algorithmic approaches from computer Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. vision and audio processing to facilitate human annotation of media data. In Section 4 we present a system architecture for event-based processing of multiple media streams. The paper is concluded in Section 5 with a synopsis of our current work and a discussion on the various open research problems in this area. In this paper, we have presented our current research on developing a framework for unified modeling and processing of multimedia data. Our approach for bringing together distinct media in a semantically coherent manner is motivated by the notion of an event as the physical reality that underlies the information that is captured. Based on this, we develop a conceptual data model for multimedia information. Etudes of the model presented here, demonstrate its ability to support temporal and spatial reasoning on complex, dynamic information. The paper presents a physical implementation of this model directed towards storage and querying of multimedia data from indoor group settings such as meetings. Using this implementation we present various types of queries such a system can support as well as preliminary results on its scalability in real-world situation. We also describe a framework we have developed for semi-automatic event identification, processing, and annotation. This framework exploits the integration of various algorithmic techniques from computer vision, speech processing, and image processing by incorporating the human in the computational decision making loop.. Our results indicate a variety of problems that exist in this area and merit further research. For instance, in the broad context of signal processing, is it possible, in non ad-hoc manners, to bring together media dependent processing techniques (e.g. image processing, audio processing) to work in conjunction by aiding each other? Further study is also needed to identify the impact of "top-down" approaches such as the one proposed, on the traditional "bottom-up" processing common to disciplines like computer vision and audio processing. Research problems from a database perspective include, among others, researching system implementations for unified multimedia models, further investigations of the scalability of event-based modeling, and development of methodologies to quantitatively and qualitatively evaluate such unified indexing approaches.

O O O O O B I O O O O O O O O O O B O O B O O O B O O B I O O B O O B O O O O O O O B O O O O O O O B O O O O O O O B O O O B O O O B B O O O O O B O O O B O O B I O O O O O O B O O O O O O O O O O O O O O O O O O O B I O O O O O O B O O O B B O O B B O B O O O O O O B O O O B O O O O O O O O O O B O O O O B B B O O B O B O O B O O O O O B O O O O O O O O O O O O O O O O O B O O B I B O O B O O O O O O O O O O O B O B O B B B O O O O O O O O O B O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O B B O O O O O O O O O O O O O O O O B O O O O O O O B O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O B O O B O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B B O B O O O O O B I O O O O O O B O O B O B O B O O O O O B O O O O O O O O O O O O B B O O O B I O O O O O O O O O O O B O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O B B O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B B O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O B B O O O B O O B O O B B O O O O O O O B O O O O O O O O O O O B O O O O B O O B O O O O O B I O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O B O O O B O O O O O O B B O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O B B O B O O O O B O O O O O O O O O O O O O O O O B O O B B O O B O O B O O O B B O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O B O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O B I O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O B O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O


Probabilistic Packet Marking for Large-Scale IP Traceback Abstract-This paper presents an approach to IP traceback based on the probabilistic packet marking paradigm. Our approach, which we call randomize-and-link, uses large checksum cords to "link" message fragments in a way that is highly scalable, for the checksums serve both as associative addresses and data integrity verifiers. The main advantage of these checksum cords is that they spread the addresses of possible router messages across a spectrum that is too large for the attacker to easily create messages that collide with legitimate messages.Index Terms-Associate addresses, checksum cords, distributed denial of service (DDOS), IP, probabilistic packet marking, traceback.

B I I O O B B O O O O O O B B O O O B I I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B I I I I B B I I B


Robust

Object

Tracking

with

Online

Multiple

Instance

Learning

Abstract-In

this

paper,

we

address

the

problem

of

tracking

an

object

in

a

video

given

its

location

in

the

first

frame

and

no

other

information.

Recently,

a

class

of

tracking

techniques

called

"tracking

by

detection"

has

been

shown

to

give

promising

results

at

real-time

speeds.

These

methods

train

a

discriminative

classifier

in

an

online

manner

to

separate

the

object

from

the

background.

This

classifier

bootstraps

itself

by

using

the

current

tracker

state

to

extract

positive

and

negative

examples

from

the

current

frame.

Slight

inaccuracies

in

the

tracker

can

therefore

lead

to

incorrectly

labeled

training

examples,

which

degrade

the

classifier

and

can

cause

drift.

In

this

paper,

we

show

that

using

Multiple

Instance

Learning

(MIL)

instead

of

traditional

supervised

learning

avoids

these

problems

and

can

therefore

lead

to

a

more

robust

tracker

with

fewer

parameter

tweaks.

We

propose

a

novel

online

MIL

algorithm

for

object

tracking

that

achieves

superior

results

with

real-time

performance.

We

present

thorough

experimental

results

(both

qualitative

and

quantitative)

on

a

number

of

challenging

video

clips.

O

BJECT

tracking

is

a

well-studied

problem

in

computer

vision

and

has

many

practical

applications.

The

problem

and

its

difficulty

depend

on

several

factors,

such

as

the

amount

of

prior

knowledge

about

the

target

object

and

the

number

and

type

of

parameters

being

tracked

(e.g.,

location,

scale,

detailed

contour).

Although

there

has

been

some

success

with

building

trackers

for

specific

object

classes

(e.g.,

faces

humans

mice

rigid

objects

tracking

generic

objects

has

remained

challenging

because

an

object

can

drastically

change

appearance

when

deforming,

rotating

out

of

plane,

or

when

the

illumination

of

the

scene

changes..

A

typical

tracking

system

consists

of

three

components:

an

appearance

model,

which

can

evaluate

the

likelihood

that

the

object

of

interest

is

at

some

particular

location,

a

motion

model,

which

relates

the

locations

of

the

object

over

time,

and

a

search

strategy

for

finding

the

most

likely

location

in

the

current

frame.

The

contributions

of

this

paper

deal

with

the

first

of

these

three

components;

we

refer

the

reader

to

for

a

thorough

review

of

the

other

components.

Although

many

tracking

methods

employ

static

appearance

models

that

are

either

defined

manually

or

trained

using

only

the

first

frame

these

methods

are

often

unable

to

cope

with

significant

appearance

changes.

Such

challenges

are

particularly

difficult

when

there

is

limited

a

priori

knowledge

about

the

object

of

interest.

In

this

scenario,

it

has

been

shown

that

an

adaptive

appearance

model,

which

evolves

during

the

tracking

process

as

the

appearance

of

the

object

changes,

is

the

key

to

good

performance

Training

adaptive

appearance

models,

however,

is

itself

a

difficult

task,

with

many

questions

yet

to

be

answered.

Such

models

often

involve

many

parameters

that

must

be

tuned

to

get

good

performance

(e.g.,

"forgetting

factors"

that

control

how

fast

the

appearance

model

can

change),

and

can

suffer

from

drift

problems

when

an

object

undergoes

partial

occlusion..

In

this

paper,

we

focus

on

the

problem

of

tracking

an

arbitrary

object

with

no

prior

knowledge

other

than

its

location

in

the

first

video

frame

(sometimes

referred

to

as

"model-free"

tracking).

Our

goal

is

to

develop

a

more

robust

way

of

updating

an

adaptive

appearance

model;

we

would

like

our

system

to

be

able

to

handle

partial

occlusions

without

significant

drift

and

for

it

to

work

well

with

minimal

parameter

tuning.

To

do

this,

we

turn

to

a

discriminative

learning

paradigm

called

Multiple

Instance

Learning

(MIL)

that

can

handle

ambiguities

in

the

training

data.

This

technique

has

found

recent

success

in

other

computer

vision

areas,

such

as

object

detection

and

object

recognition

We

will

focus

on

the

problem

of

tracking

the

location

and

scale

of

a

single

object,

using

a

rectangular

bounding

box

to

approximate

these

parameters.

It

is

plausible

that

the

ideas

presented

here

can

be

applied

to

other

types

of

tracking

problems

like

tracking

multiple

objects

(e.g.,

tracking

contours

(e.g.,

or

tracking

deformable

objects

(e.g.,

but

this

is

outside

the

scope

of

our

work..

The

remainder

of

this

paper

is

organized

as

follows:

In

Section

we

review

the

current

state

of

the

art

in

adaptive

appearance

models;

in

Section

we

introduce

our

tracking

algorithm;

in

Section

we

present

qualitative

and

quantitative

results

of

our

tracker

on

a

number

of

challenging

video

clips.

We

conclude

in

Section

There

are

a

couple

of

important

issues

to

point

out

about

this

algorithm.

First,

we

acknowledge

the

fact

that

training

the

weak

classifiers

with

positive

labels

for

all

instances

in

the

positive

bags

is

suboptimal

because

some

of

the

instances

in

the

positive

bags

may

actually

not

be

"correct."

The

algorithm

makes

up

for

this

when

it

is

choosing

the

weak

classifiers

h

based

on

the

bag

likelihood

loss

function.

We

have

also

experimented

using

online

GradientBoost

to

compute

weights

(via

the

gradient

of

the

loss

function)

for

all

instances,

but

found

this

to

make

little

difference

in

accuracy

while

making

the

system

slower.

Second,

if

we

compare

and

we

see

that

the

latter

has

a

much

more

restricted

choice

of

weak

classifiers.

This

approximation

does

not

seem

to

degrade

the

performance

of

the

classifier

in

practice,

as

noted

in

Finally,

we

note

that

the

likelihood

being

optimized

in

is

computed

only

on

the

current

examples.

Thus,

it

has

the

potential

of

overfitting

to

current

examples

and

not

retaining

information

about

previously

seen

data.

This

is

averted

by

using

online

weak

classifiers

that

do

retain

information

about

previously

seen

data,

which

balances

out

the

overall

algorithm

between

fitting

the

current

data

and

retaining

history.

We

tested

our

MILTrack

system

on

several

challenging

video

sequences.

For

comparison,

we

implemented

a

tracker

based

on

the

Online

AdaBoost

(OAB)

algorithm

described

in

We

plugged

this

learning

algorithm

into

our

system

and

used

the

same

features

and

motion

model

as

for

MILTrack

(See

Section

We

acknowledge

the

fact

that

our

implementation

of

the

OAB

tracker

achieves

worse

performance

than

is

reported

in

this

could

be

because

we

are

using

simpler

features

or

because

our

parameters

were

not

tuned

per

video

sequence.

However,

our

study

is

still

valid

for

comparison

because

only

the

learning

algorithm

changes

between

our

implementation

of

the

OAB

tracker

and

MILTrack,

and

everything

else

is

kept

constant.

This

allows

us

to

isolate

the

appearance

model

to

make

sure

that

it

is

the

cause

of

the

performance

difference..

One

of

the

goals

of

this

work

is

to

demonstrate

that

using

MIL

results

in

a

more

robust

and

stable

tracker.

For

this

reason

all

algorithm

parameters

were

fixed

for

all

the

experiments.

This

holds

for

all

algorithms

we

tested.

For

MILTrack

and

OAB

the

parameters

were

set

as

follows:

The

search

radius

s

is

set

to

pixels.

For

MILTrack,

we

sample

positives

in

each

frame

using

a

radius

r

¼

(we

found

that

the

algorithm

is

fairly

robust

for

a

range

of

values).

This

generates

a

total

of

image

patches

comprising

one

positive

bag

(for

clarity,

we

call

this

MILTrack

For

the

OAB

tracker

we

tried

two

variations.

In

the

first

variation

we

set

Bold

green

font

indicates

best

performance,

red

italics

font

indicates

second

best.

r

¼

generating

only

one

positive

example

per

frame

(we

call

this

in

the

second

variation

we

set

r

¼

as

we

do

in

MILTrack

(although

in

this

case,

each

of

the

image

patches

is

labeled

positive);

we

call

this

OAB

The

reason

we

experimented

with

these

two

versions

was

to

show

that

the

superior

performance

of

MILTrack

is

not

simply

due

to

the

fact

that

we

extract

multiple

positive

examples

per

frame.

In

fact,

as

we

will

see

shortly,

when

multiple

positive

examples

are

used

for

the

OAB

tracker,

its

performance

degrades

(cf.

Table

and

Fig.

The

scalar

for

sampling

negative

examples

was

set

to

and

we

randomly

sample

negative

image

patches

from

the

set

X

r;

(though,

during

initialization

with

the

first

frame,

we

sample

patches).

The

learning

rate

for

the

weak

classifiers

is

set

to

Finally,

the

number

of

candidate

weak

classifiers

M

was

set

to

and

the

number

of

chosen

weak

classifiers

K

was

set

to

To

gauge

absolute

performance

we

also

compare

our

results

to

three

other

algorithms,

using

code

provided

by

the

respective

authors.

The

first

of

these

is

the

SemiBoost

tracker

as

mentioned

earlier,

this

method

uses

label

information

from

the

first

frame

only,

and

then

updates

the

appearance

model

via

online

semi-supervised

learning

in

subsequent

frames.

This

makes

it

particularly

robust

to

scenarios

where

the

object

leaves

the

scene

completely.

However,

the

model

relies

strongly

on

the

prior

classifier

(trained

using

the

first

frame).

We

found

that

on

clips

exhibiting

significant

appearance

changes

this

algorithm

often

lost

the

object.

The

second

algorithm

is

FragTrack

This

algorithm

uses

a

static

appearance

model

based

on

Bold

green

font

indicates

best

performance,

red

italics

font

indicates

second

best.

We

also

experimented

with

the

LogitBoost

loss

function

(as

in

which

penalizes

noisy

examples

less

harshly,

and

although

it

worked

better

than

OAB,

it

did

not

outperform

MILTrack.

We

omit

the

detailed

results

due

to

space

constraints..

integral

histograms,

which

have

been

shown

to

be

very

efficient.

The

appearance

model

is

part

based,

which

makes

it

robust

to

occlusions.

For

both

algorithms,

we

use

the

default

parameters

provided

by

the

authors

for

all

of

our

experiments.

For

experiments

where

we

track

both

location

and

scale

we

compare

to

IVT

setting

the

parameters

such

that

only

location

and

scale

are

tracked

(rather

than

a

full

set

of

affine

parameters).

For

the

trackers

that

involve

randomness,

all

results

are

averaged

over

five

runs.

The

system

was

implemented

in

C++

(code

and

data

available

on

our

project

website:

project/tracking-online-multiple-instance-learning),

and

runs

at

about

frames

per

second

(FPS).

O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Extending Answer Sets for Logic Programming Agents We present systems of logic programming agents (LPAS) to model the interactions between decision-makers while evolving to a conclusion. Such a system consists of a number of agents connected by means of unidirectional communication channels. Agents communicate with each other by passing answer sets obtained by updating the information received from connected agents with their own private information. We introduce a credulous answer set semantics for logic programming agents. As an application, we show how extensive games with perfect information can be conveniently represented as logic programming agent systems, where each agent embodies the reasoning of a game player, such that the equilibria of the game correspond with the semantics agreed upon by the agents in the LPAS. In this paper we present a formalism for systems of logic programming agents. Such systems are useful for modeling decision-problems, not just the solutions of the problem at hand but also the evolution of the beliefs of and the interactions between the agents.. A system of logic programming agents consists of a set of agents connected by means of unidirectional communication channels. Each agent contains an ordered choice logic program [12] representing her personal information and reasoning skills. Agents use information received from their incoming channels as input for their reasoning, where received information may be overridden by other concerns represented in their programs. The resulting model is communicated to the agents listening on the outgoing channels. The semantics of the whole system corresponds to a stable situation where no agent needs to change its output. To model a single agent's reasoning, we use ordered choice logic programs [12] , an extension of logic programming that provides facilities for the direct representation of preference between rules and dynamic choice between alternatives. Unlike for other preference-based extensions (see section 6), alternatives in ordered choice programs, and the related notion of defeat, are not based on negation (which would yield a static approach), but depend on the interpretation at hand which may dynamically activate inconsistencies between atoms. Nevertheless, negation (both classical and negation as failure) can be easily simulated (see section 6.1).. Game theory [22] makes contributions to many different fields. In particular, there is a natural connection with multi-agent systems. In this paper we illustrate the use of logic programming agent systems as convenient executable representations of games, where each player corresponds to exactly one agent. We concentrate on so-called extensive games with perfect information: a sequential communication structure of players taking decisions, based on full knowledge of the past. We demonstrate that such games have a constructive and intuitive translation to logic programming agent systems where the agents/players are connected in a cyclic communication structure. The game's equilibria (Nash or subgame perfect, depending on the transformation used to construct the corresponding system) can then be retrieved as the system's answer set semantics. Moreover, its fixpoint computation closely mirrors the actual reasoning of the players in reaching a conclusion corresponding to an equilibrium.. All proofs can be found in the appendix.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Design

of

customized

web

applications

with

OntoWeaver

OntoWeaver

is

our

conceptual

modelling

methodology

and

a

tool

that

support

the

specification

and

implementation

of

customized

web

applications.

It

relies

on

a

number

of

different

types

of

ontologies

to

declaratively

describe

all

aspects

of

a

web

application.

This

paper

focuses

on

the

OntoWeaver

customization

framework,

which

exploits

a

user

model,

a

customization

rule

model,

and

a

declarative

site

model,

to

enable

the

design

and

development

of

customized

web

applications

at

a

conceptual

level.

OntoWeaver

makes

use

of

the

Jess

inference

engine

to

reason

upon

the

site

specifications

and

their

underlying

site

ontologies

according

to

the

customization

rules

and

the

valuable

user

profiles

to

provide

customization

support

in

an

intelligent

way.

The

ontology-based

approach

enables

the

target

web

applications

to

be

represented

in

an

exchangeable

format.

Hence,

the

management

and

maintenance

of

web

applications

can

be

carried

out

at

a

conceptual

level

without

having

to

worry

about

the

implementation

details.

Likewise,

the

declarative

nature

of

the

site

specifications

and

the

generic

customization

framework

allow

the

specification

of

customization

requirements

to

be

carried

out

at

the

conceptual

level.

So

far

work

in

the

area

of

customized

web

application

design

has

focused

on

the

implementation

of

the

specific

customization

methods,

such

as

user

model-driven

adaptive

approaches

automatic

personalization

methodologies

and

manual

customization

approaches

However,

current

tools

for

web

site

design

and

implementation

provide

very

limited

support

for

web

site

customization..

To

address

this

problem,

a

few

conceptual

web

modelling

approaches

consider

customization

issues

as

an

important

modelling

dimension.

Examples

include

WebML

OOHDM

Hera

and

OntoWebber

They

support

one-to-one

web

site

delivery

by

providing

a

personalization

model

or

a

customization

model

that

describe

user

groups,

individual

users,

customization

context,

and

customization

rules.

The

customization

frameworks

of

these

proposals

offer

mechanisms

that

allow

site

designers

to

predefine

customization

rules

or

different

site

views

to

enable

delivering

customized

web

applications

for

user

groups

or

individual

users.

However,

these

approaches

do

not

offer

explicit

customization

specification

models

that

facilitate

specifying

customization

requirements

for

individual

users

at

a

high

level.

For

instance,

the

WebML

approach

requires

developers

to

write

business

rules

to

enable

the

personalization

of

the

target

web

applications.

However,

it

does

not

offer

an

explicit

specification

rule

model

to

allow

developers

to

complete

the

task

at

a

high

level.

The

WUML

approach

provides

a

generic

customization

model

that

allows

for

the

specification

of

customization

rules

at

high

level.

However,

due

to

the

fact

that

it

does

not

provide

means

to

model

the

target

web

application,

it

requires

developers

to

slice

the

target

web

application

into

the

so-called

stable

part

and

variable

part,

and

define

adaptation

hooks

in

the

web

application

to

allow

for

the

specification

of

customization

actions

in

customization

rules.

As

a

consequence,

it

limits

the

possibilities

for

customization

by

forcing

developers

to

anticipate

what

may

be

customized.

In

we

presented

IIPS,

an

ontology-driven

approach

to

the

design

and

maintenance

of

data-intensive

web

sites.

OntoWeaver

extends

IIPS,

by

introducing

a

generic

customization

framework

and

tools

for

building

and

maintaining

customized

web

applications.

The

key

ideas

of

our

approach

to

achieve

customization

are

the

following:.

The

use

of

different

types

of

ontologies

-the

site

view

ontology,

the

presentation

ontology,

and

the

domain

ontology,

to

drive

the

processes

of

the

design,

management

and

maintenance

of

data-intensive

web

applications.

The

ontology-based

approach

enables

the

target

web

applications

to

be

represented

in

an

exchangeable

format.

As

a

result,

site

management

and

maintenance

can

be

carried

out

at

the

conceptual

level.

Furthermore,

the

declarative

nature

of

the

site

specifications

allows

for

the

intelligent

presentation

of

Permission

to

make

digital

or

hard

copies

of

all

or

part

of

this

work

for

personal

or

classroom

use

is

granted

without

fee

provided

that

copies

are

not

made

or

distributed

for

profit

or

commercial

advantage

and

that

copies

bear

this

notice

and

the

full

citation

on

the

first

page.

To

copy

otherwise,

or

republish,

to

post

on

servers

or

to

redistribute

to

lists,

requires

prior

specific

permission

and/or

a

fee.

information

according

to

the

requirements

of

different

contexts

(e.g.

individual

users

and

devices)

as

the

specifications

can

be

reasoned

upon.

The

provision

of

a

generic

customization

framework

to

enable

the

customization

support

in

an

intelligent

way

at

a

high

level

of

abstraction.

The

OntoWeaver

customization

framework

provides

meta-level

models

that

enable

the

specification

for

user

models

and

customization

rules

at

a

conceptual

level,

and

makes

use

of

the

Jess

inference

engine

for

the

intelligent

customization

support

by

reasoning

about

the

site

specifications

and

the

customization

rules

according

to

the

profile

of

user

individuals.

Unlike

WUML

OntoWeaver

is

considerably

flexible

as

everything

can

be

customized.

There

is

no

need

for

a

prior

decision

about

what

can

be

subject

to

customization:

the

entire

model

is

available

to

the

customization

engine.

To

provide

with

the

visual

tools

that

could

support

the

entire

life-cycle

of

a

customized

data-intensive

web

application

at

a

high

level,

including

modelling,

design,

and

maintenance.

This

paper

is

organized

as

follows:

first,

we

describe

the

overview

of

the

OntoWeaver

methodology

for

web

site

design;

then,

we

present

the

OntoWeaver

customization

framework;

in

the

next

section,

we

use

the

conference

paper

review

system

as

a

case

to

show

how

the

OntoWeaver

approach

can

be

used

to

design

a

customized

web

application;

thereafter

we

discuss

the

usages

of

the

OntoWeaver

customization

approach;

and

finally

in

the

last

two

sections

we

describe

the

related

work,

conclusion,

and

future

work.

This

paper

extends

IIPS

to

OntoWeaver

by

proposing

and

introducing

a

customization

framework

into

the

ontology-based

web

modelling

approach

to

the

design

and

maintenance

of

web

applications.

The

OntoWeaver

approach

to

customization

is

based

on

its

conceptual

modelling

approach,

which

provides

means

to

describe

site

structures,

presentations

and

layouts,

and

their

underlying

meta-data

structures

declaratively

in

an

exchangeable

format.

It

provides

a

customization

rule

model

to

enable

the

specification

of

customization

conditions

and

actions

at

a

high

level

of

abstraction.

It

offers

a

basic

user

model

to

allow

user

models

to

be

specified

in

a

domain

specific

way.

It

makes

use

of

the

specified

user

model

and

declarative

site

models

to

enable

the

precise

specification

of

all

aspects

of

customization

rules

at

a

conceptual

level.

The

OntoWeaver

customization

approach

offers

the

capability

to

provide

meta-level

customization

support

for

the

target

web

applications,

as

it

supports

web

applications

exploiting

various

techniques

to

collect

user

specified

information,

as

long

as

user

profiles

are

recorded

as

instances

of

the

specified

user

ontology.

As

a

result,

OntoWeaver

can

make

use

of

the

user

profiles

to

get

contextual

information

of

the

end

user,

and

exploit

the

Jess

inference

engine

to

reason

about

site

specifications

according

to

the

obtained

contextual

information

to

present

individualized

web

pages.

To

support

the

design

and

development

of

customized

web

applications,

OntoWeaver

provides

a

suite

of

visual

tools

enabling

the

tasks

to

be

carried

out

at

a

conceptual

level.

At

the

moment,

a

prototyped

OntoWeaver

infrastructure

has

been

implemented

based

on

RDFS

and

RDF

In

the

future

we

plan

to

use

the

new

emerging

semantic

web

standards

like

DAML+OIL

and

OWL

as

the

underlying

language

to

represent

ontologies

and

specifications.

With

the

OntoWeaver

methodology,

customization

can

be

achieved

at

different

levels.

First,

different

site

views

can

be

created

over

the

same

domain

model

for

different

user

groups

or

different

environments.

Second,

different

presentations

can

be

specified

to

present

the

same

site

views

in

different

ways.

Finally,

the

individualization

of

web

applications

can

be

achieved

by

using

the

OntoWeaver

customization

framework.

<rdf:Description

<so:objectType>View</so:objectType>

<so:parentSiteEntityURI>mainNavigationComponent/newOutput

</so:parentSiteEntityURI>

<so:siteEntityURI>mainNavigationComponent/newOutput/link

</so:siteEntityURI>

<so:actionType>new</so:actionType>

<so:siteEntityType>LinkItem</so:siteEntityType>

<so:modification>

<rdf:Description

rdf:about="customization_rule0/action1/modification0"

<so:slotName>isExternalResource

</so:slotName>

<so:newValue>false</so:newValue>

</rdf:Description>

</so:modification>

<so:modification>

<rdf:Description

rdf:about="customization_rule0/action1/modification1"

<so:slotName>associatedResourceURI

</so:slotName>

<so:newValue>

</so:newValue>

</rdf:Description>

</so:modification>

<so:modification>

<rdf:Description

rdf:about="customization_rule0/action1/modification2"

<so:slotName>parameter</so:slotName>

<so:newValue>

newParameterURI

</so:newValue>

</rdf:Description>

</so:modification>

</rdf:Description>

Now

we

discuss

how

to

use

the

OntoWeaver

customization

framework

to

enable

the

various

types

of

customization

approaches

identified

in

the

literature:.

User

model-driven

adaptive

systems

The

OntoWeaver

customization

framework

can

be

easily

used

to

provide

appropriate

support

for

such

systems,

where

user

models

are

pre-defined,

user

profiles

are

collected

from

various

sources,

and

the

systems

aim

to

provide

adaptive

content

or

presentation

to

individual

users.

They

typically

focus

on

constructing

user

profiles

using

various

techniques

and

embed

annotations

to

web

pages

to

realize

various

adaptations.

Using

OntoWeaver,

we

can

achieve

the

goal

of

these

systems

by

designing

the

target

web

application,

pre-defining

a

user

model,

and

pre-defining

a

series

of

adaptive

rules.

The

rules

work

with

the

site

models

according

to

user

profiles

to

produce

adaptive

contents

and

presentations

to

user

individuals.

Automatic

personalization

systems

These

systems

primarily

use

data

mining

algorithms

to

automatically

discover

and

extract

patterns

from

web

usage

data

and

predict

user

behaviour

while

users

interact

with

the

web.

As

long

as

the

user

model

(not

user

profile)

can

be

defined,

the

OntoWeaver

customization

approach

can

provide

appropriate

support

for

this

kind

of

personalization,

because

OntoWeaver

is

only

concerned

with

the

definitions

of

customization

rules.

It

does

not

matter

whether

the

user

profile

are

defined

during

design

time

or

just

captured

during

run-time,

because

customization

happens

at

run

time.

The

manual

customization

approaches

OntoWeaver

provides

run-time

support

for

user-driven

customizations.

In

this

case,

users

only

need

specify

customization

actions

through

a

direct

manipulation

of

user

interface.

These

actions

are

then

captured

by

OntoWeaver

and

compiled

into

appropriate

customization

rules.

Recently,

a

great

variety

of

technologies

and

systems

have

been

developed

to

achieve

the

goal

of

customization

and

personalization

for

web

applications

These

approaches

primarily

use

a

user

model

to

record

user

preferences

and

interests,

and

exploit

various

techniques

to

collect

data

for

the

user

model,

including

implicitly

observing

user

interaction,

automatically

discovering

and

extracting

patterns

from

web

usage

data,

and

explicitly

requesting

direct

input

from

the

user.

However,

while

these

systems

can

precisely

predict

user's

behaviour,

there

is

not

much

they

can

do

if

the

web

application

models

are

hidden

from

the

personalization

framework.

The

My

Yahoo

approach

is

a

typical

example

of

a

user

specified

customization

methodology,

which

allows

users

to

select

preferred

modules

from

hundreds

of

available

ones.

It

can

provide

a

limited

extent

of

customization

support

because

the

site

descriptions

are

available

through

the

format

of

different

module

descriptions.

However,

it

does

not

offer

a

rule

model

to

allow

end

users

to

define

rules

to

reason

about

its

content

to

provide

intelligent

presentation

support.

WUML

proposes

a

generic

customization

model

allowing

the

adaptation

of

web

applications

towards

the

context

implied

by

ubiquity.

It

provides

a

context

model

that

facilitates

the

specification

of

detailed

information

about

the

environment

of

a

web

application

and

the

web

application

itself,

and

a

customization

rule

model

to

enable

the

specification

of

the

actual

customizations.

The

WUML

approach

offers

complex

models

to

allow

developers

to

express

detailed

information

about

the

customization

environment.

However,

it

does

not

support

modelling

of

web

applications.

As

a

consequence,

it

requires

the

web

applications

to

be

sliced

into

a

stable

part,

comprising

context-independent

structure,

and

a

variable

contextdependent

part,

which

is

the

subject

of

the

adaptations.

Furthermore,

to

enable

customization,

it

requires

web

applications

to

provide

adaptation

hooks.

Thus,

it

greatly

limits

the

possibility

for

customization

by

forcing

site

developers

to

anticipate

what

may

be

customized.

WebML

is

another

interesting

approach

which

considers

personalization

issues

within

the

design

phase

of

web

applications.

It

exploits

user

profiles,

delivery

specifications

and

a

series

of

business

rules

to

enable

the

socalled

one-to-one

web

delivery.

The

delivery

specifications,

which

express

the

user-specific

data

extractions

needed

to

generate

personalized

pages,

are

added

to

the

web

application

model

as

annotations.

The

business

rules

are

specified

to

compute

and

store

user-specific

information.

However,

the

WebML

customization

approach

does

not

offer

an

explicit

rule

model

that

would

allow

rules

to

be

specified

at

a

high

level..

OOHDM

allows

customization

to

be

specified:

in

the

conceptual

model

by

explicitly

representing

users,

roles

and

groups

and

by

defining

algorithms

that

implement

different

rules

for

different

users;

in

the

navigational

model

by

defining

completely

different

applications

for

each

profile;

and

in

the

interface

model

by

defining

different

layouts

according

to

user

preference

or

selected

devices.

However,

the

resulting

customization

is

static

and

predefined.

The

Hera

approach

considers

adaptation

as

an

import

modelling

issue

during

the

process

of

designing

web

information

system.

OntoWebber

supports

the

so-called

coarse-grained

personalization

by

assigning

different

site

views

for

user

groups,

and

the

fine-grained

personalization

by

modelling

user

individuals.

of

these

approaches

provides

an

explicit

customization

specification

model

that

would

allow

the

specification

of

customization

requirements

to

be

carried

out

at

a

high

level.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Specification and Verification of Dynamics in Agent Models Within many domains, among which biological, cognitive, and social areas, multiple interacting processes occur among agents with dynamics that are hard to handle. This paper presents the predicate logical Temporal Trace Language (TTL) for the formal specification and analysis of dynamic properties of agents and multi-agent systems. This language supports the specification of both qualitative and quantitative aspects, and therefore subsumes specification languages based on differential equations and qualitative, logical approaches. A software environment has been developed for TTL, which supports editing TTL properties and enables the formal verification of properties against a set of traces. The TTL environment proved its value in a number of projects within different biological, cognitive and social domains. In domains such as Biology, Cognitive Science, and Social Science, the dynamics of the multiple interacting processes among different agents involved poses modelling challenges. Currently, differential equations are among the techniques most often used to address this challenge, with partial success. For example, in the area of intracellular processes, hundreds or more reaction parameters (for which reliable values are rarely available) are needed to model the processes in question. Thus, describing these processes in terms of differential equations can seriously compromise the feasibility of the model. Likewise, in the area of Cognitive Science, the Dynamical Systems Theory that is also based on differential equations (DST, see e.g., [24] ), is well practiced and successful. However, the models typically only address lower-level agent cognitive processes such as sensory or motor processing. DST has less to offer for modelling the dynamics of higher-level processes with a mainly qualitative character, such as agent reasoning, complex task performance, and certain capabilities of language processing.. For formal qualitative modelling of processes at a high level of abstraction, logic-based methods have proved useful. For example, variants of modal temporal logic [2, 16, 19, 29, 36] gained popularity in agent technology, also for modelling social phenomena. However, many of the logicbased methods lack the quantitative expressivity, needed, e.g., for modelling processes for which precise timing relations play an essential role (e.g., biological and chemical processes).. Many of the currently used analysis methods concern either quantitative or qualitative aspects of complex systems, depending on the language used for specification of the models. For example, mathematical calculus is used for analysis of quantitative models based on DST, logical proof and model-checking techniques are applied for analysis of qualitative, logic-based specifications.. However, only a few of these methods address an integrative analysis of both types of aspects that often occur in complex systems; e.g., [17] .. Thus, within several disciplines the need exists for general modelling and analysis techniques capable to deal with complex agent systems that comprise both quantitative and qualitative aspects. In Section 2, a novel perspective is put forward for the development of such a technique, based on the idea of checking dynamic properties on given sets of traces. Section 3 describes the TTL language in detail. Examples of the application of TTL are presented in the next sections: Section 4 focuses on hybrid systems, Section 5 addresses the process of trace conditioning, Section 6 addresses the area of representation, and Section 7 discusses the application of TTL in some others domains. Section 8 describes the tools that support the TTL modelling environment in detail. In particular, the TTL Property Editor and the TTL Checker Tool are discussed. Section 9 is a conclusion. This paper presents the predicate logical Temporal Trace Language (TTL) for the formal specification and analysis of dynamic properties of cognitive agent models. Although the language has a logical foundation, it supports the specification of both qualitative and quantitative aspects, and subsumes specification languages based on differential equations. TTL allows for explicit reference to time points and time durations, which enables modelling of the dynamics of continuous real-time phenomena. Furthermore, more specialised languages can be defined as a sublanguage of TTL. For the purpose of simulation, the executable language LEADSTO has been developed [7] . For verification of properties, different decidable fragments of predicate logic (e.g., [1] ) can be defined as sublanguages of TTL.. The use of the temporal trace language TTL has a number of practical advantages. In the first place, it offers a well-defined language to formulate relevant dynamic relations in practical domains, with standard first order logic semantics. It has a high expressive power. For example, the possibility of explicit reference to time points and time durations enables modelling of the dynamics of continuous real-time phenomena, such as sensory and neural activity patterns in relation to mental properties (cf. [33] ). Also difference and differential equations can be expressed. These features go beyond the expressive power available in standard linear or branching time temporal logics.. Furthermore, the possibility to quantify over traces allows for specification of more complex adaptive behaviours. As within most temporal logics, reactiveness and pro-activeness properties are specified. In addition, in our language also properties expressing different types of adaptive behaviour can be expressed. For example a property such as 'exercise improves skill' which is a relative property in the sense that it involves the comparison of two alternatives for the history. Thus, different alternative histories can be represented and compared in TTL, whereas in standard forms of temporal logic it is not possible. Similarly, the kind of relative or comparative properties put forward in [22] , such as 'the more south on the northern hemisphere, the higher the trees', as. properties lacking an explanation in terms of a cause and its effects, can be expressed since our language allows comparison of different traces and different (local) restrictions within traces.. The possibility to define restrictions to local languages for parts of a system or the world is also an important feature. For example, the distinction between internal, external and input and output languages is crucial, and is supported by the language TTL, which also entails the possibility to quantify over system parts; this allows for specification of system modification over time. This possibility allows to consider traces in which 'brain, body and world' are modelled in an integrative manner, and to focus on one of these aspects in the context of the overall trace [14, 15] .. Finally, since state properties are used as first class citizens in the temporal trace language, it is possible to explicitly refer to them, and to quantify over them, enabling the specification of what are sometimes called second-order properties, which are used in part of the philosophical literature (e.g., [25] ) to express functional roles related to mental properties or states.. TTL has some similarities with the situation calculus [34] and the event calculus [26] , which are two well-known formalisms for representing and reasoning about temporal domains. However, a number of important syntactic and semantic distinctions exist between TTL and both calculi. In particular, the central notion of the situation calculus -a situation -has different semantics than the notion of a state in TTL. That is, by a situation is understood a history or a finite sequence of actions, whereas a state in TTL is associated with the assignment of truth values to all state properties (a "snapshot" of the world). Moreover, in contrast to the situation calculus, where transitions between situations are described by actions, in TTL actions are in fact properties of states.. Moreover, although a time line has been recently introduced to the situation calculus [34] , still only a single path (a temporal line) in the tree of situations can be explicitly encoded in the formulae. In contrast, TTL provides more expressivity by allowing explicit references to different temporally ordered sequences of states (traces) in dynamic properties (e.g., the trust monotonicity property).. Other examples of such properties, where different histories are compared are given in Section 5 above on trace conditioning.. In contrast to the event calculus, TTL does not employ the mechanism of events that initiate and terminate fluents. Events in TTL are considered to be functions of the external world that can change states of components, according to specified properties of a system. Furthermore, similarly to the situation calculus, also in the event calculus only one time line is considered.. TTL can also be related to temporal languages that are often used for verification (e.g.,. propositional temporal logic (PTL) and linear-time logic (LTL) [3, 16, 19] ). The general idea of translation of a LTL formula into a TTL expression is rather straightforward: by replacing the temporal operators of LTL by quantifiers over time. E.g., the following LTL formula

O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O