Semantics and Planning Based Workflow Composition for Video Processing Abstract This work proposes a novel workflow composition approach that hinges upon ontologies and planning as its core technologies within an integrated framework. Video processing problems provide a fitting domain for investigating the effectiveness of this integrated method as tackling such problems have not been fully explored by the workflow, planning and ontological communities despite their combined beneficial traits to confront this known hard problem. In addition, the pervasiveness of video data has proliferated the need for more automated assistance for image processing-naive users, but no adequate support has been provided as of yet. ability to user's changing needs and user learnability of this approach were conducted on users who did not possess image processing expertise. The findings indicate that using this integrated workflow composition and execution method:(1) provides a speed up of over 90 % in execution time for video classification tasks using full automatic processing compared to manual methods without loss of accuracy; (2) is more flexible and adaptable in response to changes in user requests than modifying existing image processing programs when the domain descriptions are altered; and (3) assists the user in selecting optimal solutions by providing recommended descriptions. Traditional workflow systems have several drawbacks, e.g. in their inabilities to rapidly react to changes, to construct workflow automatically (or with user involvement) and to improve performance autonomously (or with user involvement) in an incremental manner according to specified goals. Overcoming these limitations would be highly beneficial for complex domains where such adversities are exhibited. Video processing is one such domain that increasingly requires attention as larger amounts of images and videos are becoming available to those who are not technically adept in modelling the processes that are involved in constructing complex video processing workflows. The requirements to address the problem of automated video analyses for non-expert users include (i) process automation; (ii) rich process modelling; (iii) performance-based tool selection; and (iv) adaptable to changing user needs.. Conventional video and image processing (VIP) systems, on the other hand, are developed by image processing experts and are tailored to produce highly specialised hand-crafted solutions for very specific tasks, making them rigid and non-modular. Traditionally they produce singleexecutable systems that work accurately on a specific set of data. The knowledge-based vision community have attempted to produce more modular solutions by incorporating ontologies. However, they have not been maximally utilised to encompass aspects such as application context descriptions (e.g. lighting and clearness effects) and qualitative measures.. This work aims to tackle some of the research gaps yet to be addressed by the workflow and knowledge-based image processing communities by proposing a novel workflow composition approach within an integrated framework. This framework distinguishes three levels of abstraction via the design, workflow and processing layers. The core technologies that drive the workflow composition mechanism are ontologies and planning. Video processing problems provide a fitting domain for investigating the effectiveness of this integrated method as tackling such problems have not been fully explored by the workflow, planning and ontological communities despite their combined beneficial traits to confront this known hard problem. In addition, the pervasiveness of video data has proliferated the need for more automated assistance for image processing-naive users, but no adequate support has been provided as of yet.. A set of modular ontologies was constructed to capture the goals, video descriptions and capabilities (video processing tools). They are used in conjunction with a domain independent planner to help with performance-based selection of solution steps based on preconditions, effects and postconditions.. Two key innovations of the planner are the ability to support workflow execution (by interleaving planning with execution) and can perform in automatic or semi-automatic (interactive) mode. In the interactive mode, the user is involved in tool selection based on the recommended descriptions provided by the workflow system via the ontology. Once planning is complete, the result of applying the tool of their choice is presented to the user visually for verification. This plays a pivotal role in providing the user with control and the ability to make informed decisions. Video processing problems can also be solved in more modular, reusable and adaptable ways compared to conventional image processing systems.. The integrated approach was evaluated on a test set consisting of videos originating from open sea environment of varying quality. Experiments to evaluate the efficiency, adaptability to user's changing needs and user learnability of this approach were conducted on users who did not possess image processing expertise. The findings indicate that using this integrated workflow composition and execution method: (1) provides a speed up of over 90 % in execution time for video classification tasks using full automatic processing compared to manual methods without loss of accuracy; (2) is more flexible and adaptable in response to changes in user requests (be it in the task, constraints to the task or descriptions of the video) than modifying existing image processing programs when the domain descriptions are altered; and (3) assists the user in selecting optimal solutions by providing recommended descriptions.. Outline Section 2 describes existing workflow composition initiatives and highlights their shortfalls. The workflow composition framework is outlined in Section 3, which introduces the workflow tool and its components. One of the major component, the ontology will be detailed in Section 4. The second core technology, the planning mechanism is explained in Section 5. Evaluation of the overall approach and analysis are provided in Section 6. Future directions for this research is concluded in Section 7. This research has contributed towards the provision of automatic workflow composition via a novel framework that hinges on two key technologies: ontologies and planning. The integration has resulted in a semantics-rich and flexible mechanism that is beneficial for the scientific, research and application communities.. The framework has been evaluated on video processing tasks, in particular for underwater videos that vary in quality and for user requirements that change. Higher time-efficiency has been achieved in automated-supported video processing tasks without loss of accuracy. In addition, a new, more flexible approach for video processing which utilises multiple executables that can be reused was introduced. Consequently, nonexperts can also learn to construct optimal video processing workflows which was impossible prior to this.. Optimistically, this framework could eventually be used for general-purpose video processing, not just confined to underwater videos. It could also serve as an educational tool for naive users on a larger scale. At present, this approach is being integrated onto a heterogeneous multi-core environment via a resource scheduler and also to a web-based front-end. It is envisaged that this workflow will be extended to support the management of live video streams for on-demand user queries. One observation from the results is on the relationship between the manual processing times and accuracy. The accuracy of the subjects' manual classification varied slightly. It was noted that subjects who had domain knowledge (e.g. ecologist and marine biologist) had higher levels of accuracies in the video classification than their counterparts without domain expertise (e.g. computer scientists). However, they did not take less time in performing this classification. The main findings of this experiment that compares automatic and manual processing using efficiency and accuracy metrics are the following: -Automatic processing for video classification is on average 94.73 % faster than manual processing without loss of accuracy in the solutions produced. -75 % of the subjects found performing the video processing task using the automatic tool was less tedious than performing it manually. -All subjects preferred to use the automatic tool over the manual method if they were to conduct the video classification task frequently.. The next experiment was aimed at testing the efficiency and accuracy levels in the workflow tool and conventional image processing approaches when it comes to adapting to changes in user preferences, with a focus on varying domain descriptions.. When an existing specialised image processing program can be found to support a specific task, the specialised program works very well. However, when the user requirements (domain descriptions) are altered this is no longer guaranteed without modifications to the program. This modification could range from 16 to 32 min for fish detection and counting tasks and take at most 61 lines of code to be written. The workflow tool, however, is adaptable to these changes very efficiently, taking just 3 min and 3 lines of code at most. The steps involved for the workflow modeller to encode these changes include adding a method in the process library to encapsulate the new domain descriptions as preconditions, and the relevant detection algorithm. Two more lines are added in the capability ontology to introduce this description as a performance criteria and to tie it to a relevant tool.. In terms of accuracy, the workflow tool on average performed slightly better than the image processing program, however, this difference was not significant enough to conclude that it produced solutions with better quality. Hence, without loss of accuracy, the multiple-executable workflow tool is a more adaptable problem solver than the single-executable image processing program.. The results in Table 3 indicate that subjects were able to select the correct optimal tool when they were presented with a similar video 5 out of 7 times on average (71.43 % of the time). This is relatively high compared to the instances when they incorrectly chose an optimal tool learnt from a video for another video that is not similar to the one where they have inferred the tool from, which was 2.25 out of 7 times on average (32.14 % of the time). The statistical test proves that the workflow tool is indeed able to help subjects learn optimal VIP tools without having any image processing knowledge, but purely from their own visual capabilities in judging visual descriptions and from the textual descriptions provided by the system. The user's understanding is tested via the provision of the description of the tools when there was more than one tool to perform a task. By repeating the same task using a different tool, the user can gain insight into how a different solution can be produced and could then 'judge' which tool should be used for producing the most optimal solution. Hence when a new video is presented and the same task is performed, the user would have learnt and gained confidence in selecting the most suitable tool. The user can evaluate the performance of any particular tool that they have selected for a particular task. Using this feedback loop, the system can now learn which tools work better for which type of videos (according to their video descriptions) and under which constraint conditions.. To further validate the system's usability and learnability features, the findings of the questionnaire are summarised as follows: -All subjects agreed on the appropriateness of having the option to provide constraints and video descriptions to specify the VIP task in more detail. -All subjects found the recommended domain descriptions suitable and helpful in assisting them make more informed decisions when selecting the best detection algorithms (i.e. VIP tools). -All subjects felt it was appropriate to be given the control to select tools despite not having image processing expertise. -On average, subjects were able to make the decision to run the fast processing option for video classification task after just 6.4 runs.. -All subjects would prefer to use the automated tool if they were to perform video classification and fish detection and counting tasks frequently.. These findings indicate that although the workflow tool and the domain that it manipulates are both complex, users without expertise in workflow or image processing domains can learn how to use the workflow tool and they can even learn some aspects of solving image processing problems via selection of VIP tools. These were achieved in a short period of time as indicated by the experiment's results. The experimental findings also verify and validate the strength of the integrated approach. The efficiency and accuracy of the results obtained indicate that the workflow system is able to produce results comparable to those produced by humans and by competing systems (e.g. image processing programs). The use of ontologies has been proven to be beneficial via the provision of recommended descriptions that were useful to users. The planner's correctness and completeness has been tested on a set of VIP tasks (goals), constraints and detection algorithms. .

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


A behavior-based mobile robot architecture for Learning from Demonstration Autonomous mobile robots (AMRs), to be truly flexible, should be equipped with learning capabilities, which allow them to adapt effectively to a dynamic and changing environment. This paper proposes a modular, behavior-based control architecture, which is particularly suited for "Learning from Demonstration" experiments in the spatial domain. The robot learns sensory-motor behaviors online by observing the actions of a person, another robot or another behavior. Offline learning phases are not necessary but might be used to trim the attained representation. First results applying RBF-approximation, growing neural cell structures and probabilistic models for progress estimation, are presented. Behavior-based approaches have been established as a main alternative to conventional robot control in recent years [1] . Due to their modular architecture, these approaches provide high scalability, while limiting the complexity of the individual modules. These can be implemented (or taught) and tested independently and they directly support software reuse. Furthermore, they meet real time requirements in a dynamic environment by creating a tight coupling between sensing and acting.. Autonomous mobile robots (AMRs) need to be equipped with learning capabilities as an essential prerequisite in order to adapt effectively to dynamic and varying environments. This is especially true for the growing field of service robotics where non-professionals are intended to operate complex mobile robot systems. In this context, Programming by Demonstration (or from the viewpoint of the robot, Learning from Demonstration) is an interesting alternative to the conventional robot programming for learning new skills (behaviors), improving already existing ones or generating new combinations of them.. While the field of robot learning has been an intensively studied research topic over the last decade [9] within the behavior-based robotics community, research on Learning from Demonstration (LFD) concentrated mainly on learning reactive behaviors, i.e. simple stimulus-response connections. Approaches going beyond reactive behaviors (e.g. [6] describing reinforcement learning of planning rules) are rarely known. Hence, learning from complete temporal sequences of perceptions (rather than from single perception) is still an open question [11] . This is only one problem, which is addressed within the MOBOCOB project (mo mo mobile robo bo bot control by co co concurrent b b behaviors). In the context of this project, the authors developed a framework for investigating learning techniques for behavior-based architectures. The main focus of our ongoing studies lies on Learning from Demonstration for temporal sequences in the spatial domain. After a number of good examples has been taught, e.g. by a human teacher, the robot is able to imitate the teacher and moreover to generalize from the given examples. Fig. 1 shows robot PHOENIX performing the reactively learned task to follow a person by using its onboard laser range finder (LRF) Sick LMS 200.. After a short teaching phase of approximately 2 minutes during which the robot was shown a couple of examples, the machine was able to reproduce the demonstrated behavior immediately. If for more complex tasks the initial training is not sufficient, specific situations can be taught additionally. The robot will subsequently be able to master these situations also.. The present paper is organized as follows. The next section gives a formal motivation for behavior-based control. The MOBOCOB architecture is introduced in Section 3. A classification of behaviors based on the formal motivation is defined in Section 4, followed by a brief survey of different aspects of learning in Section 5. Section 6 describes the learning techniques used within MOBOCOB. Finally, first experimental results are presented together with some concluding remarks. A common modularized behavior-based architecture, which is particularly suited for learning experiments has been presented. The formal classification of behaviors offers opportunities for learning blind, reactive and history-dependent tasks. In any case, teaching can be conducted by a human teacher, another robot or simply by another behavior running on the same robot. Since relevant functions are encapsulated within a generic sensor/actuator interface, the learning algorithm is independent of both, physical and virtual sensors.. First experiments for learning reactive and historydependent tasks have been performed within the MOBOCOB-Project. While learning reactive behaviors using RBF-approximation with growing neural cell structures is very satisfactory, there are still open questions concerning history-dependent tasks.. To cope with small relative progress, unevenly distributed nodes, or unknown starting positions, the approach has to be further optimized.. Chances to overcome these problems might be given by using improved approximations for probability distributions (not just linear ones) or by using different sets of support points for representing actuator commands and probability distributions. The support points of a distribution could be shifted rather than shifting the distribution itself. However, using a probabilistic approach seems to be an appropriate way to cope with uncertainty of progress estimation. Further work will improve the obtained results and compare them with traditional approaches.

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


Combining 3d flow fields with silhouette-based human motion capture for immersive video AbstractIn recent years, the convergence of Computer Vision and Computer Graphics has put forth a new field of research Recent developments in media technology show that there is a strong interest on the part of the entertainment industry to evolve the classic 2D video into an immersive and interactive 3D medium. The ultimate goal is to create a feeling of immersion by enabling the viewer to choose an arbitrary viewpoint onto the scene in real-time and without loss of visual quality. The range of applications for this technology will be manifold and will allow impressive effects such as virtual flyarounds in sports videos or actor-dependent viewpoint selection in interactive movies.. Human actors are the central elements of motion picture scenes and the human visual system is very sensitive to slightest inaccuracies in a human's motion and look. In consequence, the synthesis of realistic images of humans in motion is a challenging problem in Computer Graphics. Two aspects of this problem are the creation of natural human motion and the accurate rendering of a person's physical appearance. Combining the small scale details of skin, muscle, and cloth movement with the large scale motions of the body into a realistic image has required the development of new techniques which rely on the strengths of both Computer Vision and Computer Graphics. Many conventional methods for estimating motion parameters are intrusive, requiring optical markers or complex mechanical setups, and thus require a separation of the generation of realistic motion from the generation of realistic physical appearance. However, in the field of Computer Vision, numerous techniques have been developed for non-intrustive motion parameter estimation. Incorporating some of these techniques into Computer Graphics allows us to capture body appearance and motion at the same time, vastly simplifying the problem of novel image synthesis.. We have developed a method which non-intrusively estimates motion parameters using silhouette information [5] . This method employs the use of a detailed geometric body model and features of latest-generation commodity graphics hardware to estimate pose parameters. The estimation is performed by optimizing the overlap between the model silhouette and the silhouettes obtained from multi-view video data. Due to its compartmentalized nature the estimation algorithm lends itself to a parallel implementation.. The reconstructed scene is rendered at video frame rate and allows the viewer to change ist viewpoint freely and in realtime. In the renderer the body model is textured with high-detail time-varying textures that are created from the video data by means of image-based techniques.. We have previously demonstrated tha a broad range of complex and rapid body motion is robustly captured using silhouette-based techniques [5] . However, improvements are possible in those portions of the body with small scale details (such as features of the face) whose visual appearance is deteriorated even through small pose inaccuries. To be maximally effective, we further developed our original silhouette-based tracking algorithm into a hybrid approach that makes use of all available information. We propose to use texture information to augment the silhouette-fitting process.. Optical flow is a computer vision technique that employs texture information to compute a 2D motion field in the image plane. Making use of optical flow calculations from multiple input views and an a-priori body model, it becomes possible to construct a 3D motion field which estimates body motion. We present a method for extracting hierarchial rigid body transformations from these motion fields and show that it is best used in conjunction with, and not in place of, silhouettebased tracking.. We demonstrate that this new hybrid method improves motion parameter estimation and consequently has a significant impact on the quality of generated free-viewpoint video sequences.. This article proceeds with an overview of related work in Section 2, which is followed by a general overview of our free-viewpoint video system in Section 3. The main functional components and algorithmic ingredients are outlined in the sections thereafter, beginning with the acquisition setup for multi-view video streams in Section 4. The adaptable body model and multi-view texture generation are presented in Section 5 and Section 7 respectively, and the silhouette fitting step in our motion capture algorithm is briefly described in Section 6. The theoretical foundations of optical flow and the reconstruction of 3D motion fields from 2D flows are presented in Section 8. The nuts and bolts of how to compute differential pose update parameters from 3D flow fields are explained in Section 9. Graphical results and a validation of visual improvements by the motion field step are presented in Section 10, and the paper conludes with an outlook to our future plans in Section 11. In this work, we have presented a new approach for acquisition and rendering of 3D videos of human actors. We have demonstrated that that a large range of complex and rapid body motion can be robustly acquired by means of silhouette-based marker-less motion capture algorithm. In combination with a renderer that applies a multi-view texture generation method to create a realistic surface appearance, a powerful tool for immersive video production is formed. We have demonstrated that the visual quality of the free-viewpoint videos can be further enhanced by incorporating texture information into the motion tracking process. Pose corrections derived from spatial motion fields are used to correct small pose inaccuracies that may lead to visual artifacts in those parts of the body that exhibit a lot of small-scale surface detail. It was shown empirically and quantitatively that the incorporation of corrective motion fields into the fitting process yields significant improvements, and thus is a worthwhile enhancement to the process of capturing free-viewpoint video.. In future, we plan to integrate our approach into a multi-modal system that can reconstruct human motion and the background scene simultaneously. The concurrent acquisition of motion and parametric models of surface appearance for relighting is also an issue. In the scientific literature the problems of capturing human motion from video data and the realistic rendering of that motion from novel viewpoints have rarely been tackled in conjunction. In Computer Vision, non-intrusive optical human motion capture has always been an active field of research (see [9, 22] for comprehensive reviews). Some methods work on a single 2D image and apply, for example, frame differencing [16] or image skeletonization [12] to fit simple body models to human motion. 3D human motion capture approaches typically employ an explicit human body model consisting of a joint structure and some form of surface representation. Simple shape primitives, such as cylinders [13, 26] or superquadrics [10] , are commonly used to represent limbs. The body models are fitted to the motion by aligning their projection with features in the image plane, such as image discontinuities. The application of silhouette images for human motion capture has also been considered. In [7] a force field exerted by multiple image silhouettes aligns a 3D body model. In [24] a combination of stereo and silhouette fitting is used to fit a human body model, and in [5] a silhouette-based motion estimation method is described that exploits graphics hardware to maximize model and silhouette overlap. Recently, the application of reconstructed volumetric models (visual hulls) from silhouettes of a moving person for motion capture has also been considered.. Ellipsoidal body models [6] , kinematic skeletons [20] , or skeleton models with attached volume samples [31] are fitted to the volume data.. The intent to lay the foundations for the next generation of electronic visual media has brought together researchers from Vision and Graphics in the field of 3D video. In 3D video, dynamic models of scenes that were recorded from several camera perspectives are reconstructed and rendered from novel viewpoints. Examples of methods that were used to approach that problem are shape-from silhouette-like approaches, such as visual hull [21, 37] , stereo-based approaches [23] or a combination of both [27] . Ray-space methods from image-based rendering that approximate the plenoptic function [1] in a scene, such as the lightfield [18] or the lumigraph [11] , can also be considered to be part of the same effort. However, their immense memory requirements and the necessary sampling density make necessary large camera arrays and huge data storage systems, in order to record dynamic scenes [36] .. None of the previously mentioned approaches explicitly uses optical flow or incorporates 3D velocity fields into motion parameter estimation or scene reconstruction. The optical flow is the observed 2D motion field in the image plane of a camera resulting from the projection of the 3D velocity field of the recorded moving scene (see [2] for a comparison of optical flow algorithms). The application of 2D optical flow has been investigated in model-based video coding for deriving facial animation parameters of a generic head model [8] or for recovering motion parameters of a body model in a teleconferencing scenario [17] . Using optical flow in one or more camera views for full body human motion estimation is presented in [4] . In their work, the authors use a twist parameterization for rigid body transformations to solve for the body pose parameters from 2D information directly by solving a linear system. The algorithm computes pose updates and performs image warping in an iterative procedure. None of these methods explicitly reconstruct a 3D motion field. In [34] , an algorithm for computing such a 3D motion field from optical flows in multiple camera views is presented. It has been used to improve voxel-based scene reconstruction [35] and to compute models of intermediate time steps in a sequence of shape-from-silhouette representations [33] . Unfortunately, the methods employing optical flow exhibit robustness problems if the typical optical flow assumptions, such as brightness constancy over time and smoothness in a spatial neighborhood, are not fulfilled. This happens very easily if the motion in the scene is very rapid and effects such as self-shadowing come into play.. In our work we combine techniques that were previously investigated separately into a single framework. We demonstrate that the combination of a silhouette-based human motion catpure algorithm and multi-view texture generation forms a power-ful tool for acquisition and realisic rendering of 3D videos of human actors [5] . Furthermore, we describe a method that uses a 3D motion field reconstructed from optical flow to update pose parameters computed via a silhouette-based model fitting procedure [29] . By this means, we combine the strengths of silhouette-based fitting for robust acquisition of a large range of motions with that of motion estimation from texture information for robust computation of small-scale pose corrections. Using texture information, pose updates can be recovered on a small scale. For these small corrections, a linear approximation of the motion of the body parts is valid, hence iteration towards a solution is not necessary.

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


Embodied Conversational Agent-Based Kiosk for Automated Interviewing the university of arizona, an M.S. in computer science from texas a&M university, an MBa from San Jose State university, and a B.S. from the u.S. air Force academy. His research interests include human-computer interaction, human-agent interaction, agent-based computing, and persuasive technology. aaroN C. elkiNs is a Ph.D. candidate at the university of arizona. His research interests include credibility assessment, physiological and behavioral measurement, human-computer interaction, cognitive dissonance, and the role of identity and culture in IS and organizations.JuDee k. BurgooN is a professor of communications, a professor of family studies and human development, the director of human communication research for the Center for the Management of Information, and the site director of the Center for Identification technology research at the university of arizona. Professor Burgoon holds a Ph.D. in communication and educational psychology from West Virginia university. Her research interests are in deception, trust, interpersonal interaction, and new technologies. mark W. PattoN is the associate director of the Hoffman E-Commerce laboratory at the university of arizona. He holds a Ph.D. from the university of arizona in management information systems. His research interests include decision support systems for automated deception identification, human-computer interaction with embodied conversational agents, organizational modeling and simulation, and agentbased systems. We DeveloPeD aN eCa-BaseD kiosk to conduct automated interviews. this kiosk is based on multiple studies, and we proposed a system model for a unique class of intelligent agents, which are described as Special Purpose Embodied Conversational Intelligence with Environmental Sensors (SPECIES). the SPECIES agent paradigm forms the heart of the kiosk and is unique because human interaction is the main control component. the SPECIES system model encompasses five broad research components: user interfaces, intelligent agents, sensors, data management, and organizational impacts. like most intelligent agent systems, the paradigm for embodied-avatar interactions with humans involves an agent that perceives its environment through sensors, influences its environment via effectors, and has discrete goals. However, the SPECIES operating environment consists primarily of human actors in the real world. this operating paradigm is unique because the SPECIES agents are sensing human behaviors and human states such as arousal, cognitive effort, and emotion rather than discrete, easily measured and computed phenomena. Similarly, the SPECIES agents must utilize novel effectors to affect both humans and the environment. SPECIES agents use heterogeneous sensors to detect human physiology and behavior during interactions. these sensors are based on the expanding field of NeuroIS, and the SPECIES agents affect their environment by influencing human behavior using various embodied states (i.e., gender and demeanor), messages, and recommendations. We have demonstrated how manipulations to the embodied states change participants' perceptions of the system and how a sensor can detect emotion and arousal, and we created a new It artifact to further examine these phenomena. and findings in this report are those of the authors and should not be construed as an official u.S. government position, policy, or decision.. reFereNCes It is evident from the findings of this study that the SPECIES agent can manipulate its embodied models in order to affect individuals' perceptions of the system. the hypotheses based on ECa gender manipulations consistently had an effect. throughout this experiment, the same questions were asked the same way and in the same order every time, and the voice was also identical despite demeanor. the demeanor manipulations may not have been as effective in our experience as compared to other studies because of the nature of the task. In this study, the person is being interviewed and the agent is not trying to persuade or "partner" with the participant. It is almost an adversarial interaction with the ECa asking questions and the person answering. there are countless other embodied manipulations that deserve consideration (e.g., different voices, ethnicities, hair color). this study serves as a first baseline and provides support that the SPECIES agent can manipulate its embodied gender and demeanor as effectors to influence human perceptions. this study also served as the baseline for the first field trial of the kiosk, and in Study 3 the most dominant (powerful) ECa was used to perform the interview. Study 2: Sensor Study Detecting Stress using the Voice this stuDy examiNes iNterFaCe "B" iN the moDel in Figure 2 , representing human signals to the computer. In order to affect and interact with humans, the agent must be able to sense its environment. the primary way the SPECIES agent can sense the environment and its human interaction partners is through the sensors. More important than just sensing the environment, the SPECIES agent must make intelligent decisions based on these sensors. this study demonstrates how an individual sensor, a microphone measuring vocal signals, can be used to detect the emotion of humans in a rapid screening-type interaction. the vocal sensor under investigation is suitable for inclusion in the ECa-based kiosk. the SPECIES agent will use the model developed in this study to detect human emotion.. Previous research has used commercial vocal analysis software to reliably predict human emotions, cognitive effort, and deception [12, 13] . the current research emphasizes two things: first, to use standard and scientific vocalic measures that can be interpreted and replicated, and second, to include only measurements in the model that the SPECIES agent could feasibly sense from the environment on its first interaction with a human. the developed model is based on experimental vocal data collected from participants who were instructed to lie or tell the truth to a set of neutral or stressful questions.

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


3D shape regression for real-time facial animation We present a real-time performance-driven facial animation system based on 3D shape regression. In this system, the 3D positions of facial landmark points are inferred by a regressor from 2D video frames of an ordinary web camera. From these 3D points, the pose and expressions of the face are recovered by fitting a user-specific blendshape model to them. The main technical contribution of this work is the 3D regression algorithm that learns an accurate, userspecific face alignment model from an easily acquired set of training data, generated from images of the user performing a sequence of predefined facial poses and expressions. Experiments show that our system can accurately recover 3D face shapes even for fast motions, non-frontal faces, and exaggerated expressions. In addition, some capacity to handle partial occlusions and changing lighting conditions is demonstrated. We presented a regression approach for 3D facial performance capture from 2D video. Our experiments show robust, real-time tracking results that compare favorably to related techniques. We believe our system significantly advances the state of the art in facial animation by providing a practical solution for ordinary users.. There are a couple of extensions to our system that we plan to investigate in future work. First, we are interested in removing the effects of lighting variations in both the training images and runtime video stream through intrinsic image decomposition. If this decomposition can be performed in real time, our algorithm can become more robust to large lighting changes without the use of additional training images. Another direction for future work is to estimate the lighting environment from the video stream, and utilize photometric techniques to recover fine-scale details of the face shape. Synthesis of these details could lead to more convincing facial animations. Facial Performance Capture. Facial animation systems based on performance capture aim to measure expressions and motions of a user's face and apply them to a target model. Various techniques have been presented for acquiring these measurements. Methods that employ direct interactions with the user are often referred to as active sensing techniques. They may involve placing markers on the face [Williams 1990; Huang et al. 2011] or projecting structured light patterns [Zhang et al. 2004; Weise et al. 2009 ] to facilitate surface point tracking or 3D modeling. These approaches can provide high resolution and reliability in face measurement, but their intrusiveness makes them less practical for general settings. An exception to this is the Kinect-based method of [Weise et al. 2011] .. Because it utilizes projections of invisible, infrared light, the Kinect is relatively nonintrusive in its face capture.. Passive systems do not interfere with their environment to gain information in the sensing process, but tend to have lower accuracy as a result. Several methods employ just a single conventional camera to capture facial motions [Essa et al. 1996; Pighin et al. 1999; Chai et al. 2003; Vlasic et al. 2005] . Camera arrays have also been used with the advantage of providing multi-view stereo data for 3D reconstruction [Beeler et al. 2010; Bradley et al. 2010; Beeler et al. 2011] . Since widespread usability is a motivating factor in our work, we utilize a single video camera to record facial configurations. Though video frames provide only 2D appearance data, we infer 3D face shape from this input with the help of face models.. Appearance-based Facial Feature Tracking. Facial motion capture requires accurate tracking of facial landmarks such as the corners of the eyes and ends of the mouth. For conventional video input, optical flow is typically applied for this purpose. Tracking of individual features by optical flow, however, is unreliable especially for less salient landmarks, because of noise in the input data. For more robust tracking, geometric constraints among the features are normally incorporated in the flow computation so that the tracking of each feature is influenced by the positions of others. Different types of geometric constraints have been proposed, including restrictions on feature displacements in expression change [Chai et al. 2003 ], adherence to physically-based deformable mesh models [Essa et al. 1996; DeCarlo and Metaxas 2000] , and correspondence to face models constructed from measured examples [Pighin et al. 1999; Blanz and Vetter 1999; Vlasic et al. 2005] . In [Weise et al. 2011] , motion priors derived from pre-recorded animations are also used in conjunction with a 3D face model.. Our work also utilizes a model-based approach to locate facial landmarks, but only as part of an offline face alignment step in which errors are manually corrected by the user. At run time, instead of fitting a generic face model to optical flow, our method directly infers 3D shape from 2D image appearance through boosted regression, a powerful technique for learning a mapping function from training data. In our system, the regressor learns from user-labeled training data that is more accurate than what can be produced by automatic face alignment techniques. Moreover, the geometric relationships encoded in the training data are specific to the given user, and thus provide a more precise constraint on tracking results than that of a generic face model. These features lead to appreciable improvements in tracking performance. The use of shape regression for this application was inspired by the work in [Cao et al. 2012] , which deals with 2D face alignment that is not tailored to a particular user. Our presented regression to 3D shapes allows us to take advantage of a user-specific 3D face model to better track facial expressions while accounting for configurations that are not well represented by linear interpolation of the training data.. Regression-based Generation of Virtual Avatars. Regressionbased approaches have previously been used in the generation of virtual avatars. Saragih et al. [2011] synthesized training pairs for various expressions of a user and an avatar using a generic expression model, and learned a mapping function between the two. At run time, the user's face is tracked by fitting a deformable face shape model, which is then used with the learned map to generate the corresponding shape for the avatar's face. Huang et al. [2012] take a similar approach that instead learns a regression model between shape differences and appearance/texture differences from that of a neutral face. Shape differences of a source face are transferred to the target face by applying corresponding affine transformations to triangles in the facial mesh model. In contrast to these techniques, which employ regression to learn mappings between a source face and target face over various expressions, ours uses a regression-based approach to improve 3D face alignment, while taking advantage of user-specific blendshapes for expression transfer. It is through this novel face alignment technique that our system obtains robust performance over large head rotations and exaggerated expressions.

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


Formal modeling of evolving self-adaptive systems In this paper, we present a formal model, named PobSAM (Policy-based SelfAdaptive Model), for developing and modeling self-adaptive evolving systems. In this model, policies are used as a mechanism to direct and adapt the behavior of self-adaptive systems. A PobSAM model is a collection of autonomous managers and managed actors. The managed actors are dedicated to the functional behavior while the autonomous managers govern the behavior of managed actors by enforcing suitable policies. A manager has a set of configurations including two types of policies: governing policies and adaptation policies. To adapt system behavior in response to the changes, the managers switch among different configurations. We employ the combination of an algebraic formalism and an actor-based model to specify this model formally. Managed actors are expressed by an actor model. Managers are modeled as meta-actors whose configurations are described using a multi-sorted algebra called CA. We provide an operational semantics for PobSAM using labeled transition systems. Furthermore, we provide behavioral equivalence of different sorts of CA in terms of splitting bisimulation and prioritized splitting bisimulation. Equivalent managers send the same set of messages to the actors. Using our behavioral equivalence theory, we can prove that the overall behavior of the system is preserved by substituting a manager by an equivalent one. Motivation Increasingly, software systems are subjected to adaptation at runtime due to changes in the operational environments and user requirements. Adaptation is classified into two broad categories: structural adaptation and behavioral adaptation [21] . While structural adaptation aims to adapt the behavior by changing the system's architecture, behavioral adaptation focuses on modifying the functionalities of the computational entities.. There are several challenges in designing and developing self-adaptive systems. Flexibility is a main concern to achieve adaptation. Due to the fact that today's systems steadily become larger, more heterogeneous, and long-lived, they must have the ability to continuously evolve and grow even in situations unknown during development time. Hence, flexible and scalable approaches are required for developing today's complex and evolving software-intensive systems, since hard-coded mechanisms make tuning and adapting long-run systems complicated. Recently, the use of policies has been given attention as a powerful mechanism to achieve flexibility in adaptive and autonomous systems which allow one to "dynamically" specify the requirements in terms of high level goals. A policy is a rule describing under which condition a specified subject must (can or cannot) do an action on a specific object. There are numerous academic and industrial approaches that use policies for managing and adapting the system behavior, e.g., [1, 34] propose architectures for engineering autonomic computing systems, also policies are used as a mechanism to trigger the adaptation in [5, 16, 17, 20, 15] .. Due to the fact that self-adaptive systems are often complex systems with a great degree of autonomy, it is more difficult to ensure that a self-adaptive system behaves as intended and avoids undesirable behavior. Hence, one of the main concerns in developing self-adaptive systems is providing mechanisms to ensure that the system is operating correctly, where model-driven approaches and formal methods can play a key role.. Generally, proposed formal methods for dynamic adaptation mainly focus on the structural changes of adaptive systems (e.g., see [13] ). Fewer formal approaches are concerned with the behavioral changes of adaptive systems and developing flexible model-driven approaches to design and develop evolving adaptive systems. Zhang et al. [40] proposed a model-driven approach using Petri Nets for developing adaptive programs. The program consists of a set of steady-state programs and adaptation is done by switching among the steadystate programs. They also presented a model-checking approach for verification of adaptive programs [41, 39] in which an extension of LTL with an "adapt" operator was used to specify the adaptation requirements. Furthermore, authors in [32, 2] proposed a framework named MARS which uses labeled state transition systems directly at a low level of abstraction to model and verify embedded adaptive systems. A MARS module has a set of configurations and adaptation is done by changing the active configuration. All the proposed formal models share the following drawbacks: (1) although, the adaptation concerns are separated from the functionality of the system, the adaptation logic is hard-coded which leads to system's inflexibility. (2) the steady-state programs and configurations are fixed and cannot change dynamically. (3) the system is specified as labeled state transition systems at a low-level of abstraction. Since the adaptation logic as well as configurations/steady-state programs are fixed and cannot change dynamically, these approaches are unsuitable to develop evolving adaptive systems in which the system is required to adapt to unforeseen situations. This paper In this paper, we propose a formal model called PobSAM (Policy-based Self-Adaptive Model) for developing and specifying self-adaptive systems that employs policies as the principal paradigm to govern and adapt the system behavior. We model a self-adaptive system as a collection of interacting actors directed to achieve particular goals according to predefined policies. A PobSAM model is composed of a collection of autonomous managers and managed actors. Autonomous managers are meta-actors responsible for monitoring and handling events by enforcing suitable policies. Each manager has a set of configurations containing adaptation policies and governing policies. A manager changes its configuration dynamically in response to the changing circumstances according to adaptation policies. The behavior of managed actors is either governed by managers or cannot be directly controlled from outside. Governing policies are the rules that are applied while the system is in a stable state. Adaptation policies are rules that govern the transient states between two stable states while the system is changing. The set of manager's configurations is not fixed and may change dynamically by growing and evolving the system.. PobSAM has a formal foundation that employs an integration of algebraic formalisms and Actor-based models. The computational (functional) model of PobSAM is actor-based while the multi-sorted algebra CA (Configuration Algebra) is proposed to specify the configurations of managers. The sub-algebra CA a is used to specify actions of simple governing policies which is built on the process algebra PA cc δ [10] . The common set theoretic operators are employed to specify governing policy sets. We formalize adaptation policies using CA p . The operational semantics of PobSAM is described with labeled transition systems.. We provide a behavioral equivalence to reason about PobSAM models. A sound and complete axiomatizations, modulo splitting bisimulation, is provided for CA a . We introduce an operator, named Ψ, to formulate the behavior of governing policy sets in terms of CA a terms. Then we use CA a axiom system to reason about the behavioral equivalence of governing policy sets. We introduce a new type of bisimilarity named prioritized splitting bisimulation. A sound and complete axiomatizations, modulo prioritized splitting bisimulation is proposed to describe the behavioral equivalence of adaptation policies. Following [11] , we define a particular model for CA p in terms of prioritized conditional transition systems modulo prioritized splitting bisimulation, which indeed satisfies the defined axioms of CA p . Furthermore, we present an equational theory to reason about configurations and managers. This equational theory is particularly helpful for automatic component assessment. We refer to component assessment as the problem of identifying a component with desired behavior that can replace another component or can be used for interaction. A possible solution to this problem relies on detecting the behavioral equivalence of a particular component with desired behavior and a candidate component that could maintain that behavior. We will illustrate this problem by means of concrete examples.. Contributions In the past, rigid formal methods have been proposed for modeling and analysis of adaptive systems at the behavioral level, mainly at low levels of abstraction, and flexible policy-based approaches have been proposed for designing adaptive systems without formal foundation. Here, we propose a flexible policy-based approach with formal foundation to support model-driven developing and verification of self-adaptive systems. Compared to existing work, our approach has the following novel features:. 1. PobSAM is a novel flexible formal approach to design and develop evolving self-adaptive systems which uses an identical mechanism, i.e., policies, to adapt and control the system behavior. 2. Policies allow us to separate the rules that govern the behavioral choices of a system from the system functionality, giving us a higher level of abstraction, so that we can change the system behavior by enforcing suitable policies which can be modified at runtime, without the need to change the system code. As an example, we are able to change and reason about the scheduling of jobs using policies independent of the system code. 3. Policies are specified at a high-level of abstraction and allow us to decouple the adaptation concerns from the application code. We can adapt the system behavior to unforeseen situations by defining and modifying the policies dynamically (i.e., governing policies and adaptation policies). This is a major advantage over the proposed formal models for developing evolving and complex systems. 4. Safe adaptation is a main requirement of a model to develop self-adaptive systems. To this end, we present an adaptation strategy to pass the adaptation phase safely and at the right moment. 5. Since, PobSAM is a modular model, it can support both structural and behavioral adaptation, however in this paper, we focus on the behavioral adaptation. 6. The formal foundation, the modular model, and separation of adaptation rules will help us in developing rigorous analysis techniques. Since, CA a is complete and sound for splitting bisimulation and CA p is complete and sound for prioritized splitting bisimulation, we can reason about policy actions, governing policies, adaptation policies, configurations and managers separately, without need to construct the whole model of the system. This is a main advantage for evolving systems whose requirements and environment change dynamically.. Compared to the conference version of this paper [22] , in this paper (1) we axiomatize CA to specify manager configurations (2) we present a behavioral equivalence theory to reason about CA terms, and (3) we apply our approach on a more concrete case study.. Structure of the paper This paper is organized as follows. In Section 2 we introduce an example to illustrate our approach. Section 3 briefly introduces the PobSAM model. Sections 4 and 5 introduce the syntax and the semantics of PobSAM model, respectively. A notion of behavioral equivalence for CA is presented in Section 6. Section 7 presents related work and compares our approach with the existing approaches. In Section 8, we present our conclusions and plans for future work. We proposed PobSAM as a formal model to develop evolving self-adaptive systems which uses policies as the main mechanism to govern and adapt the system behavior. To this end, we model a system as the composition of a set of actors: managed actors that are dedicated to the computational layer of a system and autonomous managers that coordinate actors to achieve the predefined goals using policies. This model integrates two formal methods including the algebra CA and an actor-based model to specify a system. We presented the operational semantics of PobSAM by means of labeled transition systems. We presented behavioral equivalence of CA sub-algebras including CA a , CA g , CA c and CA p according to the notions of splitting bisimilarity and prioritized splitting bisimilarity.. There is much more research to pursue in the area of modeling and verification of self-adaptive systems. In this paper, we focused on formal modeling of self-adaptive systems. Verification of different properties of adaptation and computational layers of PobSAM models is an ongoing work. As our model can support both behavioral and structural adaptations, our future research will concentrate on specifying structural adaptations. (12)

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


Augmented Lagrangian methods under the Constant Positive Linear Dependence constraint qualification Two Augmented Lagrangian algorithms for solving KKT systems are introduced. The algorithms differ in the way in which penalty parameters are updated. Possibly infeasible accumulation points are characterized. It is proved that feasible limit points that satisfy the Constant Positive Linear Dependence constraint qualification are KKT solutions. Boundedness of the penalty parameters is proved under suitable assumptions. Numerical experiments are presented. Let F : IR n → IR n , D ⊆ IR n . The Variational Inequality Problem (VIP) defined by (F, D) (see, for example, [34] ) consists of finding x ∈ D such that F (x) T d ≥ 0 for all d in the tangent cone T D (x) ( [3] , page 334) .. In this paper we define D = {x ∈ Ω | h(x) = 0}, where h : IR n → IR m , , u ∈ IR n , < u and Ω = {x ∈ IR n | ≤ x ≤ u}. Assume that h admits continuous first derivatives on an open set that contains Ω and denote ∇h(x) = (∇h 1 (x), . . . , ∇h m (x)) = h (x) T ∈ IR n×m .. Let P A denote the Euclidian projection operator onto a closed and convex set A. A point x ∈ IR n is said to be a KKT point of the problem defined by F, h and Ω if there exists λ ∈ IR m such that P Ω [x − F (x) − ∇h(x)λ] − x = 0, h(x) = 0, x ∈ Ω.. Under appropriate constraint qualifications, solutions of the VIP are KKT points. If F = ∇f for some f : IR n → IR, the equations (1) represent the KKT optimality conditions of the minimization problem Minimize f (x) subject to h(x) = 0, x ∈ Ω.. The most influential work on practical Augmented Lagrangian algorithms for minimization with equality constraints and bounds (problem (2)) was the paper by Conn, Gould and Toint [12] , on which the LANCELOT package [10] is based. Convergence of the algorithm presented in [12] was proved under the assumption that the gradients of the general constraints and the active bounds at any limit point are linearly independent. See, also, [11] .. In the present paper we introduce two Augmented Lagrangian algorithms for solving (1) . We do not use the linear independence assumption at all. Firstly, we characterize the situations in which infeasible limit points might exist using weaker assumptions than the linear independence condition. Moreover, the fact that feasible limit points are KKT points will follow using the Constant Positive Linear Dependence (CPLD) condition [29] , which has been recently proved to be a constraint qualification [2] and is far more general than the regularity condition and other popular constraint qualifications. We use regularity only for proving boundedness of the penalty parameters.. This paper is organized as follows. The two main algorithms are introduced in Section 2. In Section 3 we characterize the infeasible points that could be limit points of the algorithms. In Section 4 it is proved that, if the CPLD constraint qualification holds at a feasible limit point, then this point must be KKT. In Section 5 we prove boundedness of the penalty parameters. In Section 6 we present numerical experiments. Conclusions and lines for future research are given in Section 7. Augmented Lagrangian methods are useful tools for solving many practical nonconvex minimization problems with equality constraints and bounds. Its extension to KKT systems and, in consequence, to a wide variety of equilibrium problems (see [26, 27] ) is straightforward. We presented two Augmented Lagrangian algorithms for this purpose. They differ only in the way in which penalty parameters are updated. There seems to be an important difference between these two algorithms with respect to convergence properties. According to our feasibility results the set of possible infeasible limit points of Algorithm 1 seems to be strictly contained in the set of possible infeasible limit points of Algorithm 2. This could indicate that Algorithm 2 converges to infeasible points more frequently than Algorithm 1. However, this property was not confirmed by numerical experiments, which indicate that Algorithm 2 is better. So, it seems that maintaining moderate values of the penalty parameters is the more important feature for explaining the practical performance. However, it is still an open problem if stronger results than Theorem 3.2 can be obtained for Algorithm 2.. The question about convergence to optimal (KKT) points is also relevant. Up to our knowledge, convergence to KKT points of algorithms of this type had been obtained only using regularity assumptions (linear independence of active constraints). Here we proved that a much better constraint qualification (CPLD) can be used with the same purpose. Again, the problem of finding even weaker constraint qualifications under which convergence to KKT points can be guaranteed remains open.. The superiority of Algorithm 2 over Algorithm 1 in numerical experiments was not a surprise since every optimization practitioner is conscious of the effect of large penalty parameters on the conditioning of the subproblems and, hence, on the overall performance of Augmented Lagrangian and penalty methods. A little bit more surprising was the (slight) superiority of the algorithms based on accurate resolution of the subproblems over the ones based on inexact resolution. Careful inspection of some specific cases lead us to the following explanation for that behavior. On one hand, GENCAN, the algorithm used to solve the subproblems is an inexactNewton method whose behavior is many times similar to Newton's method especially when the iterate is close to the solution. This implies that, after satisfying a loose convergence criterion, the amount of effort needed for satisfying a strict convergence criterion is usually small. In these cases it is not worthwhile to interrupt the execution for defining a new subproblem. (One would be "abandoning Newton" precisely in the region where it is more efficient!) On the other hand, the formula used for updating the Lagrange multipliers is a first-order formula motivated by the assumption of exact solution of the subproblems. When the resolution is inexact, other updating formulae ( [24] , p. 291) might be more efficient (although, of course, more costly).. The conclusion about the relative efficiency of solving accurately or inaccurately the subproblem may change if one uses different box-constrained solvers. The excellent behavior of the spectral gradient method for very large convex constrained minimization [6, 7, 8, 13, 30, 31 ] is a strong motivation for pursuing the research on inexact stopping criteria for the subproblems, since in this case quadratic or superlinear convergence is not expected.. Valuable research has been done in the last 10 years in Augmented Lagrangian methods for solving quadratic problems originated from mechanical applications [16, 17, 18] . Adaptive criteria that depend on feasibility of the current point (as in the assumptions of our penalty boundedness theorems) have been successfully used and justified from several different points of view. (Antecedents of these practical strategies can be found in [25] .) More recently [16] , Dostál showed that, for some convex quadratic programming problems, an updating strategy based on the increase of the Augmented Lagrangian function have interesting theoretical and practical properties. Extension of his philosophy to the general nonquadratic and nonconvex case must be investigated.. The recent development of efficient sequential quadratic programming, interior-point and restoration methods for nonlinear programming motivates a different line of Augmented Lagrangian research. The "easy" set Ω does not need to be a box and, in fact, it does not need to be "easy" at all if a suitable algorithm for minimizing on it is available. (The case in which Ω is a general polytope was considered in [11] .) However, many times the intersection of Ω with the general constraints h(x) = 0 is very complicated. In these cases, using the Augmented Lagrangian approach to deal with the general constraints and a different nonlinear programming algorithm to deal with the subproblems is attractive. Certainly, this has been done in practical applications for many years. The convergence properties of these combinations using weak constraint qualifications is considered in a separate report [1] .. Inequality constraints in the original problem can be reduced to equality and box constraints by means of the addition of slack variables and bounds. However, it is interesting to consider directly Augmented Lagrangian methods that deal with inequality constraints without that reformulation. The most popular Augmented Lagrangian function for inequality constraints [32] can be obtained reducing the inequality constrained problem to an equality constrained one, with the help of squared slack variables, and applying the equality Augmented Lagrangian to the new problem. After some manipulation, squared slack variables are eliminated and an Augmented Lagrangian without auxiliary variables arises [3] . Many alternative Augmented Lagrangians with better smoothness properties than the classical one have been introduced. It is possible to obtain feasibility and global convergence results for methods based on many inequality Augmented Lagrangians after removing a considerable number of technical difficulties [1, 4] . However, results on the boundedness of the penalty parameters are harder to obtain. In particular, strict complementarity at the limit point seems to be necessary for obtaining such results. This assumption is not used at all in the present paper.. We presented our methods and theory considering KKT systems and not merely minimization problems to stress the applicability of the Augmented Lagrangian strategy to the general KKT case. We performed several experiments for general KKT systems, where the algorithm used for solving the subproblems was the well known PATH solver (see [14] ). We compared the resulting algorithm with the PATH method for solving directly the original problem. On one hand, we confirmed the following warning of [23] : "Typically, singularity [of the Jacobian] does not cause a lot of problems and the algorithm [PATH] can handle the situation appropriately. However, an excessive number of singularities are cause of concern. A further indication of possible singularities at the solution is the lack of quadratic convergence to the solution". In fact, for some tested problems, the effect of singularity of the Jacobian was more serious in the direct application of PATH to the original problem than in the "Augmented Lagrangian with PATH" algorithm. In many other situations the direct application of PATH to the KKT system was more efficient. Clearly, the Augmented Lagrangian framework intensely exploits the minimization structure of the problem when the source of the KKT system is nonlinear programming and loses this advantage when the KKT system is general. However, much research is necessary in order to evaluate the potentiality of the Augmented Lagrangian for equilibrium problems, variational inequalities and related problems.

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