Persuasive Cued Click-Points: Design, Implementation, and Evaluation of a Knowledge-Based Authentication Mechanism Abstract-This paper presents an integrated evaluation of the Persuasive Cued Click-Points graphical password scheme, including usability and security evaluations, and implementation considerations. An important usability goal for knowledge-based authentication systems is to support users in selecting passwords of higher security, in the sense of being from an expanded effective security space. We use persuasion to influence user choice in click-based graphical passwords, encouraging users to select more random, and hence more difficult to guess, click-points. T HE problems of knowledge-based authentication, typically text-based passwords, are well known. Users often create memorable passwords that are easy for attackers to guess, but strong system-assigned passwords are difficult for users to remember [6] .. A password authentication system should encourage strong passwords while maintaining memorability. We propose that authentication schemes allow user choice while influencing users toward stronger passwords. In our system, the task of selecting weak passwords (which are easy for attackers to predict) is more tedious, discouraging users from making such choices. In effect, this approach makes choosing a more secure password the path of least resistance. Rather than increasing the burden on users, it is easier to follow the system's suggestions for a secure password-a feature lacking in most schemes.. We applied this approach to create the first persuasive click-based graphical password system, Persuasive Cued Click-Points (PCCP) [2] , [3] , and conducted user studies evaluating usability and security. This paper presents a consistent assimilation of earlier work [1] , [2] , [3] , [4] , [5] and two unpublished web studies, reinterprets and updates statistical analysis incorporating larger data sets, provides new evaluation of password distributions, extends security analysis including relevant recent attacks, and presents important implementation details. This systematic examination provides a comprehensive and integrated evaluation of PCCP covering both usability and security issues, to advance understanding as is prudent before practical deployment of new security mechanisms. Through eight user studies [1] , [2] , [3] , [4] , [7] , we compared PCCP to text passwords and two related graphical password systems. Results show that PCCP is effective at reducing hotspots (areas of the image where users are more likely to select click-points) and avoiding patterns formed by click-points within a password, while still maintaining usability.. The paper is structured as follows: Section 2 covers related authentication schemes and Persuasive Technology. Section 3 describes PCCP. Methodology and relevant details of the user studies are available in Section 4. Results of the usability evaluation are in Section 5. Section 6 examines the characteristics and skewed nature of the password distributions. Section 7 provides a security analysis against likely threats. Relevant implementation issues are addressed in Section 8. Section 9 offers concluding remarks. A common security goal in password-based authentication systems is to maximize the effective password space. This impacts usability when user choice is involved. We have shown that it is possible to allow user choice while still increasing the effective password space. Furthermore, tools such as PCCP's viewport (used during password creation) cannot be exploited during an attack. Users could be further deterred (at some cost in usability) from selecting obvious click-points by limiting the number of shuffles allowed during password creation or by progressively slowing system response in repositioning the viewport with every shuffle past a certain threshold. The approaches discussed in this paper present a middle ground between insecure but memorable user-chosen passwords and secure systemgenerated random passwords that are difficult to remember.. Providing instructions on creating secure passwords, using password managers, or providing tools such as strength meters for passwords have had only limited success [39] . The problem with such tools is that they require additional effort on the part of users creating passwords and often provide little useful feedback to guide users' actions. In PCCP, creating a less guessable password (by selecting a click-point within the first few system-suggested viewport positions) is the easiest course of action. Users still make a choice but are constrained in their selection.. Another often cited goal of usable security is helping users from accurate mental models of security. Through our questionnaires and conversations with participants in authentication usability studies, it is apparent that in general, users have little understanding of what makes a good password and how to best protect themselves online. Furthermore, even those who are more knowledgeable usually admit to behaving insecurely (such as reusing passwords or providing personal information online even when unsure about the security of a website) because it is more convenient and because they do not fully understand the possible consequences of their actions.. Guiding users in making more secure choices, such as using the viewport during password creation, can help foster more accurate mental models of security rather than vague instructions such as "pick a password that is hard for others to guess." This persuasive strategy has also been used with some success to increase the randomness of text passwords [40] .. Better user interface design can influence users to select stronger passwords. A key feature in PCCP is that creating a harder to guess password is the path of least resistance, likely making it more effective than schemes where secure behavior adds an extra burden on users. The approach has proven effective at reducing the formation of hotspots and patterns, thus increasing the effective password space.. Sonia Chiasson is an assistant professor in the School of Computer Science at Carleton University in Ottawa, Canada. Her main research interests are in usable security: the intersection between human-computer interaction (HCI) and computer security. Current projects are on user authentication, usable security for mobile devices, and computer games for teaching about computer security. She is a member of the IEEE.. Elizabeth Stobert received the BMath and BA degrees in 2008 and 2009, respectively, from Carleton University, where she is working toward the PhD degree in computer science. She received the MA degree in psychology in 2011 from the same university. Her research interests are in the areas of HCI, security, and cognition. She is a student member of the IEEE.. Alain Forget is currently a PhD candidate in computer science. His thesis research is focusing on various aspects of usable authentication, including users' mental models of passwords, using persuasive technology to improve users' mental models of authentication and computer security, and exploring various solutions to the challenges users have with contemporary text passwords.. Robert Biddle is a professor in the School of Computer Science and Institute of Cognitive Science at Carleton University in Ottawa, Canada. His research is in human-computer interaction and software design. His current research projects are on usable security, especially authentication and security decision making, and on large-scale multitouch devices, especially environments for collaborative design and visualization. He is a member of the IEEE. (1996) . He is on the editorial board of IEEE TIFS and IEEE TDSC. His current research interests include authentication and identity management, security and usability, software security, and computer security. He is a member of the IEEE.. . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib. Text passwords are the most popular user authentication method, but have security and usability problems. Alternatives such as biometric systems and tokens have their own drawbacks [8] , [9] , [10] . Graphical passwords offer another alternative, and are the focus of this paper.. In PassPoints, passwords consist of a sequence of five click-points on a given image. Users may select any pixels in the image as click-points for their password. To log in, they repeat the sequence of clicks in the correct order, within a system-defined tolerance square of the original click-points. Although PassPoints is relatively usable [1] , [15] , [16] , security weaknesses make passwords easier for attackers to predict. Hotspots [17] , [18] , [19] , [20] are areas of the image that have higher likelihood of being selected by users as password click-points. Attackers who gain knowledge of these hotspots through harvesting sample passwords can build attack dictionaries and more successfully guess PassPoints passwords [18] , [19] . Users also tend to select their click-points in predictable patterns [5] , [20] (e.g., straight lines), which can also be exploited by attackers even without knowledge of the background image; indeed, purely automated attacks against PassPoints based on image processing techniques and spatial patterns are a threat [21] .. A precursor to PCCP, Cued Click Points [7] was designed to reduce patterns and to reduce the usefulness of hotspots for attackers. Rather than five click-points on one image, CCP uses one click-point on five different images shown in sequence. The next image displayed is based on the location of the previously entered click-point ( Fig. 1) , creating a path through an image set. Users select their images only to the extent that their click-point determines the next image. Creating a new password with different click-points results in a different image sequence.. The claimed advantages are that password entry becomes a true cued-recall scenario, wherein each image triggers the memory of a corresponding click-point. Remembering the order of the click-points is no longer a requirement on users, as the system presents the images one at a time. CCP also provides implicit feedback claimed to be useful only to legitimate users. When logging on, seeing an image they do not recognize alerts users that their previous click-point was incorrect and users may restart password entry. Explicit indication of authentication failure is only provided after the final click-point, to protect against incremental guessing attacks.. User testing and analysis showed no evidence of patterns in CCP [5] , so pattern-based attacks seem ineffective. Although attackers must perform proportionally more work to exploit hotspots, results showed that hotspots remained a problem [2] .

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


A Framework for Formalization and Strictness Analysis of Simulation Event Orderings This article advocates the use of a formal framework for analyzing simulation performance. Simulation performance is characterized based on the three simulation development process boundaries: physical system, simulation model, and simulator implementation. First, the authors formalize simulation event ordering using partially ordered set theory. A simulator implements a simulation event ordering and incurs implementation overheads when enforcing event ordering at runtime. Second, they apply their formalism to extract and formalize the simulation event orderings of both sequential and parallel simulations. Third, they propose the relation stricter and a measure called strictness for comparing and quantifying the degree of event dependency of simulation event orderings, respectively. In contrast to the event parallelism measure, strictness is independent of time. As the size and complexity of simulations grow, the computational demand required is fast becoming a limited factor in solving large and complex real-world problems. Consequently, understanding simulation performance becomes increasingly important. Parallel simulation speeds up simulation execution by distributing the simulation across a number of processors. In parallel simulation, a physical system is viewed as a number of physical processes that interact in some fashion [1] . In the virtual time simulation modeling paradigm, each physical process is modeled by a logical process (LP) [2] . The interactions between physical processes are modeled by exchanging time-stamped events between the corresponding logical processes. Parallelism is exploited by simulating LPs concurrently.. Research in parallel simulation in the past decade has resulted in a number of synchronization protocols [1] . These protocols, introduced in an algorithm fashion, are frequently evaluated by comparing its performance among protocols [1] . Moreover, the performance metrics and benchmarks used vary among the different studies. A serious drawback is the lack of performance comparison framework. We proposed a time and space performance evaluation framework based on the concept of event ordering [3, 4] . Event ordering in simulation refers to a set of rules that is used to order a set of events. The framework characterizes simulation performance along the three natural boundaries in simulation modeling and analysis (see Table 1 ) [3] . The physical system layer corresponds to real-world systems, the simulation model layer corresponds to different simulation event orderings that can be used to simulate a real-world system, and the simulator layer corresponds to the simulator implemented to enforce a simulation event ordering. The layered approach provides a framework to study the factors affecting simulation performance from the physical system to its simulator implementation.. Event ordering (or message ordering) has been studied in the time management component of High Level Architecture (HLA) [1] . The simulation of a physical system in HLA is distributed into a number of federates. Message ordering in HLA time management dictates the ordering of messages within each federate. Fujimoto [5] introduces five message orderings that form a spectrum of orderings where at one extreme, messages are not ordered, and at the other extreme, messages are totally ordered based on their time stamp. To exploit the temporal uncertainty in a simulation model, Fujimoto [6] proposed approximate time (AT) and approximate time causal (ATC) orders. Recently, Zhou et al. [7] investigated the causality issue in distributed simulation and proposed the causal receive ordering. In parallel simulation, event ordering dictates the ordering of events within each LP and across LPs. To produce a correct simulation result, events in an LP are executed in nondecreasing time-stamp order [1] . This constraint is referred to as the local causality constraint (lcc). Different synchronization algorithms impose different ordering rules in executing events. Different runtime event execution schedules produce the same simulation results but with differing execution performance [8, 9] . A particularly vexing problem with event ordering happens when an LP receives a number of distinct events at exactly the same simulation time. Wieland [10] studied this problem, noting that the results of the simulation are sensitive to the particular ordering assigned to simultaneous events. He proposed that the problem be handled statistically: a sampling of all possible simultaneous event orderings is executed, and the resulting distribution would be more meaningful than a single-point estimate derived from an arbitrary temporal tie-breaking mechanism.. This article discusses the formalization of simulation event orderings based on a partially ordered set (poset). The formalization provides a theoretical foundation for carrying out performance analysis of simulation. If events with the same time stamp are grouped as an ordered set of simultaneous events, there will be only one event ordering in a physical system. This article shows that a simulator implementation implements a specific event ordering. Two major benefits may be derived from the separation of simulation event ordering from its implementation. First, this facilitates the understanding of the relationship of different event orderings. We propose the relation stricter to compare different event orderings. Second, the performance of different event orderings can be evaluated independent of implementation overheads [3, 4] . The separation between event ordering and its implementation is motivated by research on memory operation orderings in memory consistency models [11, 12] and message ordering in broadcast communication services in distributed systems [13, 14] . The memory consistency model recognizes a number of memory operation orderings such as the sequential consistency model [15] . The sequential consistency model can be implemented in various ways [16] [17] [18] [19] . Similarly, broadcast communication services recognize a number of message orderings such as causal order [13, 14] . Many algorithms have been proposed to implement causal order [20] [21] [22] [23] [24] .. Our work is different from critical path analysis (CPA), which is also used to analyze the performance of parallel simulation [20] . CPA uses an event dependency graph that is based on happened before event ordering [25] . Hence, CPA is a subset of our event ordering analysis.. The rest of this article is organized as follows. Section 2 formalizes the concept of simulation event ordering. We apply this formalism to extract and formalize simulation event orderings in both sequential and parallel simulation. In section 3, we propose the stricter relation and apply this concept to analyze a number of event orderings. We show the empirical result in section 4. Our concluding remark is in section 5. The main contribution of this article is the formalization of simulation event ordering based on partially ordered set theory, as well as the strictness analysis of various simulation event orderings. First, we characterized simulation performance along the three natural boundaries in simulation modeling and analysis-namely, the physical system, the simulation model, and the simulator-and formalized the event orderings in each of the layers. Events in a physical system are ordered based on their time of occurrences. In simulation, different event orderings can be used to simulate the physical system. In the implementation, the simulator ensures that the chosen event ordering is maintained throughout a simulation run. We extract and formalize the event orderings of both sequential and parallel simulation. To compare the event dependency among different event orderings, we propose the stricter relation, and to quantify the degree of event dependency, a new strictness measure is proposed.

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


A specification language for problem partitioning in decomposition-based design optimization Decomposition-based design optimization consists of two steps: partitioning of a system design problem into a number of subproblems, and coordination of the design of the decomposed system. Although several generic frameworks for coordination method implementation are available (the second step), generic approaches for specification of the partitioned problem (the first step) are rare. Available specification methods are often based on matrix or graph representations of the entire system. For larger systems these representations become intractable due to the large number of design variables and functions. This article presents a new linguistic approach for specification of partitioned problems in decomposition-based design optimization. With the elements of the proposed specification language, called ? (the Greek letter "Psi"), a designer can define subproblems, and assemble these into larger systems in a bottom-up fashion. The assembly process allows the system designer to control the complexity and tractability of the problem partitioning task. To facilitate coupling to generic coordination frameworks, a compiler has been developed for ? that generates an interchange file in the INI format. This INI-definition of the partitioned problem can easily be interpreted by programs written in other languages. The flexibility provided by the ? language and the automated generation of input files for computational frameworks is demonstrated on a vehicle chassis design problem. The developed tools, including user manuals and examples, are made publicly available. Decomposition-based optimization approaches are attractive for addressing the challenges that arise in the optimal design of advanced engineering systems (see, e.g., Wagner and Papalambros 1993; Papalambros 1995; SobieszczanskiSobieski and Haftka 1997; Alexandrov 2005) . The main motivation for the use of decomposition-based optimization is the organization of the design process itself. Since a single designer is not able to oversee each relevant aspect, the design process is distributed over a number of design teams. Each team is responsible for a part of the system, and typically uses specialized analysis and design tools to solve its design subproblems. Generally speaking, a subproblem can be associated with a design discipline, or represent a subsystem or component in the entire system.. Solving a system optimization problem with a decomposition-based approach entails three steps ( Fig. 1): 1. Specifying the variables and functions of each discipline Fig. 1 The three steps involved in decomposition-based system optimization. The proposed language is developed for the specification of partitioned problems in Step 2 2. Specifying the partitioned problem (i.e. the distribution of variables and functions over subproblems and systems) 3. Coordinating the solution of the partitioned system Variable and function specifications of Step 1 include information such as initial estimates and bounds for variables, how functions and their sensitivities are to be evaluated, and on which variables each function depends. These specifications are typically provided by each discipline separately, most likely with only partial knowledge of the interdisciplinary interactions.. The interactions are defined in the partitioned system specification of Step 2. A partitioned system specification defines how the variables and functions are distributed over design subproblems and which interactions are present between subproblems. Defining the partitioned system is a task performed partially by the disciplinary designers that define the subproblems, and a system designer that defines the interaction between the subproblems.. Once the partitioned problem is defined, a coordination algorithm needs to be implemented to solve the system design problem in Step 3. The coordination process requires the specifications of the first two steps as inputs. Which coordination algorithm is used needs to be defined as well (e.g. distributed analysis or distributed optimization). The coordination algorithm drives the design subproblems defined in Step 2 towards a system design that is consistent, feasible, and optimal. Here, consistency assures that quantities shared by multiple subproblems take equal values, feasibility refers to the satisfaction of all design constraints of all disciplines, and optimality reflects that the obtained design is optimal for the system as a whole.. Most research on decomposition-based optimal design has focussed on the final, most challenging step: coordination. Many coordination algorithms are available (see Balling and Sobieszczanski-Sobieski 1996; SobieszczanskiSobieski and Haftka 1997; Tosserams et al. 2009a , for overviews), as well as generic approaches for the implementation of these methods (e.g. Michelena et al. 1999; Etman et al. 2005; Huang et al. 2006; Moore et al. 2008; de Wit and van Keulen 2008; Martins et al. 2009 ). The first two steps have received far less attention.. Theoretical and numerical studies however show that both the choice of coordination algorithm and the way the system is partitioned have an effect on the efficiency and effectiveness of decomposition-based optimization. See Balling and Sobieszczanski-Sobieski (1996) , Sobieszczanski-Sobieski and Haftka (1997) , Perez et al. (2004) , Tosserams et al. (2007) , Allison et al. (2007) , de Wit and van Keulen (2007) , Yi et al. (2008) , and Tosserams et al. (2009a) for examples of these observations. Experimentation with different system decompositions within the available generic coordination frameworks is not straightforward. Since each framework is developed for its appropriateness for implementation of coordination methods, it typically does not provide an intuitive environment for specifying partitioned problems. As systems become larger, their specification in such a non-intuitive environment becomes complicated and is prone to errors. Being able to specify partitioned problems in a more intuitive language is clearly preferable. Such a generic specification language provides a tool for the easy manipulation of the way a system is partitioned.. In this paper, we present a linguistic approach that allows an intuitive, compact, and flexible specification of partitioned problems. We adopt the name (the Greek letter "Psi"), an acronym for partitioning and specification. The proposed language is highly expressive and has only a small set of language elements, which is a clear advantage over more generic system modeling languages such as SysML (Friedenthal et al. 2008) .. follows a composition paradigm that starts from the definition of individual components (subproblems) that are assembled into larger systems. Components are typically specified by disciplinary designers, while defining systems is the task of a system designer (see Fig. 1 ). The composition process is modular in that definitions of variables and functions are local to components and systems; disciplinary designers do not have to worry whether a variable or function they use locally is used by another designer elsewhere in the system. Instead, the user must specify interactions between components by defining systems that describe the interactions between the local definitions.. The non-automated composition process of provides specification autonomy to disciplines, it provides control over the composition process, and allows for the definition of multi-level systems. This in contrast to automated composition methods that assemble component definitions based on overlaps in variable and function names; a process that can become intractable for larger systems. An example of an automated system composition approach is given by Alexandrov and Lewis (2004a, b) .. We would like to point out that a specification in is independent of the type of coordination method selected for Step 3. Subproblems become analysis subproblems if a single-level coordination method is selected, or they become optimization subproblems if a multi-level coordination algorithm is selected. Similarly, the language does not differentiate between hierarchical or non-hierarchical coordination methods.. As a second contribution, a compiler and two generators have been developed for . The compiler is required for processing specifications in , and the generators have been developed as examples of how input files for computational coordination frameworks can be automatically generated. The compiler and the two generators provide an easy transition from the specification of the partitioned problem in Step 2 to the solution of the partitioned problem in Step 3. The compiler checks the specification for correctness, and translates it to a normalized structure designed to simplify further automatic processing. The data is written to a file in the generic INI format. The INI format can easily be interpreted by programs in other languages such that framework-specific input files can easily be generated. As validation of the concept, we have implemented two additional generators that operate on this INI format. One generator derives the functional dependence table of the system, and another generator derives Matlab files that are used as inputs for a generic implementation of the augmented Lagrangian coordination algorithm (ALC, Tosserams et al. 2008 Tosserams et al. , 2009c . This generator for ALC was the original motivation for the work presented in this article, and we expect that similar generators can be developed for other computational frameworks.. The paper is organized as follows. First, the general system design problem and its decomposition are discussed in Section 2. Second, we illustrate the elements of for a simple example in Section 3, and discuss the compilergenerated output formats in Section 4. The application of the language and the developed tools to a larger example is described in Section 5. Concluding remarks are offered in Section 6.. The developed tools, including user manuals and several examples, are available for download at http://se.wtb.tue.nl/ sewiki/mdo.

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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 study on multi-dimensional products of graphs and hybrid logics In this work, we address some issues related to products of graphs and products of modal logics. Our main contribution is the presentation of a necessary and sufficient condition for a countable and connected graph to be a product, using a property called intransitivity. We then proceed to describe this property in a logical language. First, we show that intransitivity is not modally definable and also that no necessary and sufficient condition for a graph to be a product can be modally definable. Then, we exhibit a formula in a hybrid language that describes intransitivity. With this, we get a logical characterization of products of graphs of arbitrary dimensions. We then use this characterization to obtain two other interesting results. First, we determine that it is possible to test in polynomial time, using a model-checking algorithm, whether a finite connected graph is a product. This test has cubic complexity in the size of the graph and quadratic complexity in its number of dimensions. Finally, we use this characterization of countable connected products to provide sound and complete axiomatic systems for a large class of products of modal logics. This class contains the logics defined by product frames obtained from Kripke frames that satisfy connectivity, transitivity and symmetry plus any additional property that can be defined by a pure hybrid formula. Most sound and complete axiomatic systems presented in the literature are for products of a pair of modal logics, while we are able, using hybrid logics, to provide sound and complete axiomatizations for many products of arbitrary dimensions. In this work, we address some issues related to products of graphs and products of modal logics. In particular, our main goal is to define a necessary and sufficient condition for a graph to be a non-trivial product of other graphs and describe this condition in a logical language. We then use this logical characterization of products of graphs to obtain two other interesting results dealing with the computational complexity to verify whether a finite graph is a product and with the construction of sound and complete axiomatic systems for products of modal logics. We are especially interested in products of modal logics with dimension greater than 2, for which there are very few results in the literature [2] . So, our fundamental task in this work is to find a necessary and sufficient condition for a graph to be isomorphic to a (cartesian) product 1 of non-trivial graphs and to verify whether this condition can be expressed in a modal language or in a hybrid language.. In [3] and [2] , three properties that are satisfied in graphs that are products are presented: left commutativity, right commutativity and the Church-Rosser property. However, although these properties, together with the reverse ChurchRosser property, are necessary for a graph to be a product, they are not sufficient (as illustrated by an example in [3] ). There are graphs that satisfy left and right commutativity and the Church-Rosser and reverse Church-Rosser properties, but cannot be decomposed as a product of other graphs.. In this work, we introduce a new property called intransitivity that, together with the previous ones, form a necessary and sufficient condition for a countable and (weakly) connected graph to be a product. The proof of the necessity of these properties is fairly simple and is done directly, without the need to assume that the graph is countable or connected. On the other hand, the proof of the sufficiency is done in two steps. First, we prove that if a countable and connected graph satisfies the five properties stated above, then its components must satisfy a particular isomorphism. Then, we show that if a countable and connected graph satisfies intransitivity and its components satisfy this particular isomorphism, then the graph is a product.. Once we are able to define this necessary and sufficient condition, with the help of intransitivity, it is now time to describe it in a logical language. As products of graphs appear naturally as an extension of the usual Kripke semantics of modal logics, the natural choice is to try to describe this condition in a modal language.. The limits to the expressive power of basic modal languages are fairly well known. There are a series of standard results that state that frames that are "similar" in a number of ways must agree on the validity of formulas [4] . Using these techniques, we show that the property of intransitivity is not definable in a basic modal language. In fact, we also show that no condition that is necessary and sufficient for a graph to be a product can be definable in a basic modal language.. Hybrid logics are extensions of modal logics that allow explicit references to individual states of a model. Their goal is to extend the expressive power of ordinary modal logics. Besides proposition symbols, they have a second set of atomic formulas, called nominals, which have the property of being satisfied at exactly one state [5, 6] . Using a hybrid language, we are able to build a formula that describes intransitivity.. We then use this logical characterization to obtain two other interesting results. First, we determine the computational complexity of testing, for a finite connected graph, whether it is a product. For this test, we use a model-checking algorithm to verify the formulas that describe each of the five properties that characterize a product: left and right commutativity, the Church-Rosser and reverse Church-Rosser properties and intransitivity.. Finally, we use this characterization of countable connected products to provide sound and complete axiomatic systems for a large class of products of modal logics. This class contains the logics defined by product frames obtained from Kripke frames that satisfy connectivity, transitivity and symmetry plus any additional property that can be defined by a pure hybrid formula. The reasons behind such restrictions on the frames are explained in details in section 7.. Products of graphs come up naturally as a possible extension of ordinary Kripke semantics to multi-dimensional modal logics. [3] presents a good textbook discussion of multi-dimensional modal logics and provides many examples of products of modal logics, where the semantics is built using products of graphs. Most of the sound and complete axiomatic systems for products of modal logics presented in the literature are for products of a pair of modal logics, while we are able, using hybrid logics, to provide sound and complete axiomatizations for many products of arbitrary dimensions.. The paper is organized as follows. In section 2, we introduce the definition of a product of graphs and present four properties related to this definition: left and right commutativity and the Church-Rosser and reverse Church-Rosser properties. We also introduce a new property called intransitivity. In section 3, we present the concept of graph decomposition and use it to prove that the five properties presented in the previous section form a necessary and sufficient condition for a countable and connected graph to be a product. Section 4 shows that the property of intransitivity is not definable in a basic modal language and that no necessary and sufficient condition for a graph to be a product can be definable in a basic modal language. In section 5, we extend the modal language of the previous section to a hybrid language and show that intransitivity can be expressed by a hybrid formula. In section 6, we determine the computational complexity of testing, through a modal checking algorithm, whether a finite connected graph is a product. In section 7, we present the notion of a product of modal logics and, using a hybrid language, provide sound and complete axiomatic systems to a large class of products of modal logics. We summarize our results and present potential future works in section 8. It is known that left and right commutativity and the Church-Rosser and reverse Church-Rosser properties are necessary conditions for a graph to be a non-trivial cartesian product of two other graphs, but their conjunction is not a sufficient condition. We introduce a new property called intransitivity, that, together with the former ones, form a necessary and sufficient condition for a countable and connected graph to be a product. We show that the property of intransitivity is not definable in a basic modal language. We also show that no condition that is necessary and sufficient for a graph to be a product can be definable in a basic modal language. We then extend our language to a hybrid language and show that in such a language we are able to express intransitivity.. We also determine the computational complexity of testing, for a finite connected graph, whether it is a product. For this test, we use a model-checking algorithm to verify the formulas that describe each of the five properties that characterize a product. We show that this test can be performed in polynomial time both in the size of the graph (cubic time) and in the number of dimensions (quadratic time).. Finally, we use the above characterization of countable connected products to provide sound and complete axiomatic systems for a large class of products of modal logics. While most of the sound and complete axiomatic systems for products of modal logics presented in the literature are for products of a pair of modal logics, we are able, using hybrid logics, to provide sound and complete axiomatizations for many products of arbitrary dimensions.. The work presented in [19] is another recent work that also deals with the product of Kripke frames in a hybrid logic setting. But its approach is different from ours. Instead of using the traditional hybrid language and the traditional semantical definition of a nominal as an atomic formula that must, by construction, denote an unique state of the model, it builds an extension of the hybrid language with a new semantical characterization of the nominals. The nominals as defined in [19] denote something like a sub-frame of co-dimension one inside the considered frame. The author restricts himself to two-dimensional frames, so each nominal would denote a "line" of the frame. With this definition, the language then uses two disjoint sets of nominals, one denoting the "horizontal lines" in the frame and the other denoting the "vertical lines". As such, each state of the model is then denoted by an ordered pair of nominals, instead of a single nominal. If we consider n-dimensional frames, each state will then be denoted by an n-uple of nominals, taken from n disjoint sets. With this linguistic setup, the models in which the formulas are evaluated are already models based on product frames, so the technical difficulty presented in the study of products of Kripke frames, which is exactly how to filter the product frames from the class of all frames, is already bypassed.. The logic S5 n is related to the field of cylindric algebras [20, 21, 22] : the modal algebras corresponding to S5 n are the representable diagonal-free cylindric algebras of dimension n. As a future work, it would be interesting to analyze whether the axiomatization that we can provide for S5 n using the results in section 7 could be useful from the algebraic point of view.. In [23] , products of logics are studied from the point of view of spatial and topological logics. In the last chapter of [23] , the author develops a preliminary work on the possible use of hybrid logic for the study of spatial and topological logics and their products. As another future work, it would be interesting to analyze whether our results are useful or meaningful for the case of spatial and topological logics. The work presented in [24] could also be useful in this enterprise. This work deals with coalgebraic logics, in particular with the generalization of hybrid logics to coalgebraic hybrid logics. This generalization provides a series of completeness results for many hybrid logics. These completeness results could be useful, since a topological space is a special example of the notion of coalgebras.. Another interesting future work involves the study of infinitary proof systems for hybrid logics. The use of infinitary systems is a second way to bypass the lack of compactness that we face, in the general case, with our proposed axiomatizations. A line of work that seems particularly interesting is the study of infinitary sequent systems for hybrid logics, as described in [15] and [16] , and their possible application to products of logics.. Finally, it would also be important to investigate alternative characterizations of products of connected graphs, especially if they do not require the use of transitive closures. That way, we might be able to use a compact logic, which would allow us to drop the restrictions of transitivity and symmetry in our hybrid axiomatizations.

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


Recognition and reasoning in an awareness support system for generation of storyboard-like views of recent activity Awareness support system are based on formal and specific context information such as location, or on video-mediated general context information such as a view into a remote office. We propose a new approach based on fusion of these different kinds of context information. In this approach we distinguish white box context, used by the awareness system for reasoning, and black box context, which can only be interpreted by humans. Our approach uses a variety of perception techniques to obtain white box context from audio and video streams. White box context is then used for further processing of context information, for instance to derive additional context. It is further used to generate a storyboard-like multimedia representation of collected and extracted context information. This storyboard provides a condensed view of recent activity to collaboration partners. Awareness support systems are designed to provide distributed people with context information for collaborative activity. The idea is to make up for the lack of cues th.at people use in face-to-face settings to stay aware of their colleague's availability for interaction and collaboration. Cues such as whether a colleague appears to be very busy guide the social coordination of collaborative work. People may use individual cues spontaneously, for instance to join a conversation they overhear, but often exposure to cues over a longer period is required to assess a particular situation, for instance to decide who in a group best to approach for help with a collaborative task.. In distributed collaborative work, people have only limited Pemlission to make digital or hard copies of all or part ofthis work fog personal or classroom use is granted without fee provided that copies arc not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. 'l'q copy otherwise, to republish, to post on servers or to redistribute to lists. requires prior specific permission and/or a fee.. GROUP 99 Phoenix Arizona US.4. Copyright ACM 1999 I-581 13-065-l/99/1 1...$5.00. context information available to guide collaboration, and to decide for instance when to initiate a particular collaborative task. Computer-based tools used to support distributed collaborative work, for instance shared applications and shared workspaces, provide only formal awareness of other people's activities. Formal awareness is restricted to activity mediated within the shared application and neglects any context information beyond, such as whether a colleague also has to attend other tasks. Distributed real time communication can be used to explicitly communicate additional context, and to add social coordination to formal collaboration. The problem remains that people in different locations lack the cues based on which they can decide about initiation of such communication [3] . This problem is addressed by awareness support systems, designed to provide collaborating people with awareness of each other and with cues to guide social coordination of collaborative work.. A variety of awareness support systems has been discussed in the community [3, 10, 12, 13] . In addition to formal awareness, these systems promote awareness of informal context. Generally, the' approach is to continuously capture and transmit context information in real time. Most systems capture and transmit context information that is not interpreted but just mediated by the system for example audio and video streams. For such context information we use the term black box context. Some awareness systems interpret collected context information to obtain and transmit white box context. For example, active badge systems transmit location information as white box context, suited for further processing in a groupware system.. In this paper we propose an awareness support system that is based on the following concepts: Use of perception methods to obtain white box context as foundation for reasoning and processing in both the awareness support system and the supported groupware.. l Access to a collaborating person's context in a storyboard-like multimedia representation with temporal dimension, conveying a condensed view of recent activity.. In the remainder of this paper we will fust discuss related work. This is followed by an introduction to our new approach to awareness support. Another section describes 'implementation of a prototype, and provides a scenariobased demonstration of the system. We then discuss insights gained at this early stage of system development, and conclude with an outlook on further work. The storyboard-based system proposed in this paper contributes new concepts for awareness support. First, it promotes fusion of information from different sources in the work environment, in particular fusion of specific context obtained from sensor infrastructures with general context as captured in audio and video material. Secondly, it introduces the white & black box mechanism, to combine machine-interpretable structured context information with multimedia information that carries detail and subtle cues for human interpretation. Thirdly, to obtain structured context information a variety of perception are integrated in the system. And finally, a storyboard-like collection of cues is produced to promote awareness of recent activity in a workplace. The storyboard is multimedia, content-based and dynamic.. An experimental system was implemented to demonstrate these ideas and concepts. It was restricted to a single office room but demonstrated automatic production of storyboard content from a number of video streams and environment sensors. It also served for investigation of scenarios, considering the use of reasoning for compilation of storyboards adapted to different collaborative tasks and privacy requirements. ,However, the experimental system also showed limitations imposed by perception techniques.. The early work presented was primarily concerned with overall architecture of the approach, and with methods for automatic production of storyboard content. Future work will be more focussed on the use of reasoning. For example, while it is clear that reasoning can be used to protect privacy, it is not clear how transparent this should be for the user. This is but one usability issue that we need to investigate with an extended system supporting studies of how the system affects the users and collaborative task performance. A variety of methods have been proposed in the CSCW community to support awareness in distributed collaboration. These systems can be classified into three groups, based on the kind of context information they use for promotion of awareness.. Formal Awareness: Systems monitoring interaction with the computer systems used in the collaborative work environment.. Awareness of Specific Context: Systems that obtain specific context information of limited scope horn specialized sensors such as location sensors.. Video-mediated Awareness: Systems capturing general context information with cameras to be mediated as black box context.

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


Selecting for evolvable representations Evolutionary algorithms tend to produce solutions that are not evolvable: Although current fitness may be high, further search is impeded as the effects of mutation and crossover become increasingly detrimental. In nature, in addition to having high fitness, organisms have evolvable genomes: phenotypic variation resulting from random mutation is structured and robust. Evolvability is important because it allows the population to produce meaningful variation, leading to efficient search. However, because evolvability does not improve immediate fitness, it must be selected for indirectly. One way to establish such a selection pressure is to change the fitness function systematically. Under such conditions, evolvability emerges only if the representation allows manipulating how genotypic variation maps onto phenotypic variation and if such manipulations lead to detectable changes in fitness. This research forms a framework for understanding how fitness function and representation interact to produce evolvability. Ultimately evolvable encodings may lead to evolutionary algorithms that exhibit the structured complexity and robustness found in nature. Evolvability is defined as "the capacity to generate heritable, selectable phenotypic variation" [10] . In terms of evolutionary search, evolvability means that the algorithm produces novel, high-fitness solutions with a high frequency. For example, when designing a coffee table, a representation with natural parameters for height and surface area would be more evolvable than a direct encoding controlling the individual position of each block of wood; making parameter changes yields different kinds of tables, constraining variation in a meaningful way. This effect can also be seen in genetic programming, where parse-tree representations are more evolvable than searching code strings directly.. The main benefits of evolvability are to reduce the frequency of catastrophic mutations and to reduce the number of mutations required to produce phenotypically novel traits [10] . Thus evolvability provides a mechanism through which structured variation and complex adaptations can occur [9, 15, 22] . It is necessary to consider evolvability in situations where currently evolutionary search is inefficient and unable to produce reasonable solutions. Focusing on evolvability will yield more powerful genetic algorithms (GAs) that learn not only the highly-fit points in the search space, but also good search strategies, enabling GAs to solve more complex real-world problems.. Although evolvability is beneficial in the long term, it is not clear how evolvability is selected for in nature [10] , or how it can be selected for in artificial evolution. Evolvability does not improve fitness immediately; in fact, in some cases of artificial selection it actually slows evolution. In artificial evolution, evolvability can be selected for directly, provided knowledge of good phenotypic variation can be built into the fitness function. However, in most interesting cases (e.g. open-ended domains), the algorithm designer does not know what constitutes good phenotypic variation and thus it must be learned by the algorithm. Therefore, evolvability must be selected for indirectly, e.g. as a side-effect of selection for some other characteristic.. One simple yet robust way of generating a selection pressure for evolvability is to gradually change the fitness function in a systematic manner over the course of evolution [9, 13] . Such methods are promising because they do not require specific information about evolvability to be built into the fitness function, but still provide a reward to genomes that learn the underlying structure of the problem. This paper analyzes various selection pressures for evolvability that are generated in this manner. In a series of experiments, representations are trained to exploit bilateral symmetry by presenting a sequence of bilaterally symmetric fitness functions. Only representations capable of manipulating phenotypic variation through the genotype-phenotype mapping are found to be evolvable. Furthermore, the degree to which representations do so is limited by how easily the resulting changes in fitness can be detected. Detectability is influ-enced by several factors such as the fitness function, how much it changes per generation, the number of genotypic traits controlling evolvability, their mutation rates, and the size of the phenotype. This limitation suggests that representations should be designed to maximize the detectability of mutations that restructure phenotypic variation.. The paper is divided into six main sections: Section 2 reviews indirect encodings and evolvability, section 3 describes one method to induce selection for evolvability, section 4 compares the performance of two representations under several changing fitness functions, and sections 5 and 6 discuss the implications for representation design. The results of this study suggest several areas of future work: measuring evolvability, evolvability in co-evolutionary systems, the effects of evolvability on GA performance, and evolvability in nature.. Representations that are highly evolvable under some fitness regimes may not be evolvable under others. For example, the linkage representation exhibited little evolvability under the non-strict symmetric fitness regime because there was little evolutionary benefit to exploiting the linkage parameter. Thus when measuring evolvability, the score must be normalized by the selection pressure. Normalization ensures that representations that exhibit evolvability when there is little selection pressure for it are evaluated correctly, allowing results obtained under different fitness regimes to be compared directly.. Fitness regimes naturally cause evolution to select for higher evolvability when the representation has latent evolvability. With direct encodings [12, 24] , on the other hand, mutations cannot be made in a way such that information about the fitness function is accumulated to bias phenotypic variation. Thus direct encodings have no latent evolvability, and will not respond adaptively to evolution under a fitness regime. This fact has particular implications for coevolution: Past information about the opposing population will simply be discarded as evolution progresses, which may lead to populations cycling between behaviors or disengaging completely. Using co-evolution coupled with evolvable indirect encodings may alleviate this problem.. Furthermore, the open-ended co-evolution fitness regime is more general and powerful than the static fitness regimes evaluated in this paper and in [9] because it can maintain large fitness differentials continually over the course of evolution. In contrast, with static fitness regimes the fitness differentials are finite and tend to zero as the representation exploits the underlying structure. An important direction for future work is to develop a measure of the selection pressure for evolvability generated in co-evolutionary settings, to elucidate the factors that affect it. This line of inquiry could lead to more evolvable co-evolutionary systems, which should in turn help overcome common problems such as disengagement.. Selection for evolvability may in some cases retard GA performance. In a separate set of experiments (unpublished) using a more complex genetic regulatory network representation, first training under a fitness regime and then testing performance on static fitness function was found to perform significantly slower on average compared with populations first trained on a single static fitness function. This result is intuitive: selection for evolvability prefers long-term fitness gains that are averaged over many different instances of the fitness function, which may yield relatively poor fitness under any particular instance. However, ultimately representations that are both highly evolvable and highly efficient are desired. Therefore it is necessary to devise methods in which both evolvability and efficiency can be rewarded.. There is growing evidence both from theory [13] and computational simulation [9] that more evolvable genotypes can be selected for. However there is little evidence for such selection from biological studies [10] . Understanding how evolvability arises naturally will shed light on how immense morphological complexity and variation is generated in the metazoans. Can these results from artificial evolution be used to augment biological research? One important next step would be to study selection pressures for evolvability on more biologically plausible platforms such as Avida [1] . Using a conceptually simple framework of bilateral symmetry, some limitations associated with selection for evolvability were demonstrated. Selection pressure for evolvability was generated by making systematic changes to the symmetric fitness function during the course of evolution. Evolvability was only exhibited by representations that store information learned from the changing fitness function. Furthermore, acquired evolvability was limited by the number of mutations required to detect the induced fitness gradient. Finding effective methods through which to overcome this limitation is an important direction for future work in designing representations and fitness functions. Ultimately, more evolvable evolutionary algorithms will aid in finding solutions to more complex problems by exploiting their underlying structure. Several intuitive results were observed in the simulations: increasing linkage increases fitness especially under harsh environmental conditions (i.e. target drift rate greater than 0.1); more selection pressure for evolvability is generated with higher target drift rates; increasing the number of phenotypic traits per genome increases acquired evolvability; increasing the number of linkage parameters decreases acquired evolvability; increasing the mutation rate of the linkage parameters increases acquired evolvability; the choice of fitness regime determines the fitness differential between representations with and without acquired evolvability. Comparison of linkage vs. target drift rate after 500 generations. "Linkage" and "control" are the two different representations and "strict", "nonstrict" and "random" are the fitness regimes. As target drift rate increases, acquired evolvability increases in the linkage representation under the strict and non-strict regimes. As the phenotype size increases, the acquired evolvability increases. Figure 5: Effects of increasing the number of linkage parameters on acquired evolvability (40 bit phenotypes, linkage representation). Under both fitness regimes the acquired evolvability decreases, i.e. the average change in linkage tends towards 0.0 as more linkage parameters are added. Representations with more linkage parameters require correspondingly more linkage mutations to induce a measurable change in evolvability.. From the experimental results it is clear that evolvability, rather than a high mutation rate, is being selected for under the strict symmetric fitness regime. However, this particular selection pressure is exceedingly weak, unable to produce significant evolvability when the linkage parameter is split over more than two genes. This result suggests that there exists a lower bound on acquired evolvability based on the detectability of the linkage parameters' effect on fitness. Since linkage parameters affect future phenotypic variation, it may take many generations for evolution to detect that a linkage change has had any effect on average fitness. Furthermore, selection based on detected changes is not reliable because further mutations may have altered the linkage parameter in the interim. Detectability represents an interplay between representation and the fitness function: fitness regimes that induce a large selection pressure for evolvability make up for representations that require a large number of mutations to adapt phenotypic variation. Conversely, representations that require few mutations to acquire evolvability will do so even when the fitness regime induces a relatively weak selection pressure.. Detectability has practical implications for the design of evolvable representations. Both the linkage representation with a single linkage parameter and the linkage representation with five linkage parameters have the same latent evolvability: If the linkage parameters are all set to 1.0, both representations will exhibit the same increase in performance on the symmetry domain. However, only the linkage representation with a single linkage parameter actually acquires evolvability under the symmetric fitness regime. The reason is that many more linkage mutations are required to detect the fitness gradient in the five parameter case; single linkage mutations have 1/5 the chance of affecting a given phenotypic trait, rendering the change undetectable and thus unselectable in most cases.. A single linkage parameter affecting all phenotypic traits corresponds to designing a representation with perfect knowledge about bilateral symmetry. As the number of linkage parameters is increased, each individual parameter affects fewer phenotypic parameters, but the possibilities for other kinds of linkage (not just perfect bilateral symmetry) become available. Thus as the number of traits increases, the bias towards bilateral symmetry decreases. However, even in representations with as few as five linkage parameters, the selection pressure on evolvability proves to be too weak to generate significant acquired evolvability. Having too many linkage parameters diminishes the benefits of linkage to the point where it is no longer possible to select for. In other words, the fitness benefit per mutation is below the detectability threshold. Thus there is an inherent tradeoff between creating tuned representations that exhibit high evolvability but require much a priori problem information, and more general representations that require less knowledge but behave poorly.. It is likely, however, that this trade-off can be circumvented by designing representations that minimize the number of mutations required to adapt phenotypic variation to reflect the problem structure, or by using co-evolutionary methods on open-ended problems. Co-evolution in particular is capable of generating sustained fitness differentials over the course of evolution, as opposed to fitness differentials that are fixed and thus decrease as the individuals in the population become more evolvable. Furthermore, when learning the problem structure is key to solving the problem, the effects of this trade-off will be diminished.. Analyzing the interplay between representation and fitness regime also sheds light on earlier results on measuring evolvability [16] . In that study, a version of the linkage representation was tested where each phenotypic trait had an associated linkage parameter. Despite using a bilaterally symmetric fitness regime, that representation only exhibited acquired evolvability when the individual fitness scores were averaged together with fitness scores of genotypes nearby in the local mutation space. Without a direct selection pressure for evolvability, the linkage representation exhibited no acquired evolvability because too many mutations were required in order to exploit symmetry. In other words, the selection pressure was too low to overcome the limitations imposed by the representation.. Ultimately these results shed light on designing evolvable representations: representations should be constructed in such a way that phenotypic variation can be adapted to match the structure of the fitness function in as few mutations as possible. More mutations requires a correspondingly larger selection pressure to be tenable. Thus, in order to be maximally evolvable, representations must be able to adapt the genotype-phenotype mapping at all levels, ranging from fundamental design changes to small phenotypic tweaks. A standard genetic algorithm with tournament selection, one-point crossover, and speciation [17] is run for 500 generations (until linkage values settled) on a population of 50 randomly seeded individuals. Each genome had a fixed length and consisted of binary-valued phenotypic traits and floating-point linkage parameters. For phenotypic traits, unless otherwise noted, the point mutation rate was 0.01 and the linkage parameter mutation rate was 0.2 (higher linkage parameter mutation was found to increase acquired evolvability). At the end of the run, all the linkage parameters in the population were averaged across 200 trials, yielding the linkage value L final . Since linkage values are drawn initially from the uniform distribution over [0.0, 1.0], the expected linkage value at generation 0, L0, is E(L0) = 0.5. Thus, L final = 0.5 indicates neutral drift (that is, no acquired evolvability), 0.0 indicates selection for low linkage, and 1.0 selection for high linkage, i.e. acquired evolvability. Since only the linkage parameter affects the representation's evolvability, acquired evolvability can be measured directly as ∆L = L final − E(L0), which ranges from -0.5 (selection against evolvability), to 0.5 (acquired evolvability), with 0.0 indicating no change in evolvability.. The difference in average best fitness after 500 generations using the control representation and the linkage representation is shown in figure 4 . Genomes consisted of 40 phenotypic traits and a single linkage parameter. Under the random fitness regime, the two representations performed equally well, indicating that the linkage parameters have no effect on fitness. Under both the strict and non-strict fitness regimes, symmetric linkage provided a fitness advantage. The fitness differential generated under the strict fitness regime was several times larger than under the nonstrict regime (0.09 as opposed to 0.013). This larger differential generated a stronger selection pressure for evolvability (table 4). The fitness differential generated by the random representation was too small to induce selection for evolvability (table 4). As the target drift rate increased, average best fitness decreased from near 1.0 to 0.7 for the linkage representation, and 0.6 for the control representation.. In general, only the linkage representation exhibits acquired evolvability, and then only when paired with the strict fitness regime (table 4) . When the effects of linkage are random (control representation), there is no selection for evolvability. Furthermore, using the control representation, the strict fitness regime actually induces weak selection to lower the linkage parameter, and hence evolvability. Thus, Figure 3 : Fitness differentials between linkage and control representations. Average best fitness for the two representations is shown after 500 generations under the three fitness regimes: random, non-strict symmetric, and strict symmetric. Only the strict symmetric fitness regime induces a fitness differential large enough to generate a reliable selection pressure for evolvability, although the nonstrict regime generates a non-zero fitness differential as well. the linkage parameter is indeed being selected for because it affects the local mutation space, rather than simply because it leads to more mutations.. Under the strict fitness regime, as the target drift rate increases, the resulting selection pressure for evolvability also increases (figures 4 and 5). With a target drift rate of 0.0, the population with 40-bit phenotypes yields an acquired evolvability score of 0.07 after 500 generations, indicating little or no selection for evolvability. With a drift rate of 0.1, evolvability increases to 0.35 and with a target drift rate of 0.5, evolvability becomes 0.49, indicating strong selection.. As the number of phenotypic traits is increased in proportion to the number of linkage parameters, slightly higher evolvability scores are obtained under the strict fitness regime (figure 4). With a target drift rate of 0.1, genomes with 40 phenotypic traits acquire an evolvability score of 0.35, those with 80 acquire 0.39, and those with 160 acquire 0.48. Conversely, as more linkage parameters are added, the selection pressure proves too weak to generate any significant change in the linkage parameter. Under the strict fitness regime, with one linkage parameter, the maximum average linkage is 0.49, with two parameters, it falls to around 0.29, and with five to around 0.12. Under the unlinked fitness regime, one linkage parameter yields a maximum linkage parameter value of 0.16, two yields 0.09, and five yields 0.04 ( figure 5 ). Varying the number of phenotypic traits and linkage parameters affects the size of the fitness differential created by linkage parameter point mutations: more phenotypic traits increases the fitness differential, whereas more linkage parameters decreases it. As the fitness differential is decreased, selection for higher linkage becomes untenable and thus the representation exhibits no acquired evolvability.. The linkage parameter mutation rate also has a profound effect on acquired evolvability. When the target drift rate is 0.5, a linkage parameter mutation rate of 0.01 yields an evolvability score of 0.246 after 500 generations. A mutation rate of 0.05 yields 0.31, 0.1 yields 0.37 and 0.2 yields 0.48. Evolvability can only be selected for when the fitness function changes in conjunction with a beneficial phenotypic mutation resulting from linkage. Since the probability of these events occurring in the same genome within the same generation is low, and since linkage mutation is not disruptive on average, a higher mutation rate can only be beneficial to selection for evolvability.. In conclusion, acquired evolvability is found to be bounded by the detectability of individual mutations shifting the phenotypic distribution. The threshold of detectability can be raised by increasing the fitness differential induced by the fitness regime, or lowering the number of mutations required to adaptively shift the phenotypic distribution.

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


An anticipative scheduling approach with controllable processing times In practice, machine schedules are usually subject to disruptions which have to be repaired by reactive scheduling decisions. Preparing initial schedules by considering possible disruption times along with rescheduling objectives is critical for the performance of reactive decisions. In this paper, we show that if the processing times are controllable then an anticipative approach can be used to form an initial schedule that could improve the performance of rescheduling decisions. Specifically, we consider a non-identical parallel machining environment, where processing times can be controlled at a certain compression cost. When there is a disruption during the execution of the initial schedule, a match-up time strategy is utilized such that a repaired schedule has to catch-up initial schedule at some point in future. This requires changing machine-job assignments and processing times for the rest of the schedule which implies increased manufacturing costs. We show that making anticipative job sequencing decisions, based on failure and repair time distributions and flexibility of jobs, one can repair schedules by incurring less manufacturing cost. Our computational results show that the match-up time strategy is very sensitive to initial schedule and the proposed anticipative scheduling algorithm can be very helpful to reduce rescheduling costs.

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