Towards design tools for protocol development Interaction protocols enable agents to communicate with each other effectively. Whereas several approaches exist to specify interaction protocols, none of them has design tools that can help protocol designers catch semantical protocol errors at design time. As research in networking protocols has shown, flawed specifications of protocols can have disastrous consequences. Hence, it is crucial to systematically analyze protocols in time to ensure correct specification. This paper studies and formalizes important generic properties of commitment protocols that can ease their correct development significantly. Since these properties are formal, they can easily be incorporated in a software tool to (semi-)automate the design and specification of commitment protocols. Where appropriate we provide algorithms that can directly be used to check these properties in such a design tool. Multiagent systems consist of autonomous, interacting agents. For the agents to interact effectively, their interactions should be regulated. Multiagent interaction protocols provide a formal ground for realizing this regulation. However, developing effective protocols that will be carried out by autonomous agents is challenging [12, 13] .. Similar to the protocols in traditional systems, multiagent protocols need to be specified rigorously so that the agents can interact successfully. Some important properties of network protocols have been studied before, where a protocol was represented as a finite state machine (FSM) [11, 10] . However, FSMs are not well-suited for dynamic environments of multiagent systems [16, 3, 20] . Contrary to the protocols in static systems, multiagent protocols need to be specified flexibly so that the agents can exercise their autonomy by making choices or by dealing with exceptions as best suits them.. Recently, social constructs are being used to specify agent interactions. These approaches advocate declarative representations of protocols and give semantics to protocol messages in terms of social (and thus observable) concepts. Alberti et al. specify interaction protocols using social integrity constraints and reason about the expectations of agents [1] . Fornara and Colombetti base the semantics of agent communication on commitments, such that the meanings of messages are denoted by commitments [9] . Yolum and Singh develop a methodology for specifying protocols wherein protocols capture the possible interactions of the agents in terms of the commitments to one another [20, 21] .. In addition to providing flexibility, these approaches make it possible to verify compliance of agents to a given protocol. Put broadly, commitments of the agents can be stored publicly and agents that do not fulfill their commitments at the end of the protocol can be identified as non-compliant. In order for these approaches to make use of all these advantages, the protocols should be designed rigorously. For example, the protocol should guarantee that, if an agent does not fulfill its commitment, it is not because the protocol does not specify how the fulfillment can be carried out. The aforementioned approaches all start with a manually designed, correct protocol. However, designing a correct protocol in the first place requires important correctness properties to be established and applied to the protocol. A correct protocol should define the necessary actions (or transitions) to lead a computation to its desired state. Following a protocol should imply that progress is being made towards realizing desired end conditions of the protocol. The followed actions should not yield conflicting information and lead the protocol to unrecoverable errors. That is, the protocol should at least allow a safe execution.. This paper develops and formalizes design requirements for developing correct and consistent commitment protocols [19, 20] . However, the underlying ideas are generic and can be applied to other social approaches as well. These requirements detect inconsistencies as well as errors during design time. These requirements can easily be automated in a design tool to help protocol designers to develop protocols.. The rest of the paper is organized as follows. Section 2 gives a technical background on event calculus and commitments. Section 3 reviews commitment protocols. Sections 4 and 5 develop correctness and consistency requirements, respectively. Section 6 shows how these requirements can be implemented in a design tool. Section 7 discusses the recent literature in relation to our work. This work derives some design-time requirements for commitment protocols. These requirements are concerned with allowing sufficient actions for agents to carry out their actions. However note that we are not concerned about the choices of the agents in terms of which actions to take. Looking back at Example 3, assume that agent x could also execute an action that could discharge its commitment (to carry out the proposal), but choose instead to delegate it to agent z. The protocol then would still loop infinitely. However, our purpose here is to make sure that agent x has the choice of discharging. The protocol should allow an agent to terminate its commitment by providing at least one appropriate action. It is then up to the agent to either terminate it or delegate it as. The algorithms given in Section 6 can be implemented in a design tool. The design tool should be fed with a description of the protocol, which contains the actions and the commitment operation each action corresponds to as specified in Section 3. The commitment and operation set of the protocol can then be easily formed and fed into Algorithm 1 for creating a commitment graph. Once, there is a commitment graph both Algorithms 2 and 4 can be applied to check correctness and consistency, respectively.. We review the recent literature with respect to our work. Fornara and Colombetti develop a method for agent communication, where the meanings of messages denote commitments [9] . In addition to base-level and conditional commitments, Fornara and Colombetti use precommitments to represent a request for a commitment from a second party. They model the life cycle of commitments in the system through update rules. However, they do not provide design requirements on correctness or consistency as we have done here. The requirements and algorithms developed here can easily be applied to their framework.. Artikis et al. develop a framework to specify and animate computational societies [2] . The specification of a society defines the social constraints, social roles, and social states. Social constraints define types of actions and the enforcement policies for these actions. A social state denotes the global state of a society based on the state of the environment, observable states of the involved agents, and states of the institutions. Our definition of a protocol state is similar to the global state of Artikis et al.. The framework of Artikis et al. does not specify any design rules to establish the correctness of the executed societies. It would be interesting to apply the design ideas here to their setting where in addition there are social constraints.. Dignum et al. formalize interaction protocols within an organization through contracts [6] . They develop a language for specifying contracts that can capture various contracts and their deadlines. They use the interaction protocols to realize the objectives of the organization that the agents are situated in. However, they do not provide a methodology for analyzing contracts defined in that language as we have done here.. Alberti et al. specify interaction protocols using social integrity constraints [1] . Given a partial set of events that have happened, each agent computes a set of expectations based on the social integrity constraints; e.g., events that are expected to happen based on the given constraints. If an agent executes an event that does not respect an expectation, then it is assumed to have violated one of the social integrity constraints. We have studied the violating of commitments in richer time structure elsewhere [15] . Alberti et al. does not provide any design rules to ensure the correctness of their interaction protocols. Since the commitments and their operations are more flexible than the expectations defined by Alberti et al., our requirements can also be applied to their framework.. Endriss et al. study protocol conformance for interaction protocols that are defined as deterministic finite automaton (DFA) [7] . The set of transitions of a DFA are known a priori. If an agent always follows the transitions of the protocol, then it is compliant to the given protocol. Hence, the compliance checking can be viewed as verifying that the transitions of the protocol are followed correctly.. McBurney and Parsons propose posit spaces protocol to handle e-commerce transactions of agents [16] . The protocol consists of five locutions: propose, accept, delete, suggest revoke, and ratify revoke. The usage of propose and accept locution resembles the conditional commitments in commitment protocols. The delete locution corresponds to the release, or discharge operation. Suggest revoke and ratify revoke enable canceling of posits. McBurney and Parsons do not provide any design rules to develop posit space protocols as we have done here. The analysis constructed in this paper may be applied in the posit space framework.. In our future work, we plan to work on other design criteria for commitment protocols, such as requirements for avoiding possible deadlocks as well as requirements for conditional commitments.

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


Complexity of the directed spanning cactus problem In this paper we study the complexity of finding a spanning cactus in various graphs. First, we show that the task of determining if there is a directed spanning cactus in a general unweighted digraph is NP-complete. The proof is a reduction from ONE-IN-THREE 3SAT. Secondly, we show that finding the minimum spanning cactus in a directed, weighted complete graph with triangle inequality is polynomial time equivalent to finding the minimum travelling salesman problem (TSP) tour in the same graph and that they have the same hardness in approximation. In discrete mathematics, the cactus is a well-known graph structure and in undirected graphs they have been carefully studied. Cacti in directed graphs, though, have been much less studied.

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


Differential equations involving causal operators with nonlinear periodic boundary conditions The notion of causal operators is extended to periodic boundary value problems with nonlinear boundary conditions in this paper. By utilizing the monotone iterative technique and the method of lower and upper solutions (resp. weakly coupled lower and upper solutions), we establish the existence of the extremal solutions (resp. weakly coupled extremal quasi-solutions) for nonlinear periodic boundary value problems with causal operators. In this paper, we deal with the following differential equation with a causal operator:. x (t) = (Qx)(t), t ∈ J := [0, T ], g(x(0), x(T )) = 0, (1.1) where Q ∈ C[E, E] is a causal operator, namely, a nonanticipative operator. Some authors have focused their interest on differential equations with causal operators recently, because its theory has the powerful quality of unifying ordinary differential equations, integro differential equations, differential equations with finite or infinite delay, Volterra integral equations and neutral functional equations. Readers are referred to the papers [2] [3] [4] and references cited therein. In 2005, Drici et al. [3] extended differential equations with causal operators to the framework of an arbitrary Banach space and proved the basic results such as existence, uniqueness and global existence. Immediately after it, they discussed in [4] the periodic boundary value problems with a causal operator u (t) = (Qu)(t), u(0) = u(T ), (1.2) where t ∈ J , Q ∈ C[E, E] is a causal operator. The authors developed the monotone iterative technique to obtain the existence of extremal solutions for (1.2). At the same time, periodic boundary value problems with nonlinear boundary conditions have attracted much attention, we may see [1, 5, 6] . Inspired by the above results, in this paper, we extend the notion of causal operators to the periodic boundary value problems with nonlinear boundary conditions. First, some comparison principles and the existence and uniqueness of the solutions for the first order linear differential equations with linear boundary conditions are presented. Next, by utilizing the monotone iterative technique and the method of lower and upper solutions, we establish the existence of extremal solutions of the problem (1.1). At last, using the notion of weakly coupled lower and upper solutions, we testify the existence of the weakly coupled minimal and maximal quasisolutions of the problem (1.1). The results obtained in this paper generalized those in [4] .

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


Paired gang scheduling Conventional gang scheduling has the disadvantage that when processes perform I/O or blocking communication, their processors remain idle, because alternative processes cannot be run independently of their own gangs. To alleviate this problem we suggest a slight relaxation of this rule: match gangs that make heavy use of the CPU with gangs that make light use of the CPU (presumably due to I/O or communication activity), and schedule such pairs together, allowing the local scheduler on each node to select either of the two processes at any instant. As I/O-intensive gangs make light use of the CPU, this only causes a minor degradation in the service to compute-bound jobs. This degradation is more than offset by the overall improvement in system performance due to the better utilization of the resources. Scheduling parallel jobs on a parallel supercomputer consists of deciding which processors to use for each parallel job, and when to run it. A simple first-come-first-serve (FCFS) approach keeps waiting jobs in a queue in the order that they arrived. The scheduler then tries to find free nodes for the first job in the queue. If there aren't enough free nodes, the job will have to wait until nodes become available when some job that is currently running terminates. When this happens, the needed nodes are allocated and the queued job starts to run. Using FCFS prevents starvation of jobs which use a large number of nodes, but may cause nodes to be left idle when waiting for more nodes to become available. This can be reduced by using backfilling, in which jobs may be selected out of order provided this will not delay the execution of jobs which have a higher location in the queue [13] .. Another approach, called gang scheduling [14] , slices the time in a round-robin manner. The jobs are packed into a matrix. Each column in the matrix represents a node and each row represents a time slot. Jobs assigned to different rows are executed one after the other. One of the problems work. On the other hand, the CPU and the I/O devices will not be idle while there are jobs which can be executed.. The rest of the paper is organized as follows. Section 2 presents the model of paired gang scheduling and the algorithms used in its implementation. Section 3 describes the platform of the realization and what changes were required to support paired gang scheduling. Section 4 evaluates the concept of paired gang scheduling. It reports on the experiments that have been conducted and the workloads that were used. Finally, section 5 summarizes the results. The results of the experiments are promising: given a good match of a compute-bound parallel job and an I/O bound parallel job, they can run within the same quantum with little mutual interference, nearly doubling the resource utilization. Thus paired gang scheduling seems to be a good compro-mise between the extreme alternatives of strict gang scheduling or uncoordinated local scheduling. Naturally, the system's ability to find such a match depends on the available job mix. Recent work has identified various I/O-intensive applications, so it seems that the potential is there [15, 20] .. Especially noteworthy is the fact that this is achieved by a very simple device, based on data easily available directly to the scheduler. This distinguishes paired gang scheduling from other flexible gang scheduling schemes that are based on monitoring communication in order to deduce the characteristics of parallel jobs (e.g. [11, 7, 22, 1] ).. The idea can be extended if there are more I/O devices in the system. One I/O operation won't interfere with other I/O operation, so a group of AE · ½ gangs can be dispatched, where AE is the number of I/O devices in the system. In particular, it is possible to overlap disk I/O with communication.. Additional future work includes the handling of user-level communication, in which poling and busy waiting may mask I/O activity and make it look like CPU activity. This requires modifications of the communications library, and in particular, the substitution of busy waiting by spin blocking.. Finally, we also intend to experiment with more advanced pairing schemes. For example, we would like to consider a more precise matching of slots, e.g. using a detailed measurement of CPU utilization on each processor rather than average values for each job.

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


Model approximation for two-dimensional Markovian jump systems with state-delays and imperfect mode information Abstract This paper is concerned with the problem of H ∞ model approximation for a class of two-dimensional (2-D) discrete-time Markovian jump linear systems with state-delays and imperfect mode information. The 2-D system is described by the well-known FornasiniMarchesini local state-space model, and the imperfect mode information in the Markov chain simultaneously involves the exactly known, partially unknown and uncertain transition probabilities. By using the characteristics of the transition probability matrices, together with the convexification of uncertain domains, a new H ∞ performance analysis criterion for the underlying system is firstly derived, and then two approaches, namely, the convex linearisation approach and iterative approach, to the H ∞ model approximation synthesis are developed. The solutions to the problem are formulated in terms of strict linear matrix inequalities (LMIs) or a sequential minimization problem subject to LMI constraints. Finally, simulation studies are provided to illustrate the effectiveness of the proposed design methods. In recent years, there have been rapidly growing interests in the analysis and synthesis of two-dimensional (2-D) systems Roesser (1975) . The studies of 2-D systems are motivated by their extensive applications in many modern engineering fields, such as process control (thermal processes, gas absorption, water stream heating), multi-dimensional digital filtering, and image processing (enhancement, deblurring, seismographic data processing) Kaczorek (1985) ; Lu and Antoniou (1992) ; Lin (1999) ; Lin et al. (2001) and so on. Correspondingly, various issues on 2-D systems, including stability analysis, stabilization, and filtering design, have been investigated, and a large volume of open literature has been available Xu et al. (2002 Xu et al. ( , 2003 ; Xie et al. (2002) ; Lam et al. (2004) ; Paszke et al. (2004) ; Hoang et al. (2005) ; Peng and Guan (2009) .. On the other hand, Markovian jump linear systems (MJLSs) have great practical applications due to the forceful modeling ability of the Markov process in diverse communities, e.g. manufacturing systems, power systems and networked control systems, where random failure, repairs and sudden environment changes may occur in Markov chains Boukas (2005) ; Wang et al. (2009 Wang et al. ( , 2010 . It is known that some MJLSs have inherent 2-D structure, e.g. information propagation occurs from pass to pass and along a given pass in a gas absorption Wu et al. (2008) . Therefore, 2-D MJLSs emerge as a more reasonable description to account for the parameter jumping phenomenon in the two independent directions of information propagation Roesser (1975) . As a key factor, transition probabilities (TPs) in the Markovian jumping process determine the system behavior to a large extent, and many studies on the analysis and synthesis of MJLSs have been carried out in the context of completely known information on TPs Wu et al. (2008) ; Xu et al. (2007) ; Liu et al. (2008) . However, in practice, imperfect mode information are often encountered especially when efforts to measure or estimate the mode information are costly or time-consuming. In such case, it is of both theoretical merit and practical interest, from control perspectives, to further study more general jump systems with imperfect mode information Wang et al. (2010) ; Karan et al. (2006) ; Souza (2006) ; Zhang and Boukas (2009) ; Zhao et al. (2011) . To mention a few, the authors in Karan et al. (2006) addressed the robust stability analysis problem for a class of MJLSs with norm-bounded uncertain TPs; The author in Souza (2006) investigated the robust stability analysis and stabilization problems for a class of MJLSs with polytopic uncertain TPs; The authors in Zhang and Boukas (2009) considered the H ∞ filter synthesis problem for a class of MJLSs with partially unknown TPs. Nevertheless, the aforementioned results are only referred to one-dimensional (1-D) systems.. In addition, many complex physical systems can be usually modeled as high or even infinite order mathematical models, which poses serious difficulties to the analysis and design of the concerning systems. A logical step to take is to reduce the high-order models to some simple lower-order models according to some given criteria Ghafoor and Sreeram (2008) . Model approximation/reduction thus plays an important role in the process of control system design. During the past few decades, various efficient model approximation schemes have been proposed, involving the Hankel norm approximation method Zhou (1995) ; Gao et al. (2004) , the H 2 approach Yan and Lam (1999) , the H ∞ approach Zhang et al. (2003) ; ; Wu et al. (2006) ; Gao et al. (2006) ; Wu and Zheng (2009) and the L 2 -L ∞ approach Lam et al. (2005) . More recently, the linear matrix inequality (LMI) technique has been applied to deal with the model approximation problem for different classes of systems Zhang et al. (2003) ; Wu and Zheng (2009); Lam et al. (2005) . However, from the authors' best knowledge, few results have been reported on the model approximation for 2-D MJLSs with state-delays and imperfect mode information, which simultaneously comprises the exactly known, partially unknown and uncertain TPs. This motivates us for the present study.. According to the issues mentioned above, in this paper, we will tackle the problem of H ∞ model approximation for a class of 2-D discrete-time MJLSs with state-delays and imperfect mode information. The mathematical model of the 2-D system is described by the Fornasini-Marchesini local state-space (FMLSS) model, and the imperfect mode information simultaneously considers the exactly known, partially unknown and polytopic-type uncertain TPs, which is a more practical scenario. By fully exploiting the properties of the transition probability matrices (TPMs), together with the convexification of uncertain domains, a new H ∞ performance analysis criterion for the model error system will be firstly derived. To solve the model approximation problem, two distinctly different approaches will be then developed. The first approach converts the model approximation into a convex optimization problem via a linearisation procedure, and the second one is based on the cone complementarity linearisation (CCL) method El Ghaoui et al. (1997) ; Qiu et al. (2012) , which casts the model approximation into a sequential minimization problem subject to LMI constraints. Finally, simulation studies will be performed to show the effectiveness of the proposed synthesis methods. This paper has addressed the problem of H ∞ model approximation for a class of 2-D MJLSs with state-delays and imperfect mode information. By fully exploring the properties of the TPMs, together with the convexification of uncertain domains, a new H ∞ performance analysis criterion for the 2-D model error system has been firstly developed. Then, two distinctly different approaches, namely, the convex linearisation approach and iterative approach, have been developed to solve the model approximation problem. It has been shown that the desired approximation models can be obtained by solving a set of strict LMIs or a sequential minimization problem subject to LMI constraints. Simulation studies have been given to illustrate the effectiveness of the proposed methods.. Finally, it is worth mentioning that applications of the proposed results to some real-world complex 2-D systems such as the image data processing and transmission Roesser (1975) , thermal processes Xie et al. (2002) , gas absorption , and water stream heating Hoang et al. (2005) etc., are part of our future works.

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


Selfish Load Balancing and Atomic Congestion Games Abstract. We revisit a classical load balancing problem in the modern context of decentralized systems and self-interested clients. In particular, there is a set of clients, each of whom must choose a server from a permissible set. Each client has a unit-length job and selfishly wants to minimize its own latency (job completion time). A server's latency is inversely proportional to its speed, but it grows linearly with (or, more generally, as the pth power of) the number of clients matched to it. This interaction is naturally modeled as an atomic congestion game, which we call selfish load balancing. We analyze the Nash equilibria of this game and prove nearly tight bounds on the price of anarchy (worst-case ratio between a Nash solution and the social optimum). In particular, for linear latency functions, we show that if the server speeds are relatively bounded and the number of clients is large compared with the number of servers, then every Nash assignment approaches social optimum. Without any assumptions on the number of clients, servers, and server speeds, the price of anarchy is at most 2.5. If all servers have the same speed, then the price of anarchy further improves to 1 + 2/ √ 3 ≈ 2.15. We also exhibit a lower bound of 2.01. Our proof techniques can also be adapted for the coordinated load balancing problem under L 2 norm, where it slightly improves the best previously known upper bound on the competitive ratio of a simple greedy scheme. Load balancing. The problem of assigning clients (jobs) to servers (machines) dates back to the earliest days of distributed computing or scheduling, and there is an enormous literature on it. A small sample of these results includes the following: [12] , [18] , and [23] investigate the online assignment of unit length jobs under the L ∞ norm; [1] and [14] consider offline assignments of unit length jobs; [2] , [6] , and [8] consider the greedy assignment of weighted jobs under the L p norm, where the client-server graph is complete bipartite; [16] considers dynamic load balancing under the L p norm. The work most relevant to us is the L 2 norm load balancing with an arbitrary client-server graph [4] . Because the total latency of the clients is related to the squared L 2 norm of the server loads, the setting of Awerbuch et al. [4] can be viewed as the coordinated or centralized version of our problem.. Congestion games. The load balancing game belongs to the general class of congestion games introduced by Rosenthal [19] in game theory. In these games, a set of players compete for a set of resources, and the cost of each resource depends only on the number of players using it. A key game-theoretic property of these games is that they always have at least one pure strategy Nash equilibrium. Thus, in our work, we focus on pure strategy Nash equilibria.. Selfish routing. In network routing games, selfish agents route their traffic between a source-destination pair in a network, where the network delay (latency) on each link is determined by a monotone increasing function of the load through the link. The models considered in the literature differ in many aspects. The price of anarchy for maximal latency was considered by Koutsoupias and Papadimitriou [13] . In their model the network consists of m parallel edges between source and destination, and every agent can use any of the links. In [9] Czumaj and Vöcking were able to prove tight bounds for this problem. Recently, Awerbuch et al. [5] and Gairing et al. [11] have extended these results to a model where each agent can use only a subset of the (parallel) links, namely, a permissible set, and Fotakis et al. [10] have showed that the same bound holds in layered networks as well.. The price of anarchy for total flow latency was considered by Roughgarden and Tardos [22] and Roughgarden [20] in general networks. They obtained tight bounds assuming non-atomic agents, where actions of an individual agent have negligible impact on others. Roughgarden [21] extends these results to an atomic splittable model, where agents control a positive fraction of the total traffic but each user's task (flow) can be split arbitrarily across multiple paths. Our load balancing game, by contrast, is characterized by atomic players and unsplittable jobs: There are finitely many clients, each of whom is wholly assigned to a single server.. Similarly to our model, Lücking et al. [15] studied the price of anarchy for total flow latency with unsplittable flows. However, they consider only the special case where all servers are permissible for every user. In their model they show that the price of anarchy is less than 2, while we present a lower bound of 2.01 in the general case with arbitrary permissible sets.. Since the conference publication of our work, Awerbuch et al. [3] and, independently, Christodoulou and Koutsoupias [7] have generalized our results to broader classes of congestion games. Awerbuch et al. [3] obtained a tight bound of 2.5 on the price of anarchy for routing games in general networks with linear latency functions. Christodoulou and Koutsoupias [7] discovered that the price of anarchy under linear latency functions is at most 2.5 for certain congestion games where each player's strategy is a subset of the resources instead of a singleton set.. 1.4. Organization. Our paper is organized as follows. In Section 2 we establish two key results (Nash Condition and Nash Inequality), which are central to our analysis. In Section 3 we prove upper bounds on the price of anarchy with linear latency functions, and also show a lower-bound construction. In Section 4 we extend our analysis to the latency functions under the L p norm. In Section 5 we present our improved analysis of the greedy assignment scheme. Finally, we offer some conclusions and open problems in Section 6.

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


Rehearsing Naval Tactical Situations Using Simulated Teammates and an Automated Tutor Abstract-This paper describes a deployed simulation-based Intelligent Tutoring System (ITS) for training of Tactical Action Officers (TAOs). The TAO on board a Navy ship is responsible for the operation of the entire watch team manning the ship's command center. The ITS goal is to train the TAO in "command by negation," in which watchstanders perform their duties autonomously, while the TAO supervises, intervening in order to correct mistakes and rectify omissions. The ITS uses artificial intelligence (AI) techniques to provide Automated Role Players (ARPs) representing the watchstanders in the ship, and to provide a Natural Language interface to communicate with these automated teammates. An adaptive coaching strategy is used to provide coaching and feedback during an exercise. The paper presents a discussion of the ITS instructional design, its architecture, and the AI techniques it employs. T HE Tactical Action Officer (TAO) on board a US Navy Cruiser, Destroyer, or Frigate is responsible for the operation of the entire watch team manning the ship's command center. Responsibilities include tactical decision making, console operation, communications, and oversight of a variety of watchstander responsibilities in air, surface, and subsurface warfare areas. This paper describes PORTS TAO-ITS, a deployed Intelligent Tutoring System (ITS) [1] , [2] for the instruction of TAOs in training at the Surface Warfare Officers School (SWOS) in Newport, Rhode Island [3] .. PORTS TAO-ITS uses a learn-by-doing strategy whereby the TAO is presented with a computer-simulated tactical situation, in which he should act as if aboard an actual ship. The ITS uses a high-fidelity simulation of the Aegis system consoles, based on Northrop Grumman PC-based Openarchitecture Reconfigurable Training System (PORTS). artificial intelligence techniques are employed to model the behavior of automated crew members who autonomously react to the tactical situation and interact among them and with the TAO. The TAO uses a natural language interface to communicate with the simulated teammates. During an exercise, the ITS provides real-time coaching and feedback which are sensitive to changes in the student's mastery of a wide variety of continually assessed principles.. Before the use of PORTS TAO-ITS, an instructor was needed for every two students. The instructor played the role of other teammates and provided coaching and after action review. The logistics of this training setup provided limited training opportunities to the students. With the advent of the ITS, one instructor is needed in a classroom of 42 students. The ITS teaches material that has the least ambiguity and controversies. These latter types of situations are discussed with instructors and other students and rehearsed using a traditional fully manned simulation.. In the rest of the paper we provide details about the PORTS TAO-ITS functionality (Section 2), its instructional design (Section 3), its architecture (Section 4), and the artificial intelligence techniques it employs (Section 5). PORTS TAO-ITS illustrates a simulation-based learn-bydoing tactical decision-making ITS, where the student interacts with simulated teammates using a natural language interface. Behavior Transition Networks (BTNs) facilitate the definition of the simulated teammates' behaviors and evaluation machines that provide the situated context for real-time coaching and after action review. Evaluation machines circumvent the problem of creating an expert model of the TAO behavior or their simulated teammates in order to provide tutoring. The creation of such expert models might be impossible in this domain.. The most risky aspect of the ITS is the use of a natural language interface. The ITS largely bases its assessment of the student's performance on the output of the speech recognition system. The speech recognition system uses a grammar including correct command syntax and vocabulary augmented with likely incorrect replacement words (synonyms such as "kill," "engage," "destroy," etc.). Instructors felt this was appropriated since this system was not being designed to tutor radio communications syntax and skills. Thus, communication vocabulary or syntax mistakes would not be caused by a lack of tactical understanding but were more likely to be the results of momentary lapses. This design decision turned out to be appropriated for beginner and intermediate students but not for expert TAOs who usually want to use a more loose language. Alex Davis received the MS degree in computer science from the State University of New York at Buffalo. He is an artificial intelligence researcher at Stottler Henke Associates, Inc. He has served as a lead knowledge and software engineer for a variety of projects related to artificial intelligence, including simulations, behavior modeling for automated agents, and intelligent tutoring systems. The PORT TAO-ITS uses a scenario-based learn-by-doing training approach as proposed in [12] . This approach is akin to the Constraint-Based Tutors applied in intractable domains, in which knowledge cannot be fully articulated, and it is considered impossible or impractical to build a computational system which can perform at the level of the human expert [2] . Instead of building a general expert model to interpret student actions [1] , [13] , a collection of situated experts (evaluation machines) is designed to handle a specific type of situation that might arise during a training scenario. Each evaluation machine is activated by its own set of preconditions. These are much easier to develop in a case-specific way than in the general case. By parameterizing these evaluation machines, it is possible to use them in a variety of tactical situations.. The idea of training with simulated teammates is not new. For example, Johnson et al. [14] discuss the key capabilities and technical issues of using animated pedagogical agents and their potential for team training among others. In [15] , an architecture and modeling language is proposed to define such agents so that synthetic teammates exhibit flexible human-like behavior and are able to support face-to-face spoken conversations in virtual worlds.. The need for simulated teammates to train tactical situations under stress conditions, like the ones described in this paper, has long been recognized by the military, either as a cost-effective training alternative (to reduce instructor-student ratio) or as a response to concerns generated by on-the-job experiences. For example, the Tactical Decision Making Under Stress (TADMUS) project, sponsored by the Office of Naval Research (ONR), was spawned by the 1988 USS Vincennes incident, where an Aegis cruiser engaged in a littoral warfare peace-keeping mission shot down an Iranian Airbus. Investigations following the incident suggested that stress may have effects on decision making and that these effects were not well understood [16] . Also, the Synthetic Cognition for Operational Team Training (SCOTT) project proposes to apply advanced human behavioral representation methods to meet a critical team training need in the Navy, specifically to provide deployable training for critical aviation team skills without requiring any additional personnel besides the individual receiving the training [17] , [18] . Different approaches and representation languages have been used to model teamwork issues such as team roles, authority, coordination, and negotiated decision making [15] , [19] , [20] , [21] , [22] . These approaches share the common idea that agents need to have an explicit representation of tasks, goals, and shared situational state that allow team members to monitor the environment, proactively carry out actions, give or accept orders, and negotiate plan options. These approaches differ in aspects like their underlying teamwork theories (e.g., joint intentions [23] is used by BDI agents [19] and in STEAM [20] , sharedPlans in [22] ) and the type of out-of-the-box functionality embedded in the representation language and the companion execution algorithms. For example, STEAM [20] provides algorithms that automatically establish commitments to a team goal and to reassign team member responsibilities if necessary. In [17] , a rich model of dialogs is linked with the task model both to interpret utterances as well as to decide when the agent should speak and what to say.. In our application, we used BTNs to model the simulated teammate's behaviors. BTNs complement "production rules" used in systems such as Soar [24] and iGEN [17] , by using the hierarchical state machine formalism to facilitate the definition of task sequencing and branching logic. However, BTNs do not provide any special construct to support teamwork. There are, however, some teamwork aspects that simplify the implementation of simulated teammates in our application. The team structure is fixed and the responsibilities of team members are well established. Authority and commitment to team goals are not an issue either. The major issues in our application are 1) to decide which actions should be taken and coordinate with other teammates the action execution, 2) to maintain a situation representation supporting this action selection and execution, and 3) to carry out dialogs with the student and other teammates. As described in Section 5, we have implemented content-independent BTNs that capture some common coordination patterns proper of this domain. These patterns are used to define situation-dependent behaviors where the team coordination aspects are hidden at the highest level of a behavior description (following the hierarchical structure of a behavior will reveal these coordination aspects). Similarly, dialogs are implemented like any other agent behavior (using BTNs), the logic of these behaviors describing the conditions under which the agent should intervene. This approach has sufficed for this application, but we are considering the use of specialized modules as in [17] that might simplify the authoring of dialogs.

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


Achieving range-free localization beyond connectivity Wireless sensor networks have been proposed for many location-dependent applications. In such applications, the requirement of low system cost prohibits many range-based methods for sensor node localization; on the other hand, range-free localization depending only on connectivity may underutilize the proximity information embedded in neighborhood sensing. In response to the above limitations, this paper presents a range-free approach to capturing a relative distance between 1-hop neighboring nodes from their neighborhood orderings that serve as unique high-dimensional location signatures for nodes in the network. With little overhead, the proposed design can be conveniently applied as a transparent supporting layer for many state-of-the-art connectivity-based localization solutions to achieve better positioning accuracy. We implemented our design with three well-known localization algorithms and tested it in two types of outdoor test-bed experiments: an 850-foot-long linear network with 54 MICAz motes, and a regular 2D network covering an area of 10000 square feet with 49 motes. Results show that our design helps eliminate estimation ambiguity with sub-hop resolution, and reduces localization errors by as much as 35%. In addition, extensive simulations reveal an interesting feature of robustness for our design under unevenly distributed radio propagation path loss, and confirm its effectiveness for large-scale networks. Wireless sensor networks (WSN) have been considered as a promising tool for many location-dependent applications [1, 2] , e.g., battlefield surveillance [3] , environment data collection [4] , event or human localization [5, 6] . In addition, some of the routing protocols [7, 8] and network management mechanisms proposed for such networks are built on the assumption that geographic parameters of each sensor node are available. Although sensor node localization plays an important role in all those systems, it is itself a challenging problem due to extremely limited resources available at each low-cost and tiny sensor node.. Many ideas have been proposed for node localization in WSN. Based on whether accurate ranging is required, there are basically two types of methods: (i) range-based localization and (ii) range-free localization. Range-based localization could achieve good accuracy but costly for requiring either per-node ranging hardware [10, 12, 14, 16, 22] or careful system calibration and environment profiling [9, 11, 40] , and thus is not appropriate for large-scale outdoor sensor networks. Range-free approaches localize nodes based on simple sensing, such as wireless connectivity [26, 27, 29, 32, 33] , anchor proximity [25, 28, 30] , or localization events detection [36, 37] . Among these, connectivity-based solutions feature a low overall system cost, however, by sacrificing localization accuracy.. Our work is motivated by the finding that localization by means of mere connectivity may underutilize the proximity information available from neighborhood sensing. Although radio signal strength (RSS) is not considered a good choice for physical distance estimation in many scenarios because of unknown radio path loss factors, multi-path effects, hardware discrepancies, antenna orientation, and so forth [40, 41, 42] , it does provide some useful distancerelated information beyond indicating connectivity among neighboring nodes. Our experimental study confirms that in outdoor open-air scenarios, the radio signal strength weakens approximately monotonically with the physical distance, especially from the viewpoint of a single node, where RSS might provide heuristic information about which neighboring node is closer and which is further.. Based on our empirical study, this paper introduces a novel range-free approach to extracting relative distance information from neighborhood orderings which serve as unique high-dimensional location signatures for sensor nodes in the network. Instead of offering yet another new localization method, the design described in this paper can be conveniently applied as a transparent supporting layer for many state-of-the-art connectivity-based localization algorithms, providing a low-cost but effective solution for system accuracy.. We augmented three range-free localization algorithms, i.e., MDS-MAP [26] , DV-Hop [27] , RPA [33] , with our design, and evaluated the effectiveness of the proposed design in two types of outdoor test-bed systems: an 850-footlong linear network with 54 MICAz motes, and a regular 2-dimensional network covering an area of 10000 square feet with 49 motes. System evaluation showed noticeable performance gains including eliminating estimation ambiguity and reducing localization errors by as much as 35%. In addition, extensive simulation demonstrated the effectiveness of our design for large-scale networks and revealed an interesting feature of robustness to the unknown and spatially unevenly distributed radio path loss.. The rest of the paper is organized as follows: Section 2 surveys related work. Section 3 explains the motivation behind the paper with empirical data. The main design is introduced in Section 4. Section 5 briefs three range-free protocols on which we evaluated our work. Section 6 reports outdoor test-bed experiments. Section 7 discusses results from simulation. Finally, Section 8 concludes the paper. This paper proposes a relative distance for achieving range-free localization beyond connectivity. Starting from the concept of neighborhood ordering as a high-dimensional location-dependent signature for each node in the network, we presented the design of RSD, which quantifies the difference between signatures to capture distance relationships among neighboring nodes with sub-hop resolution. With little overhead, RSD can be conveniently embedded in many connectivity-based localization algorithms to improve localization accuracy. System evaluations on test-beds demonstrated that applying RSD helps solve the ambiguity problem and considerably enhance localization accuracy. In addition, extensive simulation reveals that RSD offers a nice feature of robustness for spatially unevenly distributed radio path loss, preventing from outputting an distorted network topology. Based on whether ranging is conducted at the resourceconstrained sensor nodes, most of the previous work about node localization can be categorized into one of following two classes: (i) range-based [9, 10, 11, 14, 12, 15, 16, 17, 18, 19, 20, 21, 22, 24] , and (ii) range-free localization [25, 26, 27, 28, 30, 29, 31, 32, 34, 35, 36, 37, 38] .. Range-based solutions try to estimate absolute distances or angles among randomly deployed sensor nodes and then apply triangulation or multilateration for location calculation. Many range-based methods use techniques such as Time of Arrival (ToA) [13] , Time Difference of Arrival (TDoA) (e.g., Cricket [10] , AHLos [11] , TPS [12] ) and Angle of Arrival (AOA) (e.g., APS [22] , SpinLoc [18] ) to measure distance or angles among nodes and anchors (also called beacons or reference nodes with pre-known location information). Those methods can be accurate but costly by adding per-node additional hardware [10, 12, 14] , requiring intensive tuning [17] or not suitable for large-scale systems due to their limited effective range [10] . Although some research has tried to utilize RSS (Receive Signal Strength) with noise filtering for distance estimation or for wireless fingerprint matching (e.g., Radar [9] , wMDS [43] , SpotOn [45] , Indoor GPS [46] , Sequence [48] , Ranking [49] ), empirical studies [39, 40, 41] have concluded that unless careful calibration and environment profiling can be accomplished, RSS is not a good choice for accurate ranging.. Range-free methods have applied many smart ideas for pursuing a low-cost design. Early range-free solutions made use of the proximity information to anchor nodes. Typical examples are Centroid [25] , APIT [28] , Concave [35] and Self [30] , in which the high cost of anchors is supposed to be amortized with a large number of low-cost ordinary senor nodes. To achieve a good accuracy, however, a high anchor density is required, which is impractical for large-scale systems. Concurrently, wireless connectivity-based protocols such as DV-Hop [27] , MDS-MAP [26] , RPA [33] , Amorphous [32] and so on, proposed using local neighborhood sensing to build hop-based virtual distances for large-scale sensor network localization. In those systems, only a small number of anchors are necessary for constructing the global coordinates, which significantly reduces the system cost. Recent work helps solve problems of "holes" [31, 34] and "complex shapes" [29] , contributing to connectivity-based solutions in practical irregular node deployment with obstacles. However, we found that localization by means of connectivity alone does not make full use of information available from local neighborhood sensing.. Realizing the limitations of previous works, this paper presents the idea of regulated signature distance (RSD), a metric of the proximity among 1-hop neighboring nodes. Acting as a transparent supporting layer, our design can effectively improve the system accuracy of state-of-the-art connectivity-based localization with little extra cost.

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


Interconnection Analysis for Standard Cell Layouts We present an accurate model and procedures for predicting the common physical design characteristics of standard cell layouts (i.e., the interconnection length and the chip area). The predicted results are obtained from analysis of the net list only, that is, no prior knowledge of the functionality of the design is used. Random and optimized placements, global routing, and detailed routing are each abstracted by procedural models that capture the important features of these processes, and closed-form expressions that de ne these procedural models are presented. We have veri ed both the global characteristics (total interconnection length and layout area) and the detailed characteristics (wire length and feedthrough distributions) of the model. On the designs in our test suite, the estimates are very close to the actual layouts. Interconnection analysis addresses two related problems: the wire (interconnection) length estimation problem and the wiring area estimation problem. Many researchers have addressed the area estimation problem and have proposed e cient and accurate techniques for it. The wire length estimation problem has however not been solved satisfactorily. Interconnection length studies tend to be either theoretical and hence not applicable to speci c designs, or empirical such as those relating the Rent's rule parameters to the average wire length. Early research into interconnection length estimation, although of theoretical interest, is too general to be useful for speci c designs. Later work, which produces results that have the appropriate level of detail, requires knowledge of the Rent's exponent, or assumes particular wire length distributions. In practice, assumptions about wire length distributions are either not veri ed or require tting curves to the actual layout data.. A method which derives the wire length distribution as a function of the logic structure of a given design, the physical features of primitive logic cells in the Standard Cell library, and the algorithmic features of physical design processes which are used to construct the placement and routing solutions, is needed. This requirement encourages development of procedural models which produce interconnection length estimates with a high degree of accuracy without making arbitrary assumptions about the wire length distribution or tting curves to the data.. Interconnection length models have many uses as summarized below.. They can help evaluate the t of a logic design to a fabrication technology. More precisely, the models determine routability of the given logic design, subject to the constraints of the technology, and therefore, help the system designers trade o aspects of the design and the technology. The area required for interconnections within a circuit layout largely depends on the total length of wire that must be accommodated. Accurate estimation of total interconnection length is, therefore, an essential part of any area estimation procedure. In fact, many area estimation techniques require the wire length for the logic design as an input parameter 11], 14]. Interconnection estimates are useful during the technology mapping phase of the logic synthesis since they can predict the cost of various implementations 17] . Interconnect estimation has taken on new importance due to 1) technology migration to deep submicron regime where interconnect e ects by far dominate gate e ects in terms of circuit area and delay 2] and 2) emergence of low power dissipation as a major driver of the CAD tools and design techniques 3]. To expand on this point, it should be noted that most of the ongoing research work on power estimation in CMOS circuits focuses entirely on estimating the switching activity inside a circuit under di erent input characteristics and thereby ignores the other (equally important) contributing factor, namely, the physical capacitance 16]. This capacitance is itself dominated by the interconnect capacitance, thus, having an accurate interconnect model will improve the accuracy of the power estimation techniques and the e ectiveness of the power optimization steps that rely on these estimations.

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


On merging partitioned databases Partitioning of a distributed data base requires either that update activity be restricted or that a stre tegy for conflict resolution and partition merging be used once communication is restored. The graph-theoretic approach used by Davidson follows the latter approach and can be used to show that finding an optimum solution to the general problem is NP-complete. We give several methods of reducing the size of the graphs involved. Two open subproblems are shown to be NPcomplete, while an extension of a known polynomial-time subproblem is given. Simulation results are used to study both the amount of compression achieved by the graph reduction techniques and their effects on heuristics for the problem. In addition, some modifications are made to existing heuristics to improve their performance. A simple probabilistic model is developed and compared to the simulation results.

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


Formal verification of ASMs using MDGs We present a framework for the formal verification of Abstract State Machine (ASM) designs using the Multiway Decision Graphs (MDG) tool. ASM is a state based language for describing transition systems. MDG provides symbolic representation of transition systems with support of abstract sorts and functions. We implemented a transformation tool that automatically generates MDG models from ASM specifications. Then formal verification techniques provided by the MDG tool, such as model checking or equivalence checking, can be applied on the generated models. We illustrate this work with the case study of an ATM switch controller, in which behavior and structure were specified in ASM and, using our ASM-MDG facility, are successfully verified with the MDG tool. With the increasing reliance on digital systems, errors in their design can cause failures, resulting in the loss of time, money, and a long design cycle. Large amounts of effort are required to correct an error, especially when the error is discovered late in the design process. For these reasons, we need approaches that enable us to discover errors and validate designs as early as possible. Conventionally, simulation has been the main debugging technique. However, due to the increasing complexity of digital VLSI systems, it is becoming impossible to simulate large designs adequately. Therefore, there has been a recent surge of interest in formal verification and tool support for this task, such as theorem proving, combinational and sequential equivalence checking, and in particular model checking [18] .. Abstract State Machines (ASM) [15] is a formal specification method for software and hardware systems that has become successful for specifying and verifying complex systems [5] . The formalism is used as a modeling language in a variety of domains as it has been used both in academic and industry contexts [5, 16] . Multiway Decision Graphs (MDGs) [8] are decision diagrams based on abstract representation of data and are used for modeling hardware systems in first place. MDGs subsume and extend traditional ROBDDs (Reduced Ordered Binary Decision Diagrams) [6] by abstract data sorts and uninterpreted function symbols. This paper presents a tool to interface the ASM Workbench [9] with the MDG applications in order to enable the formal verification of ASM descriptions. We chose to interface ASM with the MDG tool for three reasons: first, both notions, ASM and MDGs, are closely related to each other since they are both based on a subset of many-sorted first order logic. Second, MDGs as a data structure for representing transition systems provide a powerful means for abstraction that fit perfectly with those of ASMs. Both notations support the use of abstract types and uninterpreted functions. This allows the user to model and to verify large or potentially infinite models. Finally, providing the MDG tool with a high-level modeling language, namely ASM, would allow MDG users to model a wide range of applications in a more elegant and succinct manner [12] .. For behavioral models, we develop the ASM-MDG interface in two steps: in the first step, the ASM model is transformed into a flat, simple transition system, called the Intermediate Language (ASM-IL) [30] . The second step provides a transformation from ASM-IL into the syntax of the input language of the MDG tool, MDG-HDL. For structural models we implemented a syntax transformation interface directly from ASM to MDG-HDL where the ASM model is restricted to the MDG-HDL library components. This is proved to be more efficient than translating via ASM-IL, which would provide a very large model. We have applied the ASM-MDG interface to the Fairisle ATM switch [20] as a case study, where we conducted MDG model checking on the generated MDG-HDL models. We succeeded in model checking several properties on the ATM switch controller.. Interfacing ASM and MDG, has been already introduced in [30] . This work is closely related to ours and parts of the results have been re-used here. However, the overall aim of [30] has been to map ASM models directly onto MDG data structures, without utilizing the input notation MDG-HDL. As a consequence, the interface is not providing the user with the facilities of the MDG tool as a black-box verification tool since the tool is only working on MDG-HDL models. The work in [30] also provided an interface from ASM models to the SMV model checker [23] (using the SMV input language). In contrast to SMV, the MDG tool provides a useful means for representing abstract models containing uninterpreted functions, where SMV supports neither abstract data types nor uninterpreted functions. This allows model checking on an abstract level at which the state explosion problem can in some cases be avoided. This paper extends our work presented in [12] and [13] by applying the methodology on a real application, which is, the Fairisle ATM switch. The Fairisle ATM switch is a major case study compared to the applications provided in [12] and [13] . It posed several experimental challenges and much space about it is devoted in this paper.. The rest of the paper is organized as follows. Section 2 provides related work to ours. In Section 3, we present the description of ASM and MDG. Section 4 presents our ASM-MDG interface. Section 5 illustrates the efficiency our approach by applying the interface on the case study of the Fairisle ATM switch. Finally, Section 6 concludes the paper with an outlook to future work. We introduced a formal verification framework interfacing ASMs (Abstract State Machines) to the MDG (Multiway Decision Graph) tool. This new interface, called "ASM-MDG", enables ASM users to exploit the fully automated verification techniques provided by the MDG tool, namely equivalence checking and model checking. On the other hand, MDG users will be provided with a high-level modeling language, namely ASM, which as MDG, supports abstract data sorts and uninterpreted functions. The interface automatically transforms models in the ASM specification language, ASM-SL, into descriptions in the MDG hardware description language, MDG-HDL. This transformation is done in two ways. Firstly, we translate ASM-SL behavioral and structural models into an intermediate language, ASM-IL, and then transform this intermediate model into the appropriate MDG-HDL behavioral code. Secondly, we translate ASM-SL structural models directly into MDG-HDL netlist components using syntactic analysis and transformation. Besides the MDG-HDL code, the interface produces a static variable ordering that satisfies the restrictions given by the MDG approach, as well as the algebraic specification necessary for the checking procedures, such as sort and function definitions.. We have applied the ASM-MDG interface on the Fairisle ATM switch controller as a larger case study. We conducted MDG model checking on the generated MDG-HDL models and succeeded in verifying several properties on the switch controller. Although the case study of the Fairisle ATM switch Controller is a hardware example and could have also been modeled directly in MDG-HDL, the benefits of extending the MDG tool with a general high-level modeling language like ASM are easy to realize once the user focuses on behavioral problems, which can be modeled on different levels of abstraction in the same formalism (namely ASM). Furthermore, the case study clearly demonstrates the benefits of the MDG tool over ordinary ROBDD-based tools, like VIS, namely, parameterized models can be checked without instantiating the parameters. In the case of the ATM switch Controller, the model could be checked for an arbitrary number of transferred bytes over the switch.. As a future work, we think that linking our work to the MDG-HOL [19] hybrid tool will further enable theorem proving for ASM models. Then, different verification approaches can be applied on one model: equivalence checking, model checking and theorem proving. This is not yet available in any verification framework for ASMs. The idea is basically to divide the verification process into tasks, that can be scheduled semi-automatically according to the most suitable verification approach. Interfacing new ASM languages, such as AsmL [24] , to the MDG tool can be interesting and implemented following the same approach. Also properties can be specified in a standard language such as PSL [1] instead of the limited syntax of the L MDG . Related work on the verification of ASM models include the work of Spielmann [28] , who investigated the complexity of verifying a class of restricted abstract state machine programs automatically. Also in the work on real-time systems by Beauquier and Slissenko [3] , the verification problem is discussed for ASMs. These results are complemented by our work since they remain in theory and neither of the work above provides actual tool support for the verification task.. Gargantini et al. [11] presented a framework for automatic translation from ASM to PVS which is a theorem prover based on higher-order logic [25] . They developed a set of PVS theories to define types and functions modeling ASM universes and rules. A set of PVS strategies is provided in order to simplify the proof conduction. In [26] , Schellhorn defined a generic proof for the correctness of ASM refinement. The author provided an embedding of ASM into dynamic logic that allows formalizing properties of ASM, then developed a theory for the modularization of correctness proofs for ASM refinements. The results are integrated into the KIV (Karlsruhe Interactive Verifier) system. Similar to the above two works, we are proposing a framework to allow the verification of ASM models. We differ, however, through the fact that we intend to apply automatic verification techniques, namely model checking and sequential equivalence checking, rather than interactive theorem proving such as in PVS. Furthermore, our approach is founded on the use of the same natural level of abstraction in both ASM and MDG. Finally, our framework is targeted towards the modeling and verification of hardware systems.. In [19] , Kort et al. describe a hybrid formal hardware verification tool linking MDG and the HOL theorem prover [14] obtaining the advantages of both verification paradigms. They provide an embedding of the MDG input language in HOL, implementing a linkage between HOL and MDG and a series of HOL tactics that automate hierarchical verification. The MDG tool can be called from HOL to perform verification of components that are within its capabilities. Our work provides an external interface to verify ASM designs, while this work is based on using the MDG tool to verify sub-gaols for the HOL theorem prover.. In [4] , Börger and Stark provide a history and survey of ASM research including ASM verification, tool integration and linking ASM to verification tools. From a more general perspective, the work described by Shankar [27] and Katz and Grumberg [17] are also related in that they provide a tool framework comprising a general intermediate language which allows one to interface a high-level modeling language with a variety of tools.

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