1,629 research outputs found

    A component-based collaboration infrastructure

    Get PDF
    Groupware applications allow geographically distributed users to collaborate on shared tasks. However, it is widely recognized that groupware applications are expensive to build due to coordination services and group dynamics, neither of which is present in single-user applications. Previous collaboration transparency systems reuse existing single-user applications as a whole for collaborative work, often at the price of inflexible coordination. Previous collaboration awareness systems, on the other hand, provide reusable coordination services and multi-user widgets, but often with two weaknesses: (1) the multi-user widgets provided are special-purpose and limited in number, while no guidelines are provided for developing multi-user interface components in general; and (2) they often fail to reach the desired level of flexibility in coordination by tightly binding shared data and coordination services. In this dissertation, we propose a component-based approach to developing group- ware applications that addresses the above two problems. To address the first prob- lem, we propose a shared component model for modeling data and graphic user inter- face(GUI) components of groupware applications. As a result, the myriad of existing single-user components can be re-purposed as shared GUI or data components. An adaptation tool is developed to assist the adaptation process. To address the second problem, we propose a coordination service framework which systematically model the interaction between user, data, and coordination protocols. Due to the clean separation of data and control and the capability to dynamically "glue" them together, the framework provides reusable services such as data distribution, persistence, and adaptable consistency control. The association between data and coordination services can be dynamically changed at runtime. An Evolvable and eXtensible Environment for Collaboration (EXEC) is built to evaluate the proposed approach. In our experiments, we demonstrate two benefits of our approach: (1) a group of common groupware features adapted from existing single- user components are plugged in to extend the functionalities of the environment itself; and (2)coordination services can be dynamically attached to and detached from these shared components at different granules to support evolving collaboration needs

    Runtime Adaptation of Scientific Service Workflows

    Get PDF
    Software landscapes are rather subject to change than being complete after having been built. Changes may be caused by a modified customer behavior, the shift to new hardware resources, or otherwise changed requirements. In such situations, several challenges arise. New architectural models have to be designed and implemented, existing software has to be integrated, and, finally, the new software has to be deployed, monitored, and, where appropriate, optimized during runtime under realistic usage scenarios. All of these situations often demand manual intervention, which causes them to be error-prone. This thesis addresses these types of runtime adaptation. Based on service-oriented architectures, an environment is developed that enables the integration of existing software (i.e., the wrapping of legacy software as web services). A workflow modeling tool that aims at an easy-to-use approach by separating the role of the workflow expert and the role of the domain expert. After the development of workflows, tools that observe the executing infrastructure and perform automatic scale-in and scale-out operations are presented. Infrastructure-as-a-Service providers are used to scale the infrastructure in a transparent and cost-efficient way. The deployment of necessary middleware tools is automatically done. The use of a distributed infrastructure can lead to communication problems. In order to keep workflows robust, these exceptional cases need to treated. But, in this way, the process logic of a workflow gets mixed up and bloated with infrastructural details, which yields an increase in its complexity. In this work, a module is presented that can deal automatically with infrastructural faults and that thereby allows to keep the separation of these two layers. When services or their components are hosted in a distributed environment, some requirements need to be addressed at each service separately. Although techniques as object-oriented programming or the usage of design patterns like the interceptor pattern ease the adaptation of service behavior or structures. Still, these methods require to modify the configuration or the implementation of each individual service. On the other side, aspect-oriented programming allows to weave functionality into existing code even without having its source. Since the functionality needs to be woven into the code, it depends on the specific implementation. In a service-oriented architecture, where the implementation of a service is unknown, this approach clearly has its limitations. The request/response aspects presented in this thesis overcome this obstacle and provide a SOA-compliant and new methods to weave functionality into the communication layer of web services. The main contributions of this thesis are the following: Shifting towards a service-oriented architecture: The generic and extensible Legacy Code Description Language and the corresponding framework allow to wrap existing software, e.g., as web services, which afterwards can be composed into a workflow by SimpleBPEL without overburdening the domain expert with technical details that are indeed handled by a workflow expert. Runtime adaption: Based on the standardized Business Process Execution Language an automatic scheduling approach is presented that monitors all used resources and is able to automatically provision new machines in case a scale-out becomes necessary. If the resource's load drops, e.g., because of less workflow executions, a scale-in is also automatically performed. The scheduling algorithm takes the data transfer between the services into account in order to prevent scheduling allocations that eventually increase the workflow's makespan due to unnecessary or disadvantageous data transfers. Furthermore, a multi-objective scheduling algorithm that is based on a genetic algorithm is able to additionally consider cost, in a way that a user can define her own preferences rising from optimized execution times of a workflow and minimized costs. Possible communication errors are automatically detected and, according to certain constraints, corrected. Adaptation of communication: The presented request/response aspects allow to weave functionality into the communication of web services. By defining a pointcut language that only relies on the exchanged documents, the implementation of services must neither be known nor be available. The weaving process itself is modeled using web services. In this way, the concept of request/response aspects is naturally embedded into a service-oriented architecture

    Context-Aware and Adaptable eLearning Systems

    Get PDF
    The full text file attached to this record contains a copy of the thesis without the authors publications attached. The list of publications that are attached to the complete thesis can be found on pages 6-7 in the thesis.This thesis proposed solutions to some shortcomings to current eLearning architectures. The proposed DeLC architecture supports context-aware and adaptable provision of eLearning services and electronic content. The architecture is fully distributed and integrates service-oriented development with agent technology. Central to this architecture is that a node is our unit of computation (known as eLearning node) which can have purely service-oriented architecture, agent-oriented architecture or mixed architecture. Three eLeaerning Nodes have been implemented in order to demonstrate the vitality of the DeLC concept. The Mobile eLearning Node uses a three-level communication network, called InfoStations network, supporting mobile service provision. The services, displayed on this node, are to be aware of its context, gather required learning material and adapted to the learner request. This is supported trough a multi-layered hybrid (service- and agent-oriented) architecture whose kernel is implemented as middleware. For testing of the middleware a simulation environment has been developed. In addition, the DeLC development approach is proposed. The second eLearning node has been implemented as Education Portal. The architecture of this node is poorly service-oriented and it adopts a client-server architecture. In the education portal, there are incorporated education services and system services, called engines. The electronic content is kept in Digital Libraries. Furthermore, in order to facilitate content creators in DeLC, the environment Selbo2 was developed. The environment allows for creating new content, editing available content, as well as generating educational units out of preexisting standardized elements. In the last two years, the portal is used in actual education at the Faculty of Mathematics and Informatics, University of Plovdiv. The third eLearning node, known as Agent Village, exhibits a purely agent-oriented architecture. The purpose of this node is to provide intelligent assistance to the services deployed on the Education Pportal. Currently, two kinds of assistants are implemented in the node - eTesting Assistants and Refactoring eLearning Environment (ReLE). A more complex architecture, known as Education Cluster, is presented in this thesis as well. The Education Cluster incorporates two eLearning nodes, namely the Education Portal and the Agent Village. eLearning services and intelligent agents interact in the cluster
    • …
    corecore