Software Architecture Decomposition Using Attributes Abstract. Software architectural design has an enormous effect on downstream software artifacts. Decomposition of functions for the final system is one of the critical steps in software architectural design. The process of decomposition is typically conducted by designers based on their intuition and past experiences, which may not be robust sometimes. This paper presents a study of applying the clustering technique to support decomposition based on requirements and their attributes. The approach can support the architectural design process by grouping closely related requirements to form a subsystem or module. In this paper, we demonstrate our experiences in applying the approach to a communication protocol software system. Alexander [1] demonstrated the application of the partitioning/clustering technique to building a village in India. Clustering and partitioning are conceptually similar. Partitioning or decomposition is a top-down approach to divide a system into subsystems with an aim of high cohesion within a subsystem and low coupling among subsystems. Clustering, on the other hand, is a bottom-up approach to group similar objects as clusters. Collection of clusters forms a subsystem or a system.. Alexander [ 1] postulated that the major design principle which is common to all engineering disciplines is the relative isolation of one component from other components. Effective decomposition is also a paramount goal in many disciplines, such as mechanical engineering and manufacturing. Clustering techniques have been successfully used in many areas to assist grouping of similar components and/or effective decomposition of a system. For instance, the technique has been used to classify botanical species and mechanical parts. The key concept of clustering is to group similar items together to form a set of clusters, such that intra-cluster similarity is high but inter-cluster similarity is low.. Software engineering is a relatively new area compared to other well established disciplines. This idea of decomposition and clustering has also been intensively discussed in software engineering. Decomposition plays a vital role in system design, as it has tremendous effects on the downstream artifacts and development phases. Software decomposition is often conducted by designers based on their intuition and past experience. While it may work well for some; in reality, however, many systems failed to meet the requirements as a result of poor design.. A key point of an effective clustering or decomposition technique is to maximize cohesion within a module and minimize coupling between modules. C lustering techniques have also been intensively studied in software engineering, particularly in the area of reverse engineering [11] [12] [13] 16] . Clustering technique can also be used for forwarding engineering early in the life cycle. Inspired by Alexander, Andreu, et al. [3] and Lung, et al. [15] presented applications of clustering to requirement analysis or use cases prioritization. However, the main problem with this idea is that identification of the interdependencies of use cases or requirements is difficult due to ambiguities of the abstract description or understanding at the requirements stage.. The objective of this paper is to apply the clustering technique to support software decomposition based on attributes described in the requirements document and to mitigate the problem just stated. Identification of the relationship between requirements and attributes is more effective and efficient. The main idea is to help the designer develop a more robust software architecture or support evaluation of the architecture from the quality aspect at the early stage.. The clustering techniques adopted in this paper are based on numerical taxonomy or hierarchical agglomerative clustering (HAC) method. HAC uses numerical methods to make classifications of components. Each method has potential for revealing insight that may be lacking in other methods and no scientific study has shown that numerical taxonomy is inferior to other more complex multiversity methods [17] . Therefore, we adopt numerical taxonomy mainly because of its conceptual and mathematical simplicity, as will be demonstrated in Section 2.. The paper is organized as follows: Section 2 is a brief overview of the clustering technique adopted for this research. Section 3 highlights some related work. Section 4 demonstrates an industrial application of the technique. Finally, Section 5 is the summary. We have presented an approach to support software architecture decomposition using clustering of requirements and attributes. The approach was extended from previous research which identified the relationships between requirements. Based on our experience, identification of relationships between requirements may be difficult and confusing early in the life cycle. The relationships between requirements and attributes can be identified more easily. We have applied the technique to a real system in network protocol. We have also compared d ifferent clustering approaches: UPGMA, SLINK, and CLINK. In our study, UPGMA generated the best result based on the designer's evaluation. Also, we studied Jaccard and Sorensan algorithms for resemblance coefficients. The results were very similar for this case study.. The clustering results are useful to support the architect or designer for decomposition. The relationship between requirements and attributes , as shown in Table 1 , are also useful, because it reveals how requirements relate to subsystems through attributes or objects. Reading across the row, we can associate the attributes made up the requirements. Reading down the column, we can find out which requirements the attribute participates in [20] .. Currently, we are working on the integration of the clustering tool with a commercial requirements management tool, called Telelogic DOORS [7] . The tool can capture relationships among various requirements as well as between requirements and attributes. A lot of research on clustering has been conducted in software engineering. Most of these approaches are proposed to support reverse engineering or at the code level. More discussion of the related work can be found in [16] . In this section, we focus on research efforts that are specifically used for high level artifacts and in the forward engineering process. As pointed out in Section 1, Alexander devised a clustering approach to the building of an Indian village. He demonstrated 141 requirements based on 13 categories (e.g., religion, water, agriculture, and etc.). He then identified the relationships or interactions between requirements. For example, requirement 1 interacts with 8,9,12, 13, … Based on the interactions, the complete list of requirements were decomposed into four major subsets or subsystems , and those four subsets in turn are broken into twelve minor subsets. Finally, he identified a n architectural style for each subset. Together, all the subsets form the entire village.. Andreu and Madnick [3] applied the concept to a data base management system. Requirements and their interdependencies were first identified and were converted to a graph problem. Various partitioning alternatives were examined and a quantitative metric was calculated for each alternative. The alternative with the lowest value of coupling was chosen as the optimal partitioning. The system was divided into 5 partitions, each constituting a subsystem in the architecture.. Heyliger [10] proposed to use N square charts to partition a large system. The objective was to refine the design incrementally to maximize cohesion and minimize coupling. He has identified a set of patterns that characterize specific interfaces among system elements. This process, as depicted by the author, is labor intensive and the rearrangement of the elements is a major problem even for small or modest systems.. Lung, et al, [14] reported an experience of building a reusable simulation framework in manufacturing. The approach surveyed over 100 simulation models and identified their features or attributes. Clustering was then conducted based on those features to group similar or related features into a set of generic models. Each generic model was further decomposed into a number of specific models. A framework was then constructed based on the generic and specific models, which could support over 100 simulation models in manufacturing.. Lung, et al., [15] proposed the usage of HAC to use cases and requirements analysis . The concept followed Alexander's idea. However, the main challenge with this approach is the identification of interdependencies between requirements. It is time consuming and labor intensive to conduct the exercise. More importantly, requirements may be ambiguous or too general at this stage. It may be very difficult to clearly identify the relationships between requirements at that stage.. In fact, we applied the approach to a new project in an advanced network communications technology. It was a technology-driven approach for the development of next generation networking equipments, where there were no clear or specific requirements. During the process, we encountered practical problems at times due to the fact that the requirements were specified in a very high-level general fashion. Specifically, they are:. • Difficult to judge if two requirements are actually interdependent, because some parts are not clear; • Many requirements seemed to be interdependent at that level; and • Requirements are incomplete; therefore, many interdependencies between requirements may be missing.. The intension of this paper is to simplify the previous process by using requirements and attributes relationships. The main idea is that if there are specific attributes or features that are known or can be identified, it will be easier to identify t he interdependencies between requirements indirectly through attributes. Lung, et al. [16] demonstrated the concept in software architecture decomposition. However, that case study was a reverse engineering effort. In this paper, we apply the concept to study a network communication protocol in the forward engineering process.

B I B 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 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 B 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 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 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 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 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 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 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 B 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 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 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 B O O O O O O O O O O B O O O O B O O B O O O B 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 B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I B O B O B O B 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 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 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 B O O O B O B 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 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 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 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 O O 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 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 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 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 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 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 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 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 B O O O 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 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 O O O O O B O O B O O O O O O O O B I 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


Attributed graph transformation with node type inheritance The aim of this paper is to integrate typed attributed graph transformation with node type inheritance. Borrowing concepts from object oriented systems, the main idea is to enrich the attributed type graph with an inheritance relation and a set of abstract nodes. In this way, a node type inherits the attributes and edges of all its ancestors. Based on these concepts, it is possible to define abstract productions, containing abstract nodes. These productions are equivalent to a number of concrete productions, resulting from the substitution of the abstract node types by the node types in their inheritance clan. Therefore, productions become more compact and suitable for their use in combination with meta-modelling. The main results of this paper show that attributed graph transformation with node type inheritance is fully compatible with the existing concept of typed attributed graph transformation. Graph transformation [13] is a formal, graphical and natural means to express graph manipulation based on rules. As most structures in computer science can be expressed as graphs, there are many areas where graph transformation have been used, such as visual languages [3] [6] , visual simulation [19] , model transformation [10] , software engineering [4] and picture processing and generation [8] . The rich theory developed in the last 30 years [13] allows the analysis of the computations expressed as graph transformation.. The concept of inheritance is central in object-oriented systems, together with encapsulation and polymorphism [5] . Inheritance is a means to reduce the complexity, eliminate redundancy and improve flexibility, reusability and extensibility of the specified systems. Although there are slightly different semantic interpretations of inheritance depending on the system, the main idea is that in object-oriented specifications, the source element of an inheritance relation, receives features of all the reachable elements through the inheritance relation. In many cases, the inherited features are attributes and relations. For example, in a UML class diagram [24] , classes inherit attributes and relations of all their ancestor classes. Classes may be abstract, which means that they cannot be instantiated at run-time. In UML, it is also possible to define object diagrams, which are run-time system configurations conformant to the defined class diagram. An object in an object diagram has actual values for the attributes, and contains all the relations and attributes defined in its corresponding class (plus the inherited ones).. We have incorporated the inheritance concept to typed attributed graph transformation by extending the type graph with an inheritance relation and a set of abstract node types. Thus, in analogy with object diagrams conformant to a class diagram, we have attributed graphs typed with respect to an attributed type graph with inheritance. Moreover, we allow graph grammar productions to contain nodes whose (maybe abstract) type is the target of some inheritance relations. These productions are equivalent to a number of concrete productions, resulting from the substitution of this kind of node types by the concrete ones in their inheritance clan. Thus, productions can become more compact. This is especially relevant in approaches where graph transformation is combined with meta-modelling, for example visual language definition, simulation and model transformation. This paper is an extended version of [1] , where we presented the inheritance concept for graphs without attributes. We have incorporated further results [9] concerning attribution and show some of the relevant proofs. The main results in this paper show that for each graph transformation and grammar GG based on an attributed type graph AT GI with inheritance, there is an equivalent typed attributed graph transformation and grammar GG without inheritance. Hence there is a direct correspondence to typed attributed graph transformation without inheritance, where fundamental theoretical results have already been shown in [11] . The full proofs of all theorems and lemmas can be found in [18] .. The rest of the paper is organized as follows. Section 2 presents a short overview of typed graph transformation, in the Double Pushout (DPO) algebraic approach. Section 3 extends the supporting structure for graphs to consider node and edge attributes. Section 4 shows our approach to consider inheritance in type graphs. In Section 5 we use the inheritance concept in productions by allowing abstract nodes. Section 6 shows the equivalence of abstract and flattened productions. Section 7 presents a case study, with the simulation of Statecharts. Finally, Section 8 ends with the conclusions and prospects for future work. An appendix shows the details of the proofs of some theorems. In this paper we have presented a formal integration of node type inheritance with typed attributed graph transformation. The new concept allows the definition of abstract productions, in which abstractly typed nodes may appear. These can be matched to nodes of any of its concrete subtypes. The main results of the paper are summarized in Figure 18 .. The presented inheritance concept is extremely useful in applications as graph . Prod.4. Prod. grammars and graph transformation systems can be notably more compact. This has already been demonstrated in our previous paper [1] . However, that work was restricted to graph transformation without an attribution concept. In this extended paper, we have shown how to obtain a formal integration of an inheritance concept with typed attributed graph transformation as presented in [11][9] . This work is a crucial step towards a precise integration of meta-modeling and graph transformation concepts.. In this paper we have considered node type inheritance only, in [26] edge inheritance (for type graphs without attributes) and multiplicities were also considered. Edge-type inheritance can be emulated by graph constraints, as well as multiplicities. See [12] for details on graph constraints.. A related approach (although for the Single Pushout approach to graph transformation) can be found in [22] . In that work, the inheritance is encoded by considering graphs whose nodes and edges are partially ordered, in such a way that typing and graph morphisms should preserve such order. Although they consider overriding, they are limited to single inheritance and do not consider attribution in our sense.. Some graph transformation tools, like Progres [25] and Fujaba [21] consider inheritance in rules, but they follow a quite different approach. On the other hand, the presented concepts have been implemented in the AGG [2] and AToM 3 [20] tools.. It remains to lift analysis techniques such as constraint checking [17] and critical pair analysis [15] to type graphs with inheritance, useful to e.g. optimise visual language parsers [6] and to show correctness of model transformation [16] . As stated in the previous section, other extensions such as multiplicities or edge inheritance could also be considered.. n 2 = type V 2 (t G 2 (e 2 )) = type V 2 (t G 2 (e 2 )) = tar 2 • type E 2 (e 2 ) = tar 2 (e 2 ) (iii) type E 3 (e 3 ) = ((n 11 , e 3 , n 12 ), e 3 , n 2 ) ∈ T G E 3 means to show e 3 ∈ T G E 3 , e 3 = src 3 (e 3 ) ∈ T G E 1 , n 11 ∈ clan I (src 1 (e 3 )) n 12 ∈ clan I (tar 1 (e 3 )), n 2 = tar 3 (e 3 ) ∈ T G V 2 . By definition of type E 3 we have e 3 = type E 3 (e 3 ) ∈ T G E 3 , n 2 = type V 2 (t G 3 (e 3 )), (n 11 , e 3 , n 12 ) = type E 1 (s G 3 (e 3 )), which is in T G E 1 according to type E 1 in step (i). By Definition 10 this implies: n 11 ∈ clan I (src 1 (e 3 )), n 12 ∈ clan I (tar 1 (e 3 ) ), e 3 ∈ T G E 1 . Now using type ATGI-clan morphism we have n 2 = type V 2 (t G 3 (e 3 )) = type V 2 (t G 3 (e 3 )) = tar 3 • type E 3 (e 3 ) = tar 3 (e 3 ) and now type E 1 (s G 3 (e 3 )) = (n 11 , e 3 , n 12 ) ∈ T G ((n 11 , e 3 , n 12 ), e 3 , n 2 )] = n 2 ⇒ (n 11 , e 3 , n 12 ) = f E 1 • s G 3 (e 3 ) (c). = type E 1 (s G 3 (e 3 ))

O B I 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 B 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 B I 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 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 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 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 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 O O O 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 B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B I 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A cyber forensics ontology: Creating a new approach to studying cyber forensics The field of cyber forensics, still in its infancy, possesses a strong need for direction and definition. Areas of specialty within a professional environment, certifications, and/or curriculum development are still questioned. With the continued need to standardize parts of the field, methodologies need to be created that will allow for uniformity and direction. This paper focuses on creating an ontological for the purpose of finding the correct layers for specialization, certification, and education within the cyber forensics domain. There is very little information available on this topic and what is present, seems to be somewhat varied. This underscores the importance of creating a method for defining the correct levels of education, certification and specialization. This ontology can also be used to develop curriculum and educational materials. This paper is meant to spark discussion and further research into the topic. According to Noy and McGuinness (2001) , ontology creates a common definition among a domain of information within a certain area. By doing this, common information structures can be formed, knowledge can be reused, assumptions within a domain can be made, and every piece can be analyzed. There are two types of ontologies. One ontology starts with a capital ''O'' and the other starts with a lower case ''o''. The latter describes situations where classification schemes are being built. The former is a term borrowed from philosophy where Ontology is a systematic account of existence (Gruber, 2006) . For the purposes of outlining cyber forensics tracks, a small ''o'' ontology was created for classifying data tracks. This is important to the field of cyber forensics due to the fact that common areas for specialization and certification are still being developed. The creation of an ontological model may allow for these specific areas to be defined. It would be detrimental to the field of cyber forensics if it continues to be somewhat scattered and reactive. For example, it is beneficial that researchers continue to turn to other forms of forensic sciences in order to shape their own processes for cyber forensics. Researchers have not, however, examined what the individual needs to do at a higher level. This is unrelated to how the field should develop; this is a focus on what individuals in the field should do. How does an individual know how to go about preparing themselves for a career, such as practitioners, scientists, law enforcement, or other work in cyber forensics? Cyber forensics is a prevalent part of criminal and civil investigations. As a newer forensic science, there is much research being done to create best practices, processes, and procedures by entities including the government, scientists, and educators. This is extremely important as proper field/discipline definition right from the beginning can help decrease problems later. However, the one area that seems to be lacking in this research is what exactly the people involved in cyber forensics are supposed to do to prepare them, not the discipline. How do they specialize or certify themselves? This research focused on creating an ontological model that addresses those issues, and additionally created a tool for curriculum development. Course ideas and content can be drawn from this model and after learning material contained within this model, a student should be able to specialize and/or certify their expertise.

O B I B O O O O O O B I 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 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 B B 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 B O B 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 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 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 B I O O O O B O O O O O O O O O O O O O B I O O O O O O O O B 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 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 B I 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 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 B 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 B O O O O O O O O O O O


Laying the Foundations for a World Wide Argument Web This paper lays theoretical and software foundations for a World Wide Argument Web (WWAW): a large-scale Web of inter-connected arguments posted by individuals to express their opinions in a structured manner. First, we extend the recently proposed Argument Interchange Format (AIF) to express arguments with a structure based on Walton's theory of argumentation schemes. Then, we describe an implementation of this ontology using the RDF Schema Semantic Web-based ontology language, and demonstrate how our ontology enables the representation of networks of arguments on the Semantic Web. Finally, we present a pilot Semantic Web-based system, ArgDF, through which users can create arguments using different argumentation schemes and can query arguments using a Semantic Web query language. Manipulation of existing arguments is also handled in ArgDF: users can attack or support parts of existing arguments, or use existing parts of an argument in the creation of new arguments. ArgDF also enables users to create new argumentation schemes. As such, ArgDF is an open platform not only for representing arguments, but also for building interlinked and dynamic argument networks on the Semantic Web. This initial public-domain tool is intended to seed a variety of future applications for authoring, linking, navigating, searching, and evaluating arguments on the Web. Argumentation can be defined as a verbal and social activity of reason aimed at increasing (or decreasing) the acceptability of a controversial standpoint for the listener or reader, by putting forward a constellation of propositions (i.e. arguments) intended to justify (or refute) the standpoint before a rational judge [53, page 5] . The theory of argumentation is a rich, interdisciplinary area of research encompassing but not exclusive to philosophy, communication studies, linguistics, and psychology.. A variety of opinions and arguments are presented every day on the Web, in discussion forums, blogs, 1 news sites, etc. As such, the Web acts as an enabler of large-scale argumentation, where different views are presented, challenged, and evaluated by contributors and readers. However, these methods do not capture the explicit structure of argumentative viewpoints. This makes the task of evaluating, comparing and identifying the relationships among arguments difficult.. First, let us outline our long-term vision through a scenario. You query the Web (e.g. through an appropriate form that generates a formal query) by asking a question like 'List all arguments that support the War on Iraq on the basis of expert assessment that Iraq has Weapons of Mass Destruction (WMDs).' You are presented with various arguments ordered based on strength (calculated based on the number and quality of its supporting and attacking arguments). One of these arguments is a blog entry, with a semantic link to a CIA report claiming the presence of WMDs. You inspect the counterarguments to the CIA reports and find an argument that attacks them by stating that 'CIA experts are biased.' You inspect this attacking argument and you find a link to a BBC article discussing various historical examples of the CIA's alignment with government policies, and so on.. Motivated by the above vision, we lay theoretical and software foundations of a World Wide Argument Web (WWAW): a large-scale Web of inter-connected arguments posted by individuals on the World Wide Web in a structured manner. The theoretical foundation is an ontology of arguments, extending the recently proposed Argument Interchange Format [11] , and capturing Walton's general theoretical account of argumentation schemes [57] . For the software foundation, we build on the strengths and potential of the Semantic Web [4] and implement the ontology using the RDF Schema Semantic Web ontology language. We then present a pilot Semantic Web-based system, ArgDF, through which users can create arguments using different argumenta-tion schemes and can query arguments using a Semantic Web query language. Manipulation of existing arguments is also handled in ArgDF: users can attack or support parts of existing arguments, or use existing parts of an argument in the creation of new arguments. ArgDF also offers flexible features, such as the ability to create new argumentation schemes from the user interface. As such, ArgDF is an open platform not only for representing arguments, but also for building interlinked and dynamic argument networks on the Semantic Web. This initial public-domain tool is intended to seed what it is hoped will become a rich suite of sophisticated applications for authoring, linking, navigating, searching, and evaluating arguments on the Web. This paper advances the state of the art in computational modelling of argumentation in three ways. First, it presents the first Semantic Web-based system for argument annotation, navigation and manipulation. Second, the paper provides the first highly scalable yet highly-structured argument representation capability on the Web. This contrasts with current group argumentation support systems, which are either scalable but weakly-structured, or highly-structured but theory-dependent and only applicable to small numbers of participants. Finally, the paper contributes to the recently proposed Argument Interchange Format (AIF) ontology [11] by extending it to capture Walton's argument schemes [57] and providing a complete implementation of the AIF in a Semantic Web language.. 2 If successful, the WWAW will be the largest argumentation support system ever built because its construction is not centralised, but distributed across contributors and software developers in the model of many emerging Web 2.0 applications.

O O O O O O O O O O O O O O O O O O O O O O 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 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 I 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 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 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 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 O O O O O O O O O O O O O O O O O O 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 B I I 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 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 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 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 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 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 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 B I 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


Adaptive wavelet thresholding for image denoising and compression The rst part of this paper proposes an adaptive, data-driven threshold for image denoising via wavelet soft-thresholding. The threshold is derived in a Bayesian framework, and the prior used on the wavelet coe cients is the Generalized Gaussian distribution widely used in image processing applications. The proposed threshold is simple and closed-form, and it is adaptive to each subband because it depends on data-driven estimates of the parameters. Experimental results show that the proposed method, called BayesShrink, is typically within 5% of the MSE of the best soft-thresholding benchmark when assuming the image known. It also outperforms Donoho and Johnstone's SureShrink most of the time.The second part of the paper attempts to further validate recent claims that lossy compression can be used for denoising. The BayesShrink threshold can aid in the parameter selection of a coder designed with the intention of denoising, and thus achieving simultaneous denoising and compression. Speci cally, the zero-zone in the quantization step of compression is analogous to the threshold value in the thresholding function. The remaining coder design parameters are chosen based on a criterion derived from Rissanen's Minimum Description Length (MDL) principle. Experiments show that this compression method does indeed remove noise signi cantly, especially for large noise power. However, it introduces quantization noise and should be used only if bitrate were an additional concern to denoising. An image is often corrupted by noise in its acquisition or transmission. The goal of denoising is to remove the noise while retaining as much as possible the important signal features. Traditionally, this is achieved by linear processing such as Wiener ltering. A vast literature has emerged recently on signal denoising using non-linear techniques, in the setting of additive white Gaussian noise. The seminal work on signal denoising via wavelet thresholding or shrinkage of Donoho and Johnstone ( 12] , 13], 14], 15]) have shown that various wavelet thresholding schemes for denoising have near-optimal properties in the minimax sense and perform well in simulation studies of one-dimensional curve estimation. It has been shown to have better rates of convergence than linear methods for approximating functions in Besov spaces ( 12] , 13]). Thresholding is a nonlinear technique, yet it is very simple because it operates on one wavelet coe cient at a time. Alternative approaches to non-linear wavelet-based denoising can be found in, for example, 1 15 ] also addressed the connection between compression and denoising, especially with non-linear algorithms such as wavelet thresholding in a mathematical framework. However, these latter works were not concerned with quantization and bitrates: compression results from a reduced number of nonzero wavelet coe cients, and not from an explicit design of a coder.. The intuition behind using lossy compression for denoising may be explained as follows. A signal typically has structural correlations that a good coder can exploit to yield a concise representation. White noise, however, does not have structural redundancies and thus is not easily compressable. Hence, a good compression method can provide a suitable model for distinguishing between signal and noise. The discussion will be restricted to wavelet-based coders, though these insights can be extended to other transform-domain coders as well. A concrete connection between lossy compression and denoising can easily be seen when one examines the similarity between thresholding and quantization, the latter of which is a necessary step in a practical lossy coder. That is, the quantization of wavelet coe cients with a zero-zone is an approximation to the thresholding function (see Figure 1) . Thus, provided that the quantization outside of the zero-zone does not introduce signi cant distortion, it follows that wavelet-based lossy compression achieves denoising. With this connection in mind, this paper is about wavelet thresholding for image denoising and also for lossy compression. The threshold choice aids the lossy coder to choose its zero-zone, and the resulting coder achieves simultaneous denoising and compression if such property is desired.. The theoretical formalization of ltering additive iid Gaussian noise (of zero-mean and standard deviation ) via thresholding wavelet coe cients was pioneered by Donoho and Johnstone 13] . A wavelet coe cient is compared to a given threshold and is set to zero if its magnitude is less than the threshold; otherwise, it is kept or modi ed (depending on the thresholding rule). The threshold acts as an oracle which distinguishes between the insigni cant coe cients likely due to noise, and the signi cant coe cients consisting of important signal structures. Thresholding rules are especially e ective for signals with sparse or near-sparse representations where only a small subset of the coe cients represents all or most of the signal energy. Thresholding essentially creates a region around zero where the coe cients are considered negligible. Outside of this region, the thresholded coe cients are kept to full precision (that is, without quantization). Their most well-known thresholding methods include VisuShrink 13] and SureShrink 14] . These threshold choices enjoy asymptotic minimax optimalities over function spaces such as Besov spaces. For image denoising, however, VisuShrink is known to yield overly smoothed images. This is because its threshold choice, p 2 log M (called the universal threshold), can be unwarrantedly large due to its dependence on the number of samples, M, which is more than 10 5 for a typical test image of size 512 512 . SureShrink uses a hybrid of the universal threshold and the SURE threshold, derived from minimizing Stein's unbiased risk estimator 28], and has been shown to perform well. SureShrink will be the main comparison to the method proposed here, and, as will be seen later in this paper, our proposed threshold often yields better result.. Since the works of Donoho and Johnstone, there has been much research on nding thresholds for nonparametric estimation in statistics. However, few are speci cally tailored for images. In this paper, we propose a framework and a near-optimal threshold in this framework more suitable for image denoising. This approach can be formally described as Bayesian, but this only describes our mathematical formulation not our philosophy. The formulation is grounded on the empirical observation that the wavelet coe cients in a subband of a natural image can be summarized adequately by a Generalized Gaussian distribution. This observation is well-accepted in the image compression community (for example, see 18 35] . It follows from this observation that the average MSE (in a subband) can be approximated by the corresponding Bayesian squared error risk with the Generalized Gaussian distribution as the prior applied to each in an iid fashion. That is, a sum is approximate by an integral. We emphasize that this is an analytical approximation and our framework is broader than assuming wavelet coe cients are iid draws from a Generalized Gaussian distribution. The goal is to nd the soft-threshold that minimizes this Bayesian risk, and we call our method BayesShrink.. The proposed Bayesian risk minimization is subband-dependent. Given the signal being Generalized Gaussian distributed and the noise being Gaussian, via numerical calculation a nearly optimal threshold for soft-thresholding is found to be T B = 2 = X (where 2 is the noise variance and 2 X the signal variance). This threshold gives a risk within 5% of the minimal risk over a broad range of parameters in the Generalized Gaussian distribution family. To make this threshold data-driven, the parameters X and are estimated from the observed data, one set for each subband.. To achieve simultaneous denoising and compression, the non-zero thresholded wavelet coefcients need to be quantized. Uniform quantizer and centroid reconstruction is used on the Generalized Gaussian distribution. The design parameters of the coder, such as the number of quantization levels and binwidths, are decided based on a criterion derived from Rissanen's Minimum Description Length (MDL) principle 24]. This criterion balances the trade-o between the compression rate and distortion, and yields a nice interpretation of operating at a xed slope on the rate-distortion curve.. The paper is organized as follows. In Section II, the wavelet thresholding idea is introduced. Section II-A explains the derivation of the BayesShrink threshold by minimizing a Bayesian risk with squared error. The lossy compression based on the MDL criterion is explained in Section III. Experimental results on several test images are shown in Section IV and compared with SureShrink. To benchmark against the best possible performance of a threshold estimate, the comparisons also include OracleShrink, the best soft-thresholding estimate obtainable assuming the original image known, and OracleThresh, the best hard-thresholding counterpart. The BayesShrink method often comes to within 5% of the MSEs of OracleShrink, and is better than SureShrink up to 8% most of the time, or is within 1% if it is worse. Furthermore, the BayesShrink threshold is very easy to compute. BayesShrink with the additional MDL-based compression, as expected, introduces quantization noise to the image. This distortion may negate the denoising achieved by thresholding, especially when is small. However, for larger values of , the MSE due to the lossy compression is still signi cantly lower than that of the noisy image , while fewer bits are used to code the image, thus achieving both denoising and compression.

O B I O B I 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 B I 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 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 B I 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 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 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 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 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


An algorithm for checking whether the toric ideal of an affine monomial curve is a complete intersection Abstract. Let K be an arbitrary field and {d1, . . . , dn} a set of all-different positive integers. The aim of this work is to propose and evaluate an algorithm for checking whether or not the toric ideal of the affine monomial curveThe algorithm is based on new results regarding the toric ideal of the curve, and it can be seen as a generalization of the classical result of Herzog for n = 3. Computational experiments show that the algorithm is able to solve large-size instances.. Primary 13P99; Secondary 13F20 14H45. Let R = K[x 1 , . . . , x n ] be a polynomial ring over a field K. Denote by x a the monomial x a1 1 · · · x an n , where a = (a 1 , . . . , a n ) ∈ N n . A binomial f in R is a difference of two monomials, i.e. , f = x a − x b for some a, b ∈ N n . An ideal of R generated by binomials is called a binomial ideal. Let {d 1 , . . . , d n } be a set of all-different positive integers and consider the monomial curve. The image of the homomorphism of K-algebras φ :. . Its kernel is denoted by I(d 1 , . . . , d n ) and it is a quasi-homogeneous ideal, i.e., a homogeneous ideal when one gives degree d i to variable x i for all i ∈ {1, . . . , n}. . The aim of this work is to obtain and implement an efficient algorithm for checking whether or not I(d 1 , . . . , d n ) is a complete intersection. In the positive case, g 1 , . . . , g n−1 are also determined. For all i ∈ {1, . . . , n} let us define. Herzog in [7, Theorem 3.8] gives the following result when n = 3 :. It is well-known that Herzog's characterization does not hold for n > 3. In this work, we design and implement an algorithm for checking whether or not a toric ideal is a complete intersection based on the computation of the smallest positive multiple of an integer that belongs to a semigroup. Therefore, the contribution of this work can be seen as a generalization of Herzog's result.. The algorithm exploits the combinatorial-arithmetical structure of complete intersections given by the existence of a certain binary tree labeled by {d 1 , . . . , d n } stated in [1, Theorem 4.3] . A binary tree is a connected directed rooted tree in which every node has either two children or zero. Nodes with no children are called terminal nodes and the only node with no parent is called the root of the tree. A binary tree with n terminal nodes is said to be labeled by {d 1 , . . . , d n } if its terminal nodes are labeled by {d 1 } , . . . , {d n } . Let v be a node of a binary tree T labeled by {d 1 , . . . , d n } and T v the subtree of T whose root node is v . Denoting by ∆ v the subset of {d 1 , . . . , d n } such that T v is labeled by ∆ v , Theorem 4.3 in [1] proves the following: I(d 1 , . . . , d n ) is a complete intersection, it does not provide an efficient algorithm for solving this problem. Nevertheless, it is extremely useful for obtaining the algorithm described in this work.

O O O O O O O O O O O B I 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 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 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 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 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


The Colored Eulerian Descent Algebra Abstract. Using a new colored analogue of P -partitions, we prove the existence of a colored Eulerian descent algebra which is a subalgebra of the Mantaci-Reutenauer algebra. This algebra has a basis consisting of formal sums of colored permutations with the same number of descents (using Steingrímsson's definition of the descent set of a colored permutation). The colored Eulerian descent algebra extends familiar Eulerian descent algebras from the symmetric group algebra and the hyperoctahedral group algebra to colored permutation group algebras. We also describe a set of orthogonal idempotents that spans the colored Eulerian descent algebra and includes, as a special case, the familiar Eulerian idempotents in the group algebra of the symmetric group.

O B I I I O O O O O O O O O O O O O O O B I 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 B I 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 B I I I O O O O O O O O O O O O O O O O O O


ON LIU'S INFERENCE RULE FOR UNCERTAIN SYSTEMS Liu's inference is a process of deriving consequences from uncertain knowledge or evidence via the tool of conditional uncertainty. Using membership functions, this paper derives some expressions of Liu's inference rule for uncertain systems. This paper also discusses Liu's inference rule with multiple antecedents and with multiple if-then rules. The practical systems are usually in states of uncertainty. When the uncertainty is neither random nor fuzzy, we cannot deal with it by probability theory or credibility theory. In order to deal with subjective uncertainty, Liu 6 founded an uncertainty theory that is based on normality, monotonicity, self-duality, countable subadditivity, and product measure axioms. Considerable work has been done based on uncertainty theory. Gao 3 gave some mathematical properties of uncertain measure. You 12 studied some convergence theorems of uncertain sequences. Liu 10 founded uncertain programming to model optimization problems in uncertain environments. Liu proposed uncertain calculus 8 and the concept of uncertain process. 7 Li and Liu 5 proposed uncertain logic and defined the truth value as the uncertain measure that an uncertain proposition is true. Uncertainty theory has become a new tool to describe subjective uncertainty and has wide applications in engineering. For a detailed exposition, the interested reader may consult the book. We have obtained some explicit expressions for Liu's inference rule by membership functions for uncertain systems. Furthermore, we extended Liu's inference rule to uncertain inference systems with multiple antecedents and with multiple if-then rules, and finally obtained the general inference rule.

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 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 O O O O 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 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 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 B I O O O O O O O O O O B I O B I O O O O O O O O O O O O O O B I


Efficient k-nearest neighbor search on moving object trajectories Abstract With the growing number of mobile applications, data analysis on large sets of historical moving objects trajectories becomes increasingly important. Nearest neighbor search is a fundamental problem in spatial and spatiotemporal databases. In this paper, we consider the following problem: Given a set of moving object trajectories D and a query trajectory mq, find the k nearest neighbors to mq within D for any instant of time within the lifetime of mq. We assume D is indexed in a 3D-R-tree and employ a filter-and-refine strategy. The filter step traverses the index and creates a stream of so-called units (linear pieces of a trajectory) as a superset of the units required to build the result of the query. The refinement step processes an ordered stream of units and determines the pieces of units forming the precise result. To support the filter step, for each node p of the index, in preprocessing a time-dependent coverage function C p (t) is computed which is the number of trajectories represented in p present at time t. Within the filter step, sophisticated data structures are used to keep track of the aggregated coverages of the nodes seen so far in the index traversal to enable pruning. Moreover, the R-tree index is built in a special way to obtain coverage functions that are effective for pruning. As a result, one obtains a highly efficient kNN algorithm for moving data and query points that outperforms the two competing algorithms by a wide margin. Implementations of the new algorithms and of the competing techniques are made available as well. Algorithms can be used in a system Moving objects databases have been the subject of intensive research for more than a decade. They allow one to model in a database the movements of entities and to ask queries about such movements. For some applications only the time-dependent location is of interest; in other cases also the time-dependent extent is relevant. Corresponding abstractions are a moving point or a moving region, respectively. Examples of moving points are cars, air planes, ships, mobile phone users or animals; examples of moving regions are forest fires, the spread of epidemic diseases and so forth.. Some of the interest in this field is due to the widespread use of cheap devices that capture positions, e.g., by GPS, mobile phone tracking or RFID technology. Nowadays not only car navigation systems, but also many mobile phones are equipped with GPS receivers, for example. Vast amounts of trajectory data, i.e., the result of tracking moving points, are accumulated daily and stored in database systems [14, 31, 41] .. There are two kinds of such databases. The first kind, sometimes called a tracking database, represents a set of currently moving objects. One is interested in continuously maintaining the current positions and to be able to ask queries about the current as well as the expected positions in the near future. This approach was pioneered by the Wolfson group [43, 48] . With this approach, a cab company can find the nearest taxi to a passenger requesting transportation.. The other kind of moving objects database represents entire histories of movement [17, 25] , e.g., the entire set of trips of the vehicles of a logistics company in the last day or even month or year. For moving points such historical databases are also called trajectory databases. The main interest is in performing complex queries and analyses of such past movements. For the logistics company, this might result in improvements for the future scheduling of deliveries. For zoologists, the collected movement information of animals (equipped with a radio transmitter) can be used to analyze their behavior.. There has been a lot of interest in research to support such analyses, for example in data mining on large sets of trajectories [23] , on discovering movement patterns such as flocks or convoys traveling together [24, 31] , on finding similar trajectories to a given one [20] , to name but a few. Of course, indexing and query processing techniques (see [35] ) play a fundamental role in supporting such analyses.. In this paper, we consider the problem of computing continuous nearest neighbor relationships on a historical trajectory database. Nearest neighbor queries are, besides range queries, the most fundamental query type in spatial databases. With the advent of moving objects databases, also timedependent versions have been studied. One can distinguish four types of queries:. -static query vs. static data objects (i.e., the classical nearest neighbor query) -moving query vs. static data objects (e.g., maintain the five closest hotels for a traveler) -static query vs. moving data objects (e.g., observe the closest ambulances to the site of an accident) -moving query vs. moving data objects (e.g., which vehicles accompanied president Obama on his trip through Berlin). Furthermore, one can consider these query types in a tracking database which leads to the notion of a continuous query, maintaining the result online while entities are moving. This is most interesting for consumer applications. But one can also consider these queries in the context of analyzing historical trajectories which is the case studied in this paper.. Note that the last of the four query types is the most difficult and general one. It includes all other cases, as a static object can be represented as a moving object that stays in one place. We will handle this case.. The precise problem considered is the following. We call the data type representing a complete trajectory moving point or mpoint, for short [17, 25] . Let d( p, q) denote the Euclidean distance between points p and q. Let mp(i) denote the position of moving point mp at instant i. In this paper, we have studied continuous k nearest neighbor search on moving objects trajectories when both query and data objects are mobile. We have presented a filter-and-refine approach. The main idea in the filter step was to compute for each node of the index its time-dependent coverage function in preprocessing and to store a suitable simplification of this function. Coverage numbers are then essential for pruning during the index traversal. This is further supported by the use of efficient data structures to compute spatial bounding boxes of partial query trajectories and to keep track of node coverages and node distances during traversal. The refinement step can also be used independently to find continuous k nearest neighbors fulfilling further predicates. An experimental comparison shows that the new algorithm outperforms the two competing algorithms in most cases by orders of magnitude.. As a second aspect, we have advocated a methodology of experimental research that makes data structures and algorithms available in a system context and that publishes together with papers also their implementation used in experiments. A platform has been provided that allows authors to publish software in this way. As a benefit, readers can relatively easily repeat or extend the experiments presented in the paper. Furthermore, in the long run, researchers will find existing implementations to compare to instead of always reimplementing competing techniques from scratch. We have used the research contribution of this paper as an example to demonstrate this style of publishing experimental research.. Open questions for future work are whether the pruning techniques of the filter step can be adapted to other cases, for example other query types such as reverse nearest neighbors, network-based movement or the presence of additional predicates. where Trip contains the actual trajectory.. We briefly look at these data within the system. This may suffice as a brief introduction to using Secondo. To become a bit more acquainted with the user interface and the querying and visualizing of moving objects, we recommend to go through the "Do it yourself demo" ( [5] , Section 2). More information about using Secondo can be found at the Web site [8] , in particular in the user manual [7] . There are several types of kNN queries. The most simple case is that both the query point and the data points are static. The first algorithm for efficient nearest neighbor search on an R-tree was proposed by [42] using depth-first traversal and a branch-and-bound technique. An incremental algorithm was developed in [27] . Again, an R-tree is traversed. Here a priority queue of visited nodes ordered by distance to the query point is maintained. The incremental technique is essential if the number of objects needed is not known in advance, e.g., if candidates are to be filtered by further conditions. Because in this case all involved objects are static, also the result is a fixed set of objects.. The first algorithm for CNN (continuous nearest neighbor) queries was proposed in [44] . It handles the case that only the query object is moving, while the data objects remain static. Here the basic idea is to issue a query at each sampled or observed position of a query point, trying to exploit some coherency between the location of the previous and the current query. This algorithm suffers from the usual problems of sampling. If there are too few sample points, the result may be inaccurate. On the other hand, many sampling points lead to an increase in computation time without any guarantee for a correct result.. An improved algorithm was proposed by [47] . Here, an algorithm searches the R-tree only once to find the k nearest neighbors for all positions along a line segment, without the need of sampling points.. There exists a lot of work related to continuous k nearest neighbor queries [9, 28, 29, 37, 40, 45, 49, 50] . In all these approaches, tracking databases are assumed, and the task is online maintenance of nearest neighbors for a moving query point, in some cases also for moving data points. For each of these objects, only the current and near future position is known. Index structures like the TPR-tree are used [9, 40] which indexes current and near future positions; in some cases simple grid structures are employed to support high update rates [49, 50] . In [9] , also reverse nearest neighbor queries are addressed. Iwerks et al. [29] also support updates of motion vectors.. Note that all this work is fundamentally different from the problem addressed in this paper because only the current motion vector is known. In contrast, we are considering historical trajectory databases. In this case, the data set is not only a vector for each moving object, but a complete trajectory, and there is no need to process pieces of a trajectory in a particular order (e.g., in temporal update order). Instead, the set of trajectories can be organized and traversed in any way that is suitable.. A few works have considered the case of historical trajectory databases and we consider these next in some detail.. In [22] , Gao et al. propose two algorithms for a query point and for a query trajectory, respectively, on a set of stored trajectories. Different to our algorithm, the result is static, i.e., they return the ids of the k trajectories which ever come closest to the query object during the whole query time interval. In contrast, our approach will report the k nearest neighbors at any instant for the lifetime of the query object.. In [19] , several types of NN queries on historical data are addressed. The types depend on whether the query object is moving or not and whether the query itself is continuous or not. One of the types corresponds to the TCkNN query defined in Sect. 1. The authors represent trajectories as a set of line segments in 3D space (2D + time). The segments are indexed by an R-tree like structure (e.g., 3D R-Tree, TB-tree or STR-tree). The algorithm is formulated for the special case k = 1 and then extended to arbitrary values of k. The nodes of the tree are traversed in depth-first manner. If a leaf is reached, the contained line segments are inserted into a structure named nearest containing the distance curves between the already inserted segments and the segments coming from the query point. Entries whose minimal distance to the query object is greater than the maximal distance stored in nearest are ignored. Other segments are inserted extending existing entries if applicable. For a nonleaf node, all children are checked whether they can be pruned (minimal distance is larger than the maximal distance stored in nearest during the time interval covered by the node). For an arbitrary k, a buffer of k nearest structures is used.. In this paper, we traverse the tree in breadth-first manner. Besides the tree, we determine in preprocessing and store the time-dependent number of data objects present in a node's subtree. 1 This allows pruning nodes using only information of nodes at the same level of the tree reducing the number of nodes to be considered.. [21] extends the approach of [22] to continuous queries, hence, also to the TCkNN problem. The entries stored in a TB-tree are inserted into a set of k lists l 1 , . . . , l k . These lists contain distance functions with links to the corresponding units. For each instant, the distance value in list l i is smaller or equal to the distance value in list l i+1 . Thus, for each instant, the list l i contains the distance to the current i-th neighbor or ∞ if no distance is stored for this instant. The maximum distance stored in a list l i is called Prunedist(i). Thereby all objects whose minimum distance is greater than Prunedist(k) can be pruned. The main algorithm traverses a TB-tree in best-first manner. A priority queue sorted by minimum distance contains non-processed nodes of the tree. The queue is initialized with the root of the tree. If the top element of the queue is a node, it is removed and its entries are inserted into the queue ignoring those non-overlapping the query time interval and those with min Dist > Prunedist (k). Unit entries are inserted into the set of lists. The process is finished when the minimum distance of the top entry of the queue is greater than PruneDist(k) or the queue is exhausted. So, pruning is based on disjoint time intervals or information from the trajectory entries. A more detailed description is given in Sect. 6.3.. In contrast, our approach allows pruning using also information of nodes on higher levels of the tree. Because the refinement step of our algorithm can be used separately, it is possible to combine it with other filter steps, for example if a query contains additional filter conditions.. As already mentioned, we maintain for each node of the R-tree index used some derived information. Some previous work has augmented R-trees and other structures by storing such auxiliary information in each node [32, 34, 38, 46] . For example, the aggregate R-tree (aR-tree) [32, 38] stores numerical measures associated with regions in its leaves, and aggregations over such values for each subtree in internal nodes (the root of the subtree). Aggregation functions can be count, sum or max, for example. It supports efficient aggregate range queries, i.e., computing the aggregate over a query region. Figure 2 shows the trajectories of two moving points in 3D space. We use the sliced representation [17] This is a well-established definition of trajectory in the literature [26] . Another common representation is a temporally ordered sequence of triples (t i , x i , y i ). Both representations can be easily converted into the other one. The definition based on units emphasizes that a trajectory is an approximation of a continuous movement curve that can be evaluated at any instant of time. The second definition is often interpreted to represent a sequence of observations. How trajectories are derived from observations is a complex issue that is beyond the scope of this paper. A simple possibility is that a GPS receiver captures positions every 2 s, which may be typical for car navigation systems. But there may be other steps involved such as map matching or compression [13, 33] , and the frequency of transmitting positions may depend on update policies.

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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Branching bisimulation for probabilistic systems: characteristics and decidability We address the concept of abstraction in the setting of probabilistic reactive systems, and study its formal underpinnings for the strictly alternating model of Hansson. In particular, we define the notion of branching bisimilarity and study its properties by studying two other equivalence relations, viz. coloured trace equivalence and branching bisimilarity using maximal probabilities. We show that both alternatives coincide with branching bisimilarity. The alternative characterisations have their own merits and focus on different aspects of branching bisimilarity. Coloured trace equivalence can be understood without knowledge of probability theory and is independent of the notion of a scheduler. Branching bisimilarity, rephrased in terms of maximal probabilities gives rise to an algorithm of polynomial complexity for deciding the equivalence. Together they give a better understanding of branching bisimilarity. Furthermore, we show that the notions of branching bisimilarity in the alternating model of Hansson and in the nonalternating model of Segala differ: branching bisimilarity in the latter setting turns out to discriminate between systems that are intuitively branching bisimilar. One of the hallmarks of process theory is the notion of abstraction. Abstractions allow one to reason about systems in which details, unimportant to the purposes at hand, have been hidden. It is an invaluable tool when dealing with complex systems. Research in process theory has made great strides in coping with abstraction in areas that focus on functional behaviours of systems. However, when it comes to theories focusing on functional behaviours and extra-functional behaviours such as probabilistic behaviour, we suddenly find that many issues are still unresolved.. This paper addresses abstraction in the setting of systems that have both non-deterministic and probabilistic traits, hereafter referred to as probabilistic systems. The model that we use throughout this paper to describe such systems is that of graphs that adhere to the strictly alternating regime as studied by Hansson [14] , rather than the non-alternating model [19, 20] as proposed by Segala et al. In particular, we study the notion of branching bisimilarity for this model. The need for this particular equivalence relation is already convincingly argued by e.g. Van Glabbeek and Weijland in [13] , and by Groote and Vaandrager in [12] . Recall that branching bisimilarity for probabilistic systems has been defined earlier for the nonalternating model by Segala and Lynch [20] and a variation on that notion was defined by Stoelinga [21] . However, we stress that the differences in the alternating model and the non-alternating model lead to incompatibilities of the notions of branching bisimilarity in both settings. In fact, these differences are a key motivation for our investigation: while our notion of branching bisimulation satisfies the properties commonly attributed to it, the existing notions turn out to be too strict in their current phrasing (as we explain in detail in section 7, page 7), and discriminate between systems that are intuitively branching bisimilar. We defined the notion of branching bisimulation for the strictly alternating model of Hansson [14] for probabilistic systems. We showed that it preserves the non-deterministic branching structure of a system by defining an alternative equivalence, called coloured trace equivalence, that clearly satisfies this property, and we subsequently showed that the two equivalences coincide. Furthermore, we showed that the branching bisimulation conditions can be rephrased to conditions that use schedulers which induce maximal probabilities.. The alternative characterisations (in terms of colours and in terms of maximal probabilities) each have their own merits. Coloured trace equivalence is easily understood without knowledge of probability theory, schedulers, etcetera. It moreover clearly illustrates the fundamental property of branching bisimulation: the preservation of potentials and computations (see section 6). The result that indicates that it suffices to use schedulers which induce maximal probabilities is at the basis for the decision procedure with polynomial time complexity that we give in section 3.3.. We find that the two alternative characterisations add to the understanding of branching bisimulation in the alternating model, and to the correctness of the definition. Moreover, we find that it also can be used to validate the existing notion of branching bisimulation in another setting, i.e. the non-alternating model. A brief comparison of both notions already indicates that there are fundamental differences between the two (see section 7). These differences provide compelling evidence that the notion of branching bisimulation in the non-alternating model may not live up to its name in its current phrasing: we find that processes that are intuitively branching bisimilar (and can be proven to be branching bisimilar in our setting) cannot be related in the non-alternating setting. However, more research (possibly along the lines of [7] ) is required to compare the two notions in more detail. This is beyond the scope of this paper.. We pose two open problems. The first open problem is whether coloured trace equivalence gives rise to a different type of algorithm for deciding branching bisimilarity than the ones that are based on schedulers. The second open problem is to find an answer to whether the branching bisimulation relation of [20] admits a characterisation in terms of an equivalence based on colours. Apart from these problems, we are in the process of giving a complete and sound axiomatisation of branching bisimulation for the basic operators. The literature reports on two approaches for modelling reactive probabilistic system. The first approach is the model of probabilistic (simple) automata (often called the non-alternating model), which was introduced in [20, 19] . The second approach, based on the Concurrent Markov Chains of [22] , is that of the alternating model, which was introduced in [14] by Hansson. The theory outlined in this paper is based on this latter model. One might argue that the differences between both models are fairly insignificant, and, up to a certain point, this is true: as shown in [7] , the two models do not differ up to strong bisimulation. However, when we consider equivalence relations that are sensitive to internal activities, this picture suddenly changes. For instance, in [7] , Segala and Bandini show that weak bisimilarity for the alternating model (defined in [18] ) and weak bisimilarity for the non-alternating model (as defined in [19, 20] ) are incomparable. We briefly review the relevant literature and place our contribution and motivation in perspective.. Alternating model vs. non-alternating model. Comparing our notion of branching bisimulation with the notion of branching bisimulation in the non-alternating setting, as defined by Segala and Lynch [19, 20] we find that their notion is more restrictive. This is illustrated by the following example. Consider the two graphs of figure 3 (see section 2.3, page 10 ). In contrast with our notion of branching bisimulation, we find that these two graphs are not related by branching bisimulation in the non-alternating model. The reason is obvious: k appears as a node in the "non-alternating" counterpart of the left graph and it cannot be related to any node in the "non-alternating" counterpart of the right graph. A variation of branching bisimulation called delay branching bisimulation, which is defined by Stoelinga [21] , exhibits the same phenomenon.. In this paper, we showed that our definition of branching bisimilarity satisfies the properties originally attributed to it (by following the approach as laid out by Van Glabbeek and Weijland [13] in the nonprobabilistic case, see section 5 and section 6). We therefore believe that the definition of branching bisimulation in the non-alternating setting may be incomplete and further research is required to solve this issue.. Note that the so-named combined version of branching bisimulation in [20] relates processes that are not related by our branching bisimulation (but still not the ones from figure 3 ). This means that our branching bisimulation and the combined version of branching bisimulation are incomparable. Further investigations along the lines of [7] are needed to fully explore all differences. This, however, is beyond the scope of this paper.. Branching bisimilarity vs. weak bisimilarity. When we compare our definition of branching bisimilarity with weak bisimilarity as defined by Philippou et al. [18] , we find that branching bisimilarity is strictly finer (although there is a big overlap in systems that are both, and for some classes of systems such as fully probabilistic systems [5] , it is known that both equivalences coincide). This is due to the fact that branching bisimilarity preserves the (non-deterministic) branching structure of a system, whereas weak bisimilarity does not, which is also the case in the non-probabilistic setting. Note that in [11] a logic in the PCTL * style is defined and the soundness and completeness properties of the equivalence relation induced by the logic are proven with respect to the weak bisimulation of [18] . Having in mind the results in the non-probabilistic setting saying that CTL * without the next operator corresponds to branching bisimulation (e.g. [10] ), the result in [11] may suggest that weak and branching bisimulation for the alternating model (for systems with both probabilistic and non-deterministic behaviour) do coincide. However, this is not the case: the soundness and completeness results in [11] are due to the "non-standard" semantics given to the PCTL * -like operators. Namely, the path formulas are not interpreted on paths but on behavioursinformally, a behaviour is the observable part of one path. Clearly, with this interpretation the logic cannot make it possible to see the change of the potentials, which is the essential point that distinguishes weak and branching bisimulation.. Below, we give two examples to illustrate the differences between weak and branching bisimulation. The first example shows that two non-probabilistic systems, encoded as graphs are weak bisimilar but not branching bisimilar (other examples of this can also be found in Van Glabbeek and Weijland [13] ). Example 7.1. Consider the two graphs of Fig. 7 . These graphs encode two non-probabilistic systems (i.e. only the trivial probability 1 appears). Using the definition of weak bisimulation [18] , one can easily check that both graphs are weak bisimilar. However, the graphs are not branching bisimilar, or, equivalently, there is no proper consistent colouring of the two graphs such that both have the same set of coloured traces. The next example shows that weak bisimilarity and branching bisimilarity do not only differ for nonprobabilistic systems, but that they also differ for real probabilistic systems.. Example 7.2. Consider the two graphs of Fig. 8 . Using the definition of weak bisimulation [18] , it easily follows that the two graphs are weak bisimilar. Based on our definition of branching bisimulation, we find that the two graphs are not equivalent. This is because in the right graph, after executing an action a, there is still a possibility of executing action c, unlike in the right branch of the left graph. Decidability. Finally, we find that no extensive study on the decidability and complexity of branching bisimulation has been conducted. To this date, no algorithm for deciding branching bisimilarity (in the non-alternating model) has been defined, whereas our notion can be decided in polynomial time (see section 3.3). Deciding weak bisimilarity in the alternating setting can be achieved in polynomial time [18] , whereas the best known algorithm for deciding weak bisimilarity in the non-alternating model as defined in [20] is exponential [9] . Only a finer variant of weak bisimulation (for the non-alternating model), called weak delay bisimulation [21, 6] is decidable in polynomial time [6] .

B I O B I O O O O O O O O B 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 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 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 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 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 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 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 B I 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 O O O O O O O O O O O O O O O O O O O O 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 B I 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B I 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 B I 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 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 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 B I 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 B I 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 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 B I O O O O O O O O O O O O B I 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 B I 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 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 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


Reconstruction of three-dimensional objects through matching of their parts Abstract. The problem of reassembling an object from its parts or fragments has never been addressed with a unified computational approach, which depends on the pure geometric form of the parts and not application-specific features. We propose a method for the automatic reconstruction of a model based on the geometry of its parts, which may be computergenerated models or range-scanned models. The matching process can benefit from any other external constraint imposed by the specific application. An innovative method has been presented for the combination of three-dimensional object parts to reconstruct the original objects. The matching algorithm is based on geometric features of the fragments, but it can also exploit additional knowledge; it can therefore be combined with other classification methods. The core of the method is a matching error estimation algorithm based on the distance between the facing fragment sides. When a global optimization algorithm is used with this error estimator as a cost function, the resulting method locates a relative pose of the two object parts at which there is a good complementary match. Our method takes advantage of widely available low-cost hardware to accelerate the process.. We are currently working on the combination of the method proposed here with other, feature-based methods, like the ones listed in the introduction section, in order to investigate the possibility of a reliable and fully automatic object reconstruction procedure. Up to now the application of pattern recognition and stochastic analysis techniques in three-dimensional computer graphics focuses on object recognition and classification [11] , [17] , [21] , [23] , [3] . On the other hand, almost no work has been conducted towards the identification of complementary objects, i.e. objects that can be assembled to form a new solid object. This need arises in various scientific areas, such as computer-aided manufacturing or archaeological applications where the problem is to reconstruct a complete object from its parts.. In most cases the role of a computer in object reconstruction is limited to data acquisition, fragment visualization and manipulation, while the actual reconstruction process is supervised by the scientist [9] , [8] . In the two-dimensional case, where the complementary matching is reduced to the "jigsaw puzzle" problem, many solutions have been proposed, as in [7] , [6] . To our knowledge, the number of automatic or semiautomatic reconstruction algorithms in three dimensions developed up to now is extremely limited, while the techniques used are applicable only to specific types of object fragments. Some of these algorithms focus on the reconstruction of thin walled object fragments (like pots) and rely either on classification of certain qualitative features of the fragments, as in [19] , or comparison of the broken surface boundary curves to match and align the pieces [22] . The first method assumes that the structure of the final, complete object is known a priori and fragments have to be extensively labeled and categorized beforehand. The second addresses the problem as boundary curve matching instead of full surface matching, and therefore cannot handle arbitrary object parts.. Matching algorithms that operate on partial data in three dimensions mostly deal with the fusion of surface segments of the same object rather than perform a complementary matching, and are frequently intended for mesh generation from partial scans, as in [16] , [5] . In [1] , Barequet and Sharir introduced a robust and noise tolerant method for the matching of point clouds representing the shell or the volume of partially identical objects. This method is based on the geometric hashing paradigm [18] , [7] and requires that user defined "footprints" are calculated for or assigned to the evenly distributed points of the data sets.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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