Usage of agents in document management Abstract. EXtensible Java-based Agent Framework (XJAF) is a pluggable architecture of the hierarchical intelligent agents system with communication based on KQML. Workers, Inc. is a workflow management system implemented using mobile agents. It is especially suited for highly distributed and heterogeneous environments. The application of the above-mentioned systems will be considered in the area of Document Management Systems. According to the most general definition, a mobile agent is a program that is able to stop its execution at one node in a computer network, and to transfer itself to another node where its execution continues. An important feature of mobile agents is their autonomous behavior: a mobile agent autonomously decides when and where it will be transferred.. EXtensible Java-based Agent Framework (XJAF) [32] is a pluggable architecture of the hierarchical intelligent agents system with communication based on KQML. This framework supports pluggable software managers that are dealing with a particular job. The system is designed so that it is possible to choose an arbitrary manager when configuring provided that it implements the given interface. This enables the use of arbitrary managers whose existence is not necessary at compile-time. The system is compliant to the FIPA specification and has been implemented using Java Enterprise Edition (JEE) technology.. Workflow [13, 37, 38] can be defined as the automated part of a business process, organized as a collection of activities, where documents, information or tasks are passed between participants according to a set of procedural rules. A workflow management system (WFMS) provides for defining, creating, and managing of workflow instances.. The usage of mobile agents [14] in modeling and implementation of a workflow [37] simplifies the workflow management. Workers, Inc. [25] consists of individual agents with autonomous behavior. Mobile agents carrying out workflow instances (the so-called workers) have the ability to move to different users, where they can interact with them locally, autonomously taking care of their current position, state, and further itinerary. In order to achieve the flow of work, workers split the work in logical parts, cooperate together, and synchronize themselves.. To allow the exchange of process definitions with various other workflow products (ranging from other workflow management systems to modeling and simulation tools), the system had to be made compliant with XML Process Definition Language (XPDL) [39] , the proposed standard in the area of workflow definition languages. In order to comply with XPDL, the system first had to be modified to conform to the basic constructs of XPDL and the underlying meta-model. Moreover, a system-specific import layer had to be provided to allow the translation of XPDL process definitions, generated using a visual modeling tool, into worker execution contexts, their internal system representations.. The application of the above-mentioned systems will be considered in the area of Document Management Systems.. The rest of the paper is organized as follows. In the next section, the related work is presented. Main concepts of agent frameworks are described in the third section, introducing basic technologies that can be used for their implementation. The section 4 presents the architecture of XJAF, while sections 5 and 6 describe the architecture of Workers, Inc. The seventh section provides a brief introduction into the area of document management systems, discussing possibilities of an agent-oriented approach to the design and implementation of such systems. Finally, the eighth section concludes the paper. The idea of implementing a document management system involved two modern, attractive and promising fields in computer science:. 1. Software agents with the attributes they possess: autonomy, social ability, responsiveness, proactiveness. Also, two distinguishing characteristics are very important and make agents more promising for application in different areas:  high-level tasks can be delegated to agents who will autonomously carry them out,  agents are situated in an environment which can dynamically affect their problem solving behavior and strategy. 2. Workflow is concerned with automation of procedures where documents, information or tasks are passed between participants according to a defined set of rules to achieve or contribute to an overall business goal. The approach to an agent framework implementation using the Java EE technology provides for scalability and reliability. This approach offers agent and service directory services, security, message exchange and agent mobility. The EJB technology, as a part of the J2EE concept, offers the simple use of all technologies necessary to implement this approach. The future work will include defining and implementing the specialized agent language, based on KQML. Also, all concepts handled by managers will be developed further. The research in the field of interoperability among different platforms (including web services) and improvement of security will be taken into consideration for further real implementation.. The main characteristics of a workflow system suggested in this paper are almost full decentralization and distribution of workflow functions. The proposed organization mimics usual user activities in a real flow of work. Moreover, it relieves them (or any centralized control) from the need to know what to do next with the work-agent. Every user takes care only of workagents that are currently on its node. Where they came from, why they are here, and where they will go later, is not concern of the user.. Finally, the paper presented a possibility of using the two very attractive fields (agent technology and workflow) for the document management implementation, emphasizing the basic features of the proposed system. The work in these directions has already been started and more significant results are expected in the following period.. Dragoslav Pešović is an assistant professor at Faculty of Science, Department of Mathematics and Informatics, University of Novi Sad. His research interests include: mobile agents and distributed systems. He has published 10 scientific papers in proceedings of international conferences, has written 2 university textbooks. Zoran Budimac is a professor at Faculty of Science, Department of Mathematics and Informatics, University of Novi Sad. He graduated in 1983 (informatics), received master"s degree (computer science) in 1991 and doctor"s degree (computer science) in 1994. His research interests include: mobile agents, e-learning, software engineering, case-based reasoning, implementation of programming languages. He has been project leader for several international and several national projects. He has published over 180 scientific papers in proceedings of international conferences and journals, has written more than 12 university textbooks in different fields of informatics.. Mirjana Ivanović is a professor at Faculty of Sciences, Department of Mathematics and Informatics, University of Novi Sad. She graduated in 1983 (informatics), received master"s degree (discrete mathematics and programming) in 1988 and doctor"s degree (computer science) in 1992. Her research interests include: multi-agent systems, e-learning and web-based learning, data mining, case-based reasoning, programming languages and tools. She actively participates in more than 10 international and several national projects. She has published over 190 scientific papers in proceedings of international conferences and journals, has written more than 10 university textbooks in the field of informatics and ICT. She is the Head of Computer Science Chair. Jovana Vidaković is a teaching assistant at Faculty of Sciences, Department of Mathematics and Informatics, University of Novi Sad. She graduated in 1999 (informatics), received master"s degree in 2003. Her main research interests include databases, XML technologies, web and internet programming. She has published 7 scientific papers and has been coauthor of 1 university textbook. Agent frameworks can be analyzed from several points of view. From the problem domain point of view, frameworks can be general-purpose [1, 2, 8, 9] , or specialized ones, which solve particular problems [18, 36] . Also, from the technology point of view, agent frameworks are based on either proprietary solutions or on solutions based on the distributed components technology. Agent frameworks like JAF (Java Agent Framework) [8] and JAT (Java Agent Template) [9] are based on proprietary solutions, while Aglets [1] and JADE (Java Agent DEvelpment framework) [2] are based on the RMI, CORBA and Java EE technology.. The large number of papers is related to the security issues in agent frameworks [3, 12, 30, 35] . Security issues regarding agent frameworks include: providing message integrity, code protection during agent migration and protecting agent frameworks from malicious agents.. This paper presents an implementation of an agent framework which is based on the Java EE technology. All important elements of this framework are implemented as plug-ins, which provides for flexibility in both design and implementation.. Several authors have recently suggested a usage of agents in workflow and document management.. Rather than going top-down in describing possible use of mobile agents in workflow management, we take bottom-up approach. Workers, Inc. is highly decentralized and consists solely of individual agents with autonomous behavior, which differentiates it from approaches in [5, 6, 15, 20] . The only centralized control in our system is the control of user rights to create, access, and change agents and templates, while all mentioned papers describe systems that had some forms of centralized control or services.. With respect to decentralization, our system resembles [28] that is based on static CORBA objects. While decentralization in [28] was one of explicit design goals and had to be explicitly implemented, decentralization in our system comes for free as a natural consequence of agent mobility and autonomous behavior. Moreover, our system is uniform -it is designed to use only one mechanism (mobile agents), without the need for additional mechanisms (transactions, HTTP protocol, HTML documents, Web browsers, CORBA, etc.) While in [16] full decentralization of WfMS using mobile agents is shortly mentioned, the paper in fact describes the usage of mobile agents in centralized WfMS and only for external parties. Moreover, agents in [16] are specialized and created to one task only. Itinerary is saved on hosts instead in agents themselves which reduces the agent autonomy. Our system completely relies on agents and is fully distributed with autonomous agents.. Stromer in [29] describes similar goals and advantages of using mobile agents in WfMS as we are, but his implementation is different.. Among document management systems proposed over the years, there are some that are agent-based [7, 27] or only agent-enhanced (where an agent layer is added on top of existing infrastructure) [21] . However, none of the mentioned systems emphasizes the benefits of using agent mobility.. Proposed workflow and document management systems bring some fresh views not only in particular fields of workflow and document management, but in mobile computing as well. In both fields, the advantages of highly decentralized and distributed approach in designing a system have not been often recognized. The most cited advantages of mobile agents with respect to classical techniques of distributed programming are: 1. Potentially better efficiency of the whole system. A client program migrates to a server node, locally communicates with a server program, and returns to the original node with a result. In that way, the overall network traffic, including the number of remote interactions and the amount of data communicated over the network, is therefore potentially reduced.. 2. Greater reliability, because the connection between nodes must not be established all the time. Our workflow and document management systems emphasize the fact that mobile agent has organizational advantages as well. Mobile agent systems can be regarded as a separate programming paradigm and not only as an improvement of distributed programming style. Solutions to some problems are easier to program, understand, and maintain, if implemented using mobile agents.

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


A force sensitive multi-touch array supporting multiple 2-D musical control structures We describe the design, implementation, and evaluation with musical applications of force sensitive multi-touch arrays of touchpads.Each of the touchpads supports a three dimensional representation of musical material: two spatial dimensions plus a force measurement we typically use to control dynamics. We have developed two pad systems, one with 24 pads and a second with 2 arrays of 16 pads each. We emphasize the treatment of gestures as sub-sampled audio signals. This tight coupling of gesture with audio provides for a high degree of control intimacy. Our experiments with the pad arrays demonstrate that we can efficiently deal with large numbers of audio encoded gesture channels -72 for the 24 pad array and 96 for the two 16 pad arrays. We describe in considerable detail key issues in coupling gesture data with audio data by locking it to the audio sample clock. We also describe the Xylinx FPGA-based data acquisition system used in the project as well as additional design considerations. We characterize via physical measurement the characteristics of the touchpads and demonstrate that sampling gestures at high rates provides musically useful data particularly for the shaping of amplitude envelopes and related gain structures. We seek an instrumental like response with fine control of dynamics. We stress high reliability and travel worthiness and describe many musical applications. We have designed, implemented, and evaluated an array of touchpad sensors that affords continuous, polyphonic, reactive, and temporally precise synchronization with audio. There are two areas were our sensing system could be considerably improved. As shown in Figure 6 the relationship between force and sensor output is very steep at the onset arriving at a high output value quickly. Our haptic regularization efforts have produced useable results but we would prefer a more linear sensor for finger force. Also the VersaPad pads are hard and do not displace with force. A system that provides a better feeling of resilience would be desirable.. We also conclude that a large number of audio channels can be used to encode gestures as sample-synchronous signals with little in way of processor overhead. As a result we have decided to keep our gestures as signals until they are needed as asynchronous events by the host application.

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


A CAT algorithm for the exhaustive generation of ice piles Abstract. We present a CAT (constant amortized time) algorithm for generating those partitions of n that are in the ice pile model IPM k (n), a generalization of the sand pile model SPM(n). More precisely, for any fixed integer k, we show that the negative lexicographic ordering naturally identifies a tree structure on the lattice IPM k (n): this lets us design an algorithm which generates all the ice piles of IPM k (n) in amortized time O(1) and in space O( √ n).Mathematics Subject Classification. 05A17, 68R99. In this paper, we consider the problem of generating particular integer partitions that are called ice piles. Ice piles were introduced by Goles et al. in [6] , where they defined the ice pile model (IPM) as a generalization of the sand pile model (SPM), a discrete dynamical system which describes the behaviour of a simple game (the sand pile game).. The sand pile game simulates the fall of sand grains organized into adjacent columns of decreasing heights and has a simple evolution rule: if there are two adjacent columns, say i and i + 1, with heights differing by at least 2, a grain can fall down from column i to column i + 1 (the game starts with n grains stacked in column 1).. SPM was introduced by Goles and Kiwi [5] as a restriction of the discrete dynamical model proposed in 1973 by Brylawski [2] in order to study the set of Keywords and phrases. Sand pile model, ice pile model, integer partitions, exhaustive generation, CAT algorithms, discrete dynamical systems.. the linear partitions of an integer n. SPM has been widely studied in physics and in the theory of cellular automata to represent granular objects, and also analyzed from a combinatorial point of view, see [1, [5] [6] [7] .. IPM generalizes SPM by introducing an additional rule. Let k be a fixed integer, then a grain can slide from column i with height p to column i + k with height p − 2 if and only if k ≤ k and all the columns from i + 1 to i + k − 1 have height p − 1. For any k, the set of linear partitions obtained from (n) by applying the previous transition rules is denoted by IPM k (n). Moreover, IPM k (n) turns out to be a lattice with respect to a suitable ordering (the dominance ordering) induced by these rules [6] .. Many combinatorial properties of IPM k are known. In particular, useful bounds for the number of ice piles in IPM k (n) have been obtained in [3] , together with area-and-length, area-and-height and length-and-height generating functions.. Here we study the problem of the exhaustive generation of IPM k (n) by means of a CAT (constant amortized time) algorithm. We recall that a CAT algorithm for generating sand piles in SPM(n) using O(n) space has been recently presented in [8] . We follow a similar approach and, by exploiting the negative lexicographic ordering, we show that a tree structure associated with the lattice IPM k (n) naturally arises: this lets us design an algorithm that sequentially generates all the elements of IPM k (n) in O(1) amortized time using O( √ n) space.

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


Seeing the forest through the trees: A review of integrated environmental modelling tools Today's interconnected socio-economic and environmental challenges require the combination and reuse of existing integrated modelling solutions. This paper contributes to this overall research area, by reviewing a wide range of currently available frameworks, systems and emerging technologies for integrated modelling in the environmental sciences. Based on a systematic review of the literature, we group related studies and papers into viewpoints and elaborate on shared and diverging characteristics. Our analysis shows that component-based modelling frameworks and scientific workflow systems have been traditionally used for solving technical integration challenges, but ultimately, the appropriate framework or system strongly depends on the particular environmental phenomenon under investigation. The study also shows that -in general -individual integrated modelling solutions do not benefit from components and models that are provided by others. It is this island (or silo) situation, which results in low levels of model reuse for multi-disciplinary settings. This seems mainly due to the fact that the field as such is highly complex and diverse. A unique integrated modelling solution, which is capable of dealing with any environmental scenario, seems to be unaffordable because of the great variety of data formats, models, environmental phenomena, stakeholder networks, user perspectives and social aspects. Nevertheless, we conclude that the combination of modelling tools, which address complementary viewpoints -such as service-based combined with scientific workflow systems, or resource-modelling on top of virtual research environments -could lead to sustainable information systems, which would advance model sharing, reuse and integration. Next steps for improving this form of multi-disciplinary interoperability are sketched. The super storm Sandy devastated the east coast of United States and Canada in November 2012, causing almost 100 fatalities and 50 billion US Dollars in economic damage 1 . It is just one recent event from an alarming list 2 of natural hazards, such as earthquakes, strong storms, hurricanes, and tsunamis that cause serious damages and injuries. Such phenomena are the result of complex interrelations between natural systems and accumulated interventions made by human beings. Understanding the interrelation among natural and socio-economic systems and anticipating their impacts is one of the main drivers for environmental sciences.. Modelling is a powerful tool to understand the Earth and our environment. A model mimics and simplifies a natural system (e.g. climate, ecosystems, watershed, and atmosphere) or a part of it (incl. air pollution and soil erosion). The analysis of complex natural phenomena, such as the examples above, requires the combination of several models that may even span over multiple disciplines (biodiversity, oceans, agriculture, etc.) . The notion of Integrated Modelling (IM 3 ) addresses exactly this situation. Rotmans and van Asselt (2001) defined IM as the process to structure and sharing new knowledge that emerges from the interrelation of different constituent models in complex socio-economicenvironmental scenarios. One of the objectives in IM is to support simulation, anticipating potential impacts, policy and decision-making processes (McIntosh et al., 2008) , since it is assumed that an individual model cannot be sufficient to represent the complexity, parameters and variables needed in multi-dimensional scenarios.. In geospatial and environmental sciences, IM 4 is widely recognized as a project-oriented activity to explore a given problem or scenario, i.e., the combination of models depends eventually on the phenomenon being investigated (Parker et al., 2002; Jakeman & Letcher, 2003) . Voinov and Shugart (2013) describe "integral modelling" as a modelling strategy that assembles ad-hoc models for a particular scenario without considering the sharing and reuse of its contained models. Still, reuse, sharing, replication and reproducibility are driving principles in science (Mesirov, 2010; Jasny, Chin, Chong, & Vignieri, 2011) to promote new knowledge and ensure scientific advancements. These principles are equally desirable in environmental modelling activities. Accordingly, Voinov and Shugart (2013) suggest "integrated modelling" as the modelling strategy that assimilates models which are designed to be shared and reused.. Although reuse should be a driving factor in assembling different models together in IM activities, the common practice differs (Voinov & Shugart, 2013) (Laniak et al., 2013) . The high diversity of (environmental) models and the problem-specific design of system components still prevent reuse on a technical level. In this paper, we examine this scenery in detail and assess the conditions under which existing models and components can be assembled together, and shared among IM frameworks and tools. The remainder of the paper is organized as follows. Section 2 introduces required engineering concepts widely used throughout this paper. Section 3 describes the methodology and data employed in the review. Section 4 provides an in-depth analysis of reusability in a wide range of IM tools, accompanied by an overall discussion in Section 5. Concluding remarks are outlined in Section 6. In this paper we have explored different sorts of viewpoints and IM tools from the reusability point of view. Based on the analyses and reflections in previous sections, we draw the following concluding remarks:. • The environmental issue at hand usually defines the viewpoint to choose, that is, there is not a clear winner viewpoint or IM tool for all cases and situations. Each environmental discipline presents requirements and needs that are better addressed by specific IM tools. Taking as example component-based modelling frameworks, OpenMI was designed for hydrological sciences, ESMF for global climate simulations, and CMP for agricultural simulation. These tools are thus better positioned for dealing with modelling tasks in such disciplines.. • Reuse of models across IM tools from different viewpoints is rare except for IM tools that support web service technologies, such as some scientific workflows systems and VREs. These tools are able to use the same WLSD-based web service. Exceptions to that are few and mostly come as ad-hoc implementations. For example Turuncoglu, Murphy, DeLuca, and Dalfes (2011) combined a component-based modelling framework (ESMF) and a scientific workflow system (Kepler) for a particular modelling scenario.. • Reuse of models across individual IM tools within the same viewpoint varies in function of the particular viewpoint. For component-based modelling frameworks, components are often developed and fully integrated for an individual framework. In scientific workflow systems, however, Taverna-based workflows are becoming de-facto format to share workflow descriptions among scientific workflows systems. In the case of VREs, the disparity of architectural styles and implementations employed make it extremely difficult to share models and resources between VRE implementations.. • Reuse of models and components is readily achievable between instances of the same IM tool. This means for example that CCA-compliant components and Kepler-based workflows can be shared and reused between running instances of CCA frameworks and Kepler systems respectively.. • In general, the level of reuse decreases dramatically when it comes to the sharing and reuse of an integrated model -an IM solution -as a whole, instead of a single component.. These remarks suggest that IM is seen as a project-oriented activity to explore an environmental problem or scenario. For this reason, some authors claim models or components used in a particular scenario cannot be realistically reused in others because of the large number of variables and parameters involved in models impede that such a model be exactly replicated (Parker et al., 2002) . In this context, a given model may work for a specific environmental problem but other modellers and scientists could not use it in similar situations due to different environmental conditions.. Looking into the future we can envisage two hypothetical scenarios to improve reuse in IM. The first scenario would reduce the heterogeneity and variety of IM tools. Suppose that OpenMI and Taverna would become the "winning tools" in their respective viewpoints, and that interoperability between each other is achieved. Modellers would only have to create models, components and IM products compliant with these tools to ensure reusability. Although this hypothetical solution is technically feasible, it seems unrealistic that a few IM tools were capable to deal with any IM activities from different fields and disciplines. Simply the array of environmental problems, stakeholders, data formats, social aspects, and needs that define each discipline make this unaffordable.. The second hypothetical scenario would accept that integration will not happen generically, but on demand, i.e., in specific contexts. Instead of a few "omnibus" tools for IM as commented above, many IM tools would generate reusable IM products applicable to certain domains. One may argue that this happens today in the sense that models, components and services are already shared in some domains such as bioinformatics, genomics and ecology. In our opinion, though, the reuse of only models or components fails to achieve reusable and sustainable IM solutions. It is difficult if not impossible to reuse a model in isolation in other environmental scenarios. The current situation tends to "integral modelling" solutions (Voinov & Shugart, 2013) , in which models are specifically designed not with the aim to be reused but to be uniquely part of an IM solution.. A conceptual shift based on "seeing the forest through the trees" is required to promote and foster reuse in IM. On one hand, IM activities are increasingly requiring joint research and collaboration towards a shared understanding of multi-disciplinary problems. However, this does not mean that every model may be exported and used to any other domain. Like a model, a tree also depends on its environment such as type of soil, climate, and meteorological conditions. A tree uniquely survives in those forests where its specific environmental conditions are met. On the other hand, new approaches for IM would account for not only models but also their context (data, documentation, provenance, metadata, results, etc.) as first-class citizens. A model is partly defined without its inputs data, calibration data, documentation, and other defining aspects that help others to correctly interpret the capabilities and limitations of a model. A model -like a tree -is just one part of an IM solution -the forest. An IM solution in terms of only contained models and components is a partial view of the forest.. By understanding that a forest is an ecosystem of interrelated trees, soil, climate conditions and other variables, we may better recognize and realized of the value of a forest as a whole.. As we move from left to right in Figure 1 , a model is increasingly accompanied with related resources, from annotation capabilities in scientific workflow systems to the concept of research objects and assets (aggregation of resources) from the VRE viewpoint. Future research in IM should follow this direction to handle models and components as collections of aggregated and individual related resources such as needed datasets, metadata and documentation, results, execution environment used, and even involved people. The aggregation concept should be accompanied with service-based and resourcebased modelling approaches to foster sustainability and reusability in IM. In addition, the next wave of VREs should be built upon a collection of inter-related mediators to co-operatively manage diverse tasks ranging from interaction and collaboration with other researchers to the sharing, annotation, and integration of aggregations to execution and simulation of IM products. Integration strategies from the target environment side, i.e., white-box and black-box strategies.

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


Selecting a methodology for business information systems development: Decision model and tool support Abstract. The paper presents a decision model and a tool that helps to find an information systems development methodology (ISDM) for a computer-based business information system (IS) that is suitable to a certain IS development project or an organisation dealing with IS development. The intention of the model is not only to suggest a certain ISDM, but also to propose the properties an ISDM should have to suite the project or the organisation. It is designed in a way that facilitates experimentation with different project, organisation and ISDM properties. Based on the model we created a tool that has been applied on several cases in which we validated the correctness of its recommendations and established that it can have a significant positive contribution in the process of ISDM selection and in the process of improvement of existing ISDM. An information system can be defined as a set of interrelated components that collect, manipulate, store and disseminate data and information and provide a feedback mechanism to meet an objective [34] . These components include users who perform information related tasks, and different information technologies (IT) that help business users perform these tasks or in some cases perform the tasks autonomously without user intervention. In the context of the paper we focus on IS that are computer-based and support business operations. In the continuation of the paper the abbreviation IS is used for such information systems.. Nowadays, computer systems are the most important IT component and are used to store data and to convert data to useful information. Development of computer support is therefore an important part of IS development. It is a relatively complex process that comprises tasks like gathering requirements for new IS, analysing the requirements, designing the new IS, implementing the new IS, etc. To optimize the development process of IS various IS development methodologies (ISDM) have been developed in the past decades that prescribe various approaches that can be applied during the development to improve the IS development process and the end product i.e. IS to be developed.. An ISDM can be defined as a collection of procedures, techniques, tools, and documentation aids which will help the system developers in their efforts to implement a new information system [3] . In the paper we consider ISDMs that focus on development of computer-based IS. These ISDMs can vary from heavyweight that precisely define every single step of the development, to lightweight ISDMs that only vaguely define the most important parts of the development process. The lightweight ISDMs gained their importance with the emergence of agile software development that stresses the using of the most suitable ISDM for a certain type of IS development project and organisation dealing with IS development [8] . The problem is, however, how to select an ISDM type that suits the requirements of an IS development organisation and its type of development projects. Organisations dealing with IS development often lack knowledge and experience to be able to objectively evaluate different types of ISDMs. Often the selection of an ISDM is based only on an advice of a consultant company trying to sell its own one. Consequentially, such approach often results in selection of an only partially suitable ISDM and can be considered as one of the important reasons for low ISDM adoption levels in IS development organisations. Fitzgerald [10] , for instance, found out that 60 per cent of companies do not use ISDM at all and that only six per cent reported following ISDMs rigorously.. In this paper we present a decision model and tool support that IS development organisations can use to consider wider range of ISDM, and thus select a suitable ISDM that meets their requirements and expectations. The purpose of the model is not to appoint the use of a certain ISDM, but merely to suggest what kind of ISDM is suitable for a certain type of IS development project and/or IS development organisation.. The paper is organised as follows. Section 2 presents the background and the research method. It is followed by the description of the decision model in section 3 and description of tool support in section 4. Section 5 in which we present verification of the model in practice is followed by the conclusion. The analysis of related literature (e.g. [12] ) and our experience shows that organisations and IT departments dealing with development of computerbased business IS often lack in-depth knowledge of ISDM field. This hampers their selection of ISDM and often limits their choice to ISDM vendors who favour their own ISDM. To improve this situation and help organisations to actively participate in the process of ISDM selection, we propose a decision model and a tool based on the decision model for help in ISDM selection. The decision model and the tool have been applied in several practical cases confirming that they can be efficiently used to improve the ISDM selection process and help make better decision. The decision model does not substitute ISDM experts, but is merely a tool that on the one hand helps people responsible for ISDM selection to make a more informed decision and on other hand helps an ISDM expert to obtain better understanding of the needs of an IS development organisation. An important precondition for successful application of the decision model is that users of the decision model are cooperative and prepared to learn through experimentation with the decision model.. Our further work will focus on extension of the decision model's characteristics and rules. We intend to focus especially on ISDM that include explicit support for service oriented architecture (e.g. [13, 23] ), service oriented frameworks (e.g. [36] ) and approaches that support model driven architecture (e.g. [20] ). Furthermore, we intend to examine possibilities to apply the decision model in the field of specialized methodologies like methodologies for building ontology (e.g. [40] ), methodologies dealing in enterprise architecture (e.g. [39] ), development approaches based on business rules perspective (e.g. [7, 19, 33] ) and other alternative approaches and studies on existing ISDM (e.g. [22, 32]

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


PROTOTYPE CLASSIFIER DESIGN WITH PRUNING The conventional nearest neighbor classifier (NNC) suffers from a large storage requirement and a slow query execution time when dealing with a large database. Algorithms which attempt to alleviate these disadvantages can be divided into three main categories: Fast searching algorithms, Instance-based learning algorithms and Prototype based algorithms. In this paper an algorithm, called LVQPRU, is proposed for pruning NNC prototype vectors so that a compact classifier with good performance can be obtained. The basic condensing algorithm is applied to the initial prototypes to speed up the learning process. A Learning Vector Quantization (LVQ) algorithm is utilized to fine tune the remaining prototypes during each pruning iteration. The LVQPRU algorithm is evaluated on several data sets with 12 reported algorithms using ten-fold cross-validation followed by a t-test. Simulation results show that the proposed algorithm has the highest generalization accuracies and good storage reduction ratios for most of the data sets. The nearest neighbor classifier (NNC) is used for many pattern recognition applications where the underlying probability distribution of the data is unknown a priori. The behavior of the NNC is bounded by two times the optimal Bayes risk (Ref. 1) . Since the traditional NNC stores all the known data points as labelled instances, the algorithms is prohibitive for very large databases. To overcome these challenges several techniques have been proposed by researchers. k −d trees (Ref. 2) and projection (Ref. 3) can reduce the search time for the nearest neighbors but still do not decrease storage requirements, and they become less effective as the dimensionality of the data increases.. To reduce both the storage requirements and search time, a better way is to reduce the data size under the restriction that the classification accuracy is kept similar (or even higher if noisy instances are removed). To select a subset of instances from the original training set, there are usually three types of search directions to perform the selection procedure, including Incremental, Decremental and Batch. An Incremental search algorithm begins with an empty subset and adds an instance if it satisfies some criteria. For example, IB1 through IB5 (Ref. 4, 5) belong to this category. A Decremental search algorithm, however, begins with the full training set and removes instances from it until some predefined condition is fulfilled. Reduced nearest neighbor (RNN) (Ref. 6, 7) , condensing nearest neighbor (CNN) (Ref. 1, 8) , DROP1 through DROP5 (Ref. 9, 10) , editing nearest neighbor (ENN) and repeated ENN (RENN) (Ref. 11) can be viewed as decremental search methods. The ENN and CNN algorithms can delete outliers or internal instances to improve the generalization accuracy and the processing speed. The performance can be further improved by employing adaptive NNC (Ref. 12 ). The All k-NN rule (Ref. 13 ) is an example of a batch search algorithm, in which the potential instances to be removed are flagged first. The actual deletion of the flagged instances is performed till finishing passing through all instances in the data.. The above classes of algorithms do not modify instances, but merely remove misclassified or irrelevant instances. One also can generate prototypes by modifying data instances such as Chang's method (Ref. 14) , the boosting-based algorithm (Ref. 15, 16, 17) , or Self-Organizing Map (SOM) (Ref. 18 ). In Chang's method, instances were merged into one prototype under some rules. The boosting-based algorithm weights and combines many of the weak hypotheses into a final classifier with theoretically high accuracy. And the SOM-based algorithm (Ref. 19 ) prunes unnecessary prototypes using a Boolean function formalization. Generally, there are some problems a designer must face when using these prototype-based algorithms with clustering. Consider the artificially constructed example in Fig. 1 where the probability density functions of both inputs are uniform. It is obvious that the classification error is minimized and a perfect decision boundary is defined with only one prototype located in the middle of C 1 and two prototypes in C 2 . Two challenges are: 1) the number of prototypes necessary for a classifier is difficulty to determine and 2) the optimal placement of these prototypes is not obvious. Note that in this example the ideal locations of the prototypes are not unique, we can move them and keep the decision boundary fixed and the classification error remains unchanged. In this paper we propose an algorithm that prunes prototypes based on the error their elimination produces. LVQ2.1 (Ref. 20 ) is used to finetune the placements of the prototypes, and the number of prototypes needed by a NNC is determined by the structural risk minimization principle that is introduced later in the paper. Our goal is to overcome these challenges. The paper is organized as follows. Section 2 reviews some existing instance-based algorithms. Section 3 introduces a distance measure which is used for measuring the similarity between two instances or prototypes. Section 4 presents details of the proposed algorithm. Section 5 demonstrates three examples to show how LVQPRU works and some of its properties. Section 6 presents empirical results comparing 12 existing algorithms with the LVQPRU method on 13 data sets. And Section 7 gives conclusions and In this paper, we have proposed the PVQPRU pruning algorithm for NNC prototypes. The pruning process is error based, and the LVQ2.1 algorithm is utilized for fine-tuning the remaining prototypes. LVQPRU is sped up using the basic condensing algorithm. Cross-validation was performed for the proposed algorithm and 12 other instance-based algorithms over 13 data sets. It is shown that LVQPRU obtained the highest average accuracy, and also reduced the data set by about 95%. Many researchers have investigated instance-based learning algorithms for training set size reduction, i.e., searching for a subset S of instances to keep from training set D. In this section we survey some related work which will be compared with our proposed algorithm. This review builds upon the survey done by Wilson (Ref. 10 ).

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


Bounds on the A Priori Index Crossover Probabilities for Trellis-Based Channel Codes Abstract| This paper derives truncated union bounds on the a priori index crossover probabilities p(jji) that result when n-bit data index i is convolutionally encoded, transmitted over a noisy channel, and decoded with the Viterbi algorithm, giving received index j. The bounds are derived with a modi ed transfer function technique, using n-stage state transition matrices with symbolic labels. The technique is easily automated with commercial symbolic algebra packages. Bounds are obtained for convolutional and trellis-coded modulation (TCM) codes, over binary symmetric and additive white Gaussian noise channels. A joint source channel coding example demonstrates that the bounds on p(jji) developed in this paper can give a 1 to 3 dB accuracy improvement in end-to-end signal-to-noise ratio (SNR) predictions, when compared to predictions based on bounds on the delivered bit error probability P b . depicts the forward error control system considered in this paper. The data source produces a sequence of n-bit indices. These indices are concatenated into a bitstream that is encoded by a convolutional or TCM coder, transmitted over a noisy channel, and decoded by the Viterbi algorithm. Uncorrected errors introduced by the channel cause the received index j to di er from the transmitted index i with an a priori index crossover probability p(jji) induced by the combination of the channel and decoder. This paper derives . where f(x) is the source probability density function (p.d.f), and R i is the ith VQ encoding region. Typically, it is assumed that the number of codebook vectors N is a power of two, i.e. that N = 2 n for some integer n > 0. Systems employing xed rate scalar or vector quantization followed by convolutional channel coding nd important applications in noisy-channel image or audio coding. A number of past papers (e.g. 3]-7]) have considered such systems. In a typical system using subband or transform coding, the source is modeled as a nite collection of classes S j of continuous-valued random variables (r.v.s), where each class contains r.v.s with the same density function, and corresponds to a particular frequency band. In 4], the three most commonly used unequal error protection schemes for channel coding the quantizer output indices for each class are listed: Type 1 uses the same channel coding rate for each quantizer index across all classes; Type 2 uses di erent channel coding rates r j for the di erent classes S j , and Type 3 uses di erent channel coding rates r j;k for the kth bit of each quantizer index in class S j . The results in this paper apply to systems using Type 1 or Type 2 error protection, such as those considered in 3, 4, 6] .. To compute the end-to-end distortion without measuring or bounding the p(jji), all of the papers 3]-7] assume errors in the the bits of the received n-bit index j to be independent, and (in the case of Type 1 or Type 2 systems only) identically distributed (i.i.d.). With the independence assumption, the p(jji) can be computed as 7] p(jji) = n?1 Y k=0 P b k 1(j k 6 = i k ) + (1 ? P b k )1(j k = i k )] ; (2) where j k denotes the kth bit of index j, P b k denotes the bit error probability after channel decoding for j k , and 1( ) denotes the indicator function. For Type 3 systems, the independence assumption is justi ed by the fact that each bit in the transmitted index i is coded independently of the others. For Type 1 or Type 2 systems, however, it is more typical to code all of the bits in the quantizer indices for each source class with the same channel code, as in Figure 1 . In this case the i.i.d. assumption becomes highly questionable, due to the burstiness of uncorrected errors from the convolutional code. In some cases, particularly when the source p.d.f. approaches a uniform distribution and the quantizer is uniform, using the i.i.d. assumption for Type 1 or Type 2 systems gives a good prediction of the end-to-end system distortion. However, in Section V of this paper a joint source channel coding example with a long-tailed source density and its (highly non-uniform) Lloyd-Max quantizer demonstrates that the i.i.d. assumption can lead to large errors in the predicted end-to-end distortion. Systems similar to the one considered in Section V therefore require an accurate estimate of the p(jji) to predict their end-to-end distortion.. In practice, it can be prohibitively time consuming to measure either p(jji) or P b experimentally. Indeed, 3]-7] use the union bounds on P b described in 8] for designing their joint source channel codes. It is therefore of interest to ask whether or not the union bounds on p(jji) developed in this paper are useful for predicting the performance of joint source channel codes. With respect to Type 1 or Type 2 systems in particular, it makes sense to ask whether the bounds on p(jji), when substituted into (1), give a more accurate prediction of E d(x;x)] than the estimate of p(jji) formed by substituting the union bounds on P b into (2) . Results from the example system in Section V demonstrate that the bounds on p(jji) reduce the prediction error by between 1 and 3 dB at high channel SNR, when compared with the i.i.d. estimate of p(jji).. A literature search shows that no previous paper has derived bounds on the n-bit a priori index crossover probabilities for convolutional codes. A related paper by Wolf 9] , however, uses symbolic n-stage transition matrices to determine Reed-Solomon code performance on channels with correlated symbols. Related work also appears in 2] 10], where Zeger develops a binary switching algorithm (BSA) for optimizing the assignment of indices to VQ codevectors, and applies the algorithm to a system using xed-rate VQ followed by linear block codes. Index assignment algorithms such as the BSA (and other approaches 11]-13]) depend upon knowledge of the p(jji) to compute the distortion at each step.. Analytical bounds for the p(jji) are also useful when source and channel codes are jointly optimized. Previous papers on joint trellis coded quantization (TCQ) and TCM, 14]-16], have investigated the problem of optimizing the TCM signal set, given a xed trellis structure for the TCM code, and a xed TCQ source code. Because a closed form functional expression for the dependence of the p(jji) on the location of the TCM signal constellation points is not known, these papers use non-directed (and therefore slow) optimization algorithms such as simulated annealing. The techniques of the present paper could in principle be used to derive closed form expressions for bounds on the p(jji) as a function of the constellation points, thus enabling faster gradient-directed methods to be used in the optimization algorithm.. The principal contributions of the present paper are a new transfer function-based method for deriving union bounds on the p(jji), along with examples illustrating application of the method to convolutional coding, to TCM, and to joint-source channel coding. The transfer function techniques used here are based on the techniques for convolutional codes given in 8], and for TCM codes given in 17].. The paper is organized as follows: Section II states the notations, de nitions and theorems used in the paper; Section III develops bounds for hard and soft decision convolutional codes; Section IV considers bounds for TCM codes; Section V applies the bounds to a joint source channel coding system; and Section VI concludes the paper. The Appendix provides proofs 4 of the theorems in section II. This paper has derived union bounds on the n-bit a priori index crossover probabilities p(jji) observed by the user of a trellis-based channel code. The union bounds were derived with a transfer function technique, using n-stage state transition matrices with symbolic labels. The technique has been applied to convolutional codes with hard and soft decision decoding, and to TCM codes. A pseudo-Gray coding example has demonstrated that the bounds developed in this paper can provide superior estimates of the end-to-end SNR, when compared to SNR estimates based on bounds on P b and an i.i.d. assumption. Future applications of this technique to joint source channel coding systems employing pseudo-Gray coding or adaptive TCM remain promising. Generalizations of the technique to parallel or serially concatenated convolutional codes are also of interest.. With reference to Equality in the second line follows because the pairwise error probability depends only on d(C; C 0 ) and is independent of past events. Since the true error probability must be greater than the genie-aided error probability, equation ( The following informal argument establishes the tightness of the Theorem 1 bound in the low channel noise limit. For individual \ rst" error events B 1 , it is well known that P(B 1 ) ! P(E; d 1 ) in the low channel noise limit. To prove the tightness of Theorem 1, however, it is necessary to prove that P(B i jA l ; : : : ; A 1 ; B i?1 ; : : : ; B 1 ) ! P(E; d i ) in the low channel noise limit; i.e. the occurrence of event B i becomes independent of prior error events or correct decisions. At the trellis stage where B i occurs, these prior events manifest themselves as non-zero accumulated error metrics, with a di erent distribution among the states than if B i were the rst error event. However, in the low channel noise limit the time between events B i?1 and B i will increase to in nity, so that the distribution of error metric Figure 10 : Block diagram of the pseudo-Gray coding system discussed in Section V. Figure 11 : End-to-end SNR versus channel E b =N 0 for the pseudo-Gray coding system discussed in Section V. Figure 12 : End-to-end SNR estimated with bounds on p(jj0) and bounds on P b for the pseudo-Gray coding system discussed in Section V. The index permutation is a symmetricweight code that assigns the lowest weight indices to the central quantizer levels. Figure 13 : End-to-end SNR estimated with bounds on p(jj0) and bounds on P b for the pseudo-Gray coding system discussed in Section V. The index permutation is natural binary order.

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


A routing defense mechanism using evolutionary game theory for Delay Tolerant Networks Abstract-Delay Tolerant Networks (DTNs) often suffer from intermittent disruption due to factors such as mobility and energy. Though lots of routing algorithms in DTNs have been proposed in the last few years, the routing security problems have not attracted enough attention. DTNs are still facing the threats from different kinds of routing attacks. In this paper, a general purpose defense mechanism is proposed against various routing attacks on DTNs. The defense mechanism is based on the routing path information acquired from the forwarded messages and the acknowledgment (ACK), and it is suitable for different routing schemes. Evolutionary game theory is applied with the defense mechanism to analyze and facilitate the strategy changes of the nodes in the networks. Simulation results show that the proposed evolutionary game theory based defense scheme can achieve high average delivery ratio, low network overhead and low average transmission delay in various routing attack scenarios. By introducing the game theory, the networks can avoid being attacked and provide normal transmission service. The network can reach evolutionary strategy stable (ESS) under special conditions after evolution. The initial parameters will affect the convergence speed and the final ESS, but the initial ratio of the nodes choosing different strategies can only affect the game process. In this paper, first a general purpose defense mechanism is proposed for Delay Tolerant Networks based on the routing information acquired from the messages forwarded by the relay nodes and the ACKs generated by the destination nodes. Then the proposed mechanism is applied with the evolutionary game theory to form a routing defense scheme which encourages the nodes not to attack but to cooperate with others. The evolutionary process is analyzed and the ESS of the game in different cases is obtained. Simulation results show that the proposed scheme can effectively deal with various routing attack issues and make the malicious nodes participate in the normal data transmission. We plan to carry out the future research work in two directions. One is to investigate other promising intelligent methods and malicious nodes routing attack models. The other is to further expand the mechanism to opportunistic networks. The current research on DTNs mostly focuses on routing algorithms [8] , and the routing security problems have not attracted enough attention. There are mainly two ways to cope with the routing attacks in DTNs. One is to use different methods to detect malicious nodes and isolate them, and the other is to use incentive mechanism to encourage all the network nodes to participate in the information transmission. Recently the game theory has also been used in the DTNs routing security filed.. The methods to detect malicious nodes in DTNs include probabilistic detection, ferry-based detection，reputation-based detection and reference-based detection and so on. Gao et al. [9] propose a probabilistic misbehavior detection scheme. In this scheme, the trusted authority collects every node's routing credentials periodically and judges the nodes' behavior through the information analysis. An intrusion detection system which utilizes the correlation of delivery probability between the nodes is proposed by Kuriakose and Danie [10] to mitigate flood attack in DTNs. Saha [11] et al. propose a table-based strategy to record network history and use this information to detect discrepancies in the behavior of nodes, followed by elimination of those detected as malicious. Chuah et al. [12] propose a message-ferry-based detection method. This scheme assumes that some dependable mobile nodes exist in the network, and these dependable nodes collect the history delivery information of the nodes they encounter, and then the malicious nodes can be distinguished according to the information collected by dependable nodes. Ren et al. [13] take the node's transitivity into consideration and propose a mutual correlation detection scheme. This method can update the transfer probability between the nodes and improve the detection accuracy. Because this type of methods need to use the dependable nodes as ferry nodes, this will lead to extra cost. Meanwhile the efficiency of these methods will decrease in the sparse networks environment. In the reputation-based routing algorithm, Xu et al. [14] propose a secure reputation-based dynamic window scheme. In this scheme, if one node wants to estimate another node's reputation, it should firstly gather all other neighbor nodes' evaluations to this node, and then do the estimation. During the process of routing, the nodes with high reputation will be chosen as relay nodes. Here the reputation can be global or local. The global case will need reliable hardware to spread the reputation, and the local case does not need the support of the hardware. Nagrath et al. [15] design a secure reputation based algorithm that handles flooding attack in distributive and transitive manner, in which it is assumed that the malicious node can flood the network with bogus nodes but is not capable of generating genuine messages. Guo et al. [16] propose a Misbehavior Detection System based on encounter record-based reputation system to protect the security of the hybrid network. In the reference-based DTNs routing algorithm, if one node wants to provide relay service, it should firstly send its reference value to surrounding neighborhood nodes. This reference value is used to certify that the node has taken part in the delivery of messages. Li et al. [17] propose a reference-based method using encounter tickets.. Ren et al. [18] propose a reference-based method using packet exchange recording.. The incentive mechanism can improve the performance of DTNs by means of punishment or incentive. Upendra et al. [19] apply the TFT (tit-for-tat) strategy to DTNs. In the scheme, node A will forward messages for its neighbor node if the neighbor node has forwarded messages for node A and vice versa. Based on the TFT strategy, the author proposes incentive-aware routing protocol which can make the selfish nodes' benefit obey the TFT restriction. Zhu et al. [20] propose a secure credit-based incentive scheme, which uses virtual currency consisting of several layers of information to pay and reward the node that forwards messages in DTNs. The information of virtual currency contains the source node and destination node, the service needed, and the credit value obtained by forwarding the message. The authors subsequently further improve this scheme by permitting relay node to transfer and distribute the virtual currency. Lu et al. [21] propose a practical incentive protocol for DTNs which contains a fair incentive model. The source node will add incentive information to the to-be-sent message to encourage the selfish nodes to forward the message. If the message successfully reaches the destination node, all relay nodes will receive reward from the source node. If the message transmission fails, the relay nodes participating in the forward will achieve the reputation from the trusted agency.. Game theory has been mainly studied and applied in economics, politics and sociology, which has recently emerged as a useful tool in analyzing modern wireless networks since it provides analytical tools to model interactions among entities with conflicting interests that compete for the limited network resources. There is a survey on the game theory used in wireless sensor networks (WSNs) to achieve a tradeoff between maximizing the network lifetime and providing the required service [22] . An active defense model is presented in [23] for the WSNs based on the evolutionary game theory. The game theory is used to deal with the rational providers in the smart cloud storage service selection process. To solve the free-rider phenomenon in the P2P file-sharing applications, Wu et al. [24] propose a Novel Incentive Mechanism (NIM) based on social network and game theory, which can restrain the number of free riders efficiently and encourage the nodes to contribute resources as much as possible. Esposito et al. [25] use the game theory to promote truth-telling ones among service providers in the smart cloud storage service selection. R. azzouzi et al. [26] propose a general framework for competitive forwarding in DTNs under the two hops routing, which focus on the probability to deliver a message, and a utility function is introduced as the difference between a reward unit and the energy cost. Wu et al. [27] introduce an asymmetric multi-community evolutionary game framework and a two-hop routing algorithm. By adopting asymmetric multi-community evolutionary game, the proposed mechanism can find each community's unique evolutionary stable strategy (ESS) and provide the existence conditions. Zuo et al. [28] introduce an evolution game-based routing model to eliminate selfish routing behaviors and improve routing efficiency in P2P networks. The routing behaviors of nodes are considered as a non-cooperative routing game, in which self-interested player's route traffic goes through a congestion-sensitive network. The dynamical behaviors of nodes are studied by adopting a generalized approach of imitative dynamics.. The previous algorithms have taken many factors into consideration regarding the DTNs routing security and put forward a lot of assumptions. However, most of the DTNs are deployed in the challenging network environments, the extra infrastructures required by many security mechanisms are difficult to deploy and operate, for example, the public key infrastructure. Meanwhile, most of the proposed game theory based algorithms just can deal with one specific routing attack mode, or just for one specific routing scheme. In this paper, a general purpose routing defense mechanism that can cope with multiple attack techniques is proposed, which requires no infrastructure support and can be applied to any routing scheme. Due to the lack of transmission opportunity, simply isolating the malicious nodes is not appropriate for DTNs. The evolutionary game theory is introduced to incent as many as possible nodes to participate in communication so as to confront the routing attacks.

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


Optimal design of measurements on queueing systems We examine the optimal design of measurements on queues with particular reference to the M/M/1 queue. Using the statistical theory of design of experiments, we calculate numerically the Fisher information matrix for an estimator of the arrival rate and the service rate to find optimal times to measure the queue when the number of measurements is limited for both interfering and non-interfering measurements. We prove that in the non-interfering case, the optimal design is equally spaced. For the interfering case, optimal designs are not necessarily equally spaced. We compute optimal designs for a variety of queuing situations and give results obtained under the D-and D s -optimality criteria. There has been limited previous work on optimal design of measurement times for stochastic systems, and particularly for the M/M/1 queue we have studied here. We have adapted a method to evaluate the autocovariance function of the queue quickly, and used this to numerically calculate the optimal designs for this queue.. We have shown that, whilst uniform designs are appropriate for observing a queue where the observations do not cause interference, we must use a non-standard pattern for observation in the case where observations interfere with the queue. Our numerical results present some insights into the features of a good measurement regime, for the simple structure of the M/M/1 queue.. We have studied the more practical case of a Bayesian design where we have some uncertainty on the unknown parameters we wish to measure; throughout this work we have shown that measuring at the wrong rate will produce estimators with much bigger variance, compared to adopting a more considered measurement regime.. Further research might usefully focus on what properties of a stochastic system or queue determine the optimal design, and how these designs might be calculated more efficiently for systems with complicated autocovariance functions. In this article we investigate how to measure a single server M/M/1 queue optimally. Henceforth, as a strong motivation in the work is packet communications networks, we refer to customers as packets. We assume that we can measure the number of packets in the queue without error at any time point, and that we have a fixed number of observations.. The number of observations may be limited due to logistical, technical, or other constraints; in general we assume that monitoring is in some sense expensive, and we wish to minimise the number of observations we take, or more simply to maximise the information for a fixed number of observations. For example, in a packet communication network, probe packets may take up network bandwidth which could delay user traffic, so we might wish to measure as infrequently as possible, or more likely to get the most information from the same number of measurements.. We measure the amount of information gained in the experiment by the Fisher information for parameters λ and μ using optimality criteria (D, and D s ) described later in Sect. 3.3. These criteria minimise some function of the variance matrix for estimators of the queue, and hence in this article we consider MLEs.

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