344 research outputs found

    Adaptive object management for distributed systems

    Get PDF
    This thesis describes an architecture supporting the management of pluggable software components and evaluates it against the requirement for an enterprise integration platform for the manufacturing and petrochemical industries. In a distributed environment, we need mechanisms to manage objects and their interactions. At the least, we must be able to create objects in different processes on different nodes; we must be able to link them together so that they can pass messages to each other across the network; and we must deliver their messages in a timely and reliable manner. Object based environments which support these services already exist, for example ANSAware(ANSA, 1989), DEC's Objectbroker(ACA,1992), Iona's Orbix(Orbix,1994)Yet such environments provide limited support for composing applications from pluggable components. Pluggability is the ability to install and configure a component into an environment dynamically when the component is used, without specifying static dependencies between components when they are produced. Pluggability is supported to a degree by dynamic binding. Components may be programmed to import references to other components and to explore their interfaces at runtime, without using static type dependencies. Yet thus overloads the component with the responsibility to explore bindings. What is still generally missing is an efficient general-purpose binding model for managing bindings between independently produced components. In addition, existing environments provide no clear strategy for dealing with fine grained objects. The overhead of runtime binding and remote messaging will severely reduce performance where there are a lot of objects with complex patterns of interaction. We need an adaptive approach to managing configurations of pluggable components according to the needs and constraints of the environment. Management is made difficult by embedding bindings in component implementations and by relying on strong typing as the only means of verifying and validating bindings. To solve these problems we have built a set of configuration tools on top of an existing distributed support environment. Specification tools facilitate the construction of independent pluggable components. Visual composition tools facilitate the configuration of components into applications and the verification of composite behaviours. A configuration model is constructed which maintains the environmental state. Adaptive management is made possible by changing the management policy according to this state. Such policy changes affect the location of objects, their bindings, and the choice of messaging system

    Use of domain-specific language in test automation

    Get PDF
    The primary aim of this research project was to investigate techniques to replace the complicated process of testing embedded systems in automotive domain. The multi-component domain was composed of different hardware to be used in testing procedure which increased the level of difficulty in testing for an operator. As a result, an existing semi-automated testing procedure was replaced by more simpler and efficient framework (ViBATA). A key step taken in this scenario was the replacement of manual GUI interface with the scriptable one to enhance the automation. This was achieved by building a Domain-specific language which allowed test definition in the form of human readable scripts which could be stored for later use. A DSL is a scripting language defined for a particular domain with compact expressiveness. In this case the domain is testing embedded systems in general and automotive systems in particular. The final product was a test case specification document in the form of XML as an output of generated code from this DSL which will be input to ViBATA to make test specification component automated. In this research a comparative analysis of existing DSLs for alternative domains and investigation of their applicability to the presented domain was also performed. The technologies used in this project are Xtext to define the DSL grammar, Xtend to generate code in Java and Simple framework to generate output in XML. The stages involved in DSL development and how these stages were implemented is covered in this thesis. The developed DSL for this domain is tested for automotive and calculator systems in this thesis which proved that this is more general and flexible. The DSL is consistent, efficient and automated test specification component of testing framework in embedded systems

    Developing a catalogue of errors and evaluating its impact on software development

    Get PDF
    The development of quality software is of paramount importance, yet this has been and continues to be an elusive goal for software engineers. Delivered software often fails due to errors that are injected during its development. Correcting these errors early in the development or preventing them altogether can, therefore, be considered as one way to improve software quality. In this thesis, the development of a Catalogue of Errors is described. Field studies with senior software engineering students are used to confirm that developers using the Catalogue of Errors commit fewer errors in their development artifacts. The impact of the Catalogue of Errors on productivity is also examined

    Plug-and-Participate for Limited Devices in the Field of Industrial Automation

    Get PDF
    Ausgangspunkt und gleichzeitig Motivation dieser Arbeit ist die heutige Marktsituation: Starke KundenbedĂŒrfnisse nach individuellen GĂŒtern stehen oftmals eher auf Massenproduktion ausgerichteten Planungs- und Automatisierungssystemen gegenĂŒber - die Befriedigung individueller KundenbedĂŒrfnisse setzt aber FlexibilitĂ€t und AnpassungsfĂ€higkeit voraus. Ziel dieser Arbeit ist es daher, einen Beitrag zu leisten, der es Unternehmen ermöglichen soll, auf diese individuellen BedĂŒrfnisse flexibel reagieren zu können. Hierbei kann es im Rahmen der Dissertation natĂŒrlich nicht um eine Revolutionierung der gesamten Automatisierungs- und Planungslandschaft gehen; vielmehr ist die Lösung, die der Autor der Arbeit prĂ€sentiert, ein integraler Bestandteil eines Automatisierungskonzeptes, das im Rahmen des PABADIS Projektes entwickelt wurde: WĂ€hrend PABADIS das gesamte Spektrum von Planung und Maschineninfrastruktur zum Inhalt hat, bezieht sich der Kern dieser Arbeit weitestgehend auf den letztgenannten Punkt - Maschineninfrastruktur. Ziel war es, generische MaschinenfunktionalitĂ€t in einem Netzwerk anzubieten, durch das FertigungsauftrĂ€ge selbststĂ€ndig navigieren. Als Lösung prĂ€sentiert diese Dissertation ein Plug-and-Participate basiertes Konzept, welches beliebige Automatisierungsfunktionen in einer spontanen Gemeinschaft bereitstellt. Basis ist ein generisches Interface, in dem die generellen Anforderungen solcher ad-hoc Infrastrukturen aggregiert sind. Die Implementierung dieses Interfaces in der PABADIS Referenzimplementierung sowie die GegenĂŒberstellung der Systemanforderungen und Systemvoraussetzungen zeigte, das klassische Plug-and-Participate Technologien wie Jini und UPnP aufgrund ihrer Anforderungen nicht geeignet sind - AutomatisierungsgerĂ€te stellen oftmals nur eingeschrĂ€nkte Ressourcen bereit. Daher wurde als zweites Ergebnis neben dem Plug-and-Participate basierten Automatisierungskonzept eine Plug-and-Participate Technologie entwickelt - Pini - die den Gegebenheiten der Automatisierungswelt gerecht wird und schließlich eine Anwendung von PABADIS auf heutigen Automatisierungsanlagen erlaubt. Grundlegende Konzepte von Pini, die dies ermöglichen, sind die gesamte Grundarchitektur auf Basis eines verteilten Lookup Service, die Art und Weise der DienstreprĂ€sentation sowie die effiziente Nutzung der angebotenen Dienste. Mit Pini und darauf aufbauenden Konzepten wie PLAP ist es nun insbesondere möglich, Automatisierungssysteme wie PABADIS auf heutigen Anlagen zu realisieren. Das wiederum ist ein Schritt in Richtung Kundenorientierung - solche Systeme sind mit Hinblick auf FlexibilitĂ€t und AnpassungsfĂ€higkeit gestaltet worden, um KundenbedĂŒrfnissen effizient gerecht zu werden

    Plug-and-Participate for Limited Devices in the Field of Industrial Automation

    Get PDF
    Ausgangspunkt und gleichzeitig Motivation dieser Arbeit ist die heutige Marktsituation: Starke KundenbedĂŒrfnisse nach individuellen GĂŒtern stehen oftmals eher auf Massenproduktion ausgerichteten Planungs- und Automatisierungssystemen gegenĂŒber - die Befriedigung individueller KundenbedĂŒrfnisse setzt aber FlexibilitĂ€t und AnpassungsfĂ€higkeit voraus. Ziel dieser Arbeit ist es daher, einen Beitrag zu leisten, der es Unternehmen ermöglichen soll, auf diese individuellen BedĂŒrfnisse flexibel reagieren zu können. Hierbei kann es im Rahmen der Dissertation natĂŒrlich nicht um eine Revolutionierung der gesamten Automatisierungs- und Planungslandschaft gehen; vielmehr ist die Lösung, die der Autor der Arbeit prĂ€sentiert, ein integraler Bestandteil eines Automatisierungskonzeptes, das im Rahmen des PABADIS Projektes entwickelt wurde: WĂ€hrend PABADIS das gesamte Spektrum von Planung und Maschineninfrastruktur zum Inhalt hat, bezieht sich der Kern dieser Arbeit weitestgehend auf den letztgenannten Punkt - Maschineninfrastruktur. Ziel war es, generische MaschinenfunktionalitĂ€t in einem Netzwerk anzubieten, durch das FertigungsauftrĂ€ge selbststĂ€ndig navigieren. Als Lösung prĂ€sentiert diese Dissertation ein Plug-and-Participate basiertes Konzept, welches beliebige Automatisierungsfunktionen in einer spontanen Gemeinschaft bereitstellt. Basis ist ein generisches Interface, in dem die generellen Anforderungen solcher ad-hoc Infrastrukturen aggregiert sind. Die Implementierung dieses Interfaces in der PABADIS Referenzimplementierung sowie die GegenĂŒberstellung der Systemanforderungen und Systemvoraussetzungen zeigte, das klassische Plug-and-Participate Technologien wie Jini und UPnP aufgrund ihrer Anforderungen nicht geeignet sind - AutomatisierungsgerĂ€te stellen oftmals nur eingeschrĂ€nkte Ressourcen bereit. Daher wurde als zweites Ergebnis neben dem Plug-and-Participate basierten Automatisierungskonzept eine Plug-and-Participate Technologie entwickelt - Pini - die den Gegebenheiten der Automatisierungswelt gerecht wird und schließlich eine Anwendung von PABADIS auf heutigen Automatisierungsanlagen erlaubt. Grundlegende Konzepte von Pini, die dies ermöglichen, sind die gesamte Grundarchitektur auf Basis eines verteilten Lookup Service, die Art und Weise der DienstreprĂ€sentation sowie die effiziente Nutzung der angebotenen Dienste. Mit Pini und darauf aufbauenden Konzepten wie PLAP ist es nun insbesondere möglich, Automatisierungssysteme wie PABADIS auf heutigen Anlagen zu realisieren. Das wiederum ist ein Schritt in Richtung Kundenorientierung - solche Systeme sind mit Hinblick auf FlexibilitĂ€t und AnpassungsfĂ€higkeit gestaltet worden, um KundenbedĂŒrfnissen effizient gerecht zu werden

    Test-driven development of embedded control systems: application in an automotive collision prevention system

    Get PDF
    With test-driven development (TDD) new code is not written until an automated test has failed, and duplications of functions, tests, or simply code fragments are always removed. TDD can lead to a better design and a higher quality of the developed system, but to date it has mainly been applied to the development of traditional software systems such as payroll applications. This thesis describes the novel application of TDD to the development of embedded control systems using an automotive safety system for preventing collisions as an example. The basic prerequisite for test-driven development is the availability of an automated testing framework as tests are executed very often. Such testing frameworks have been developed for nearly all programming languages, but not for the graphical, signal driven language Simulink. Simulink is commonly used in the automotive industry and can be considered as state-of-the-art for the design and development of embedded control systems in the automotive, aerospace and other industries. The thesis therefore introduces a novel automated testing framework for Simulink. This framework forms the basis for the test-driven development process by integrating the analysis, design and testing of embedded control systems into this process. The thesis then shows the application of TDD to a collision prevention system. The system architecture is derived from the requirements of the system and four software components are identiïŹed, which represent problems of particular areas for the realisation of control systems, i.e. logical combinations, experimental problems, mathematical algorithms, and control theory. For each of these problems, a concept to systematically derive test cases from the requirements is presented. Moreover two conventional approaches to design the controller are introduced and compared in terms of their stability and performance. The eïŹ€ectiveness of the collision prevention system is assessed in trials on a driving simulator. These trials show that the system leads to a signiïŹcant reduction of the accident rate for rear-end collisions. In addition, experiments with prototype vehicles on test tracks and ïŹeld tests are presented to verify the system’s functional requirements within a system testing approach. Finally, the new test-driven development process for embedded control systems is evaluated in comparison to traditional development processes

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation

    Web service control of component-based agile manufacturing systems

    Get PDF
    Current global business competition has resulted in significant challenges for manufacturing and production sectors focused on shorter product lifecyc1es, more diverse and customized products as well as cost pressures from competitors and customers. To remain competitive, manufacturers, particularly in automotive industry, require the next generation of manufacturing paradigms supporting flexible and reconfigurable production systems that allow quick system changeovers for various types of products. In addition, closer integration of shop floor and business systems is required as indicated by the research efforts in investigating "Agile and Collaborative Manufacturing Systems" in supporting the production unit throughout the manufacturing lifecycles. The integration of a business enterprise with its shop-floor and lifecycle supply partners is currently only achieved through complex proprietary solutions due to differences in technology, particularly between automation and business systems. The situation is further complicated by the diverse types of automation control devices employed. Recently, the emerging technology of Service Oriented Architecture's (SOA's) and Web Services (WS) has been demonstrated and proved successful in linking business applications. The adoption of this Web Services approach at the automation level, that would enable a seamless integration of business enterprise and a shop-floor system, is an active research topic within the automotive domain. If successful, reconfigurable automation systems formed by a network of collaborative autonomous and open control platform in distributed, loosely coupled manufacturing environment can be realized through a unifying platform of WS interfaces for devices communication. The adoption of SOA- Web Services on embedded automation devices can be achieved employing Device Profile for Web Services (DPWS) protocols which encapsulate device control functionality as provided services (e.g. device I/O operation, device state notification, device discovery) and business application interfaces into physical control components of machining automation. This novel approach supports the possibility of integrating pervasive enterprise applications through unifying Web Services interfaces and neutral Simple Object Access Protocol (SOAP) message communication between control systems and business applications over standard Ethernet-Local Area Networks (LAN's). In addition, the re-configurability of the automation system is enhanced via the utilisation of Web Services throughout an automated control, build, installation, test, maintenance and reuse system lifecycle via device self-discovery provided by the DPWS protocol...cont'd

    A Reference Architecture for Service Lifecycle Management – Construction and Application to Designing and Analyzing IT Support

    Get PDF
    Service-orientation and the underlying concept of service-oriented architectures are a means to successfully address the need for flexibility and interoperability of software applications, which in turn leads to improved IT support of business processes. With a growing level of diffusion, sophistication and maturity, the number of services and interdependencies is gradually rising. This increasingly requires companies to implement a systematic management of services along their entire lifecycle. Service lifecycle management (SLM), i.e., the management of services from the initiating idea to their disposal, is becoming a crucial success factor. Not surprisingly, the academic and practice communities increasingly postulate comprehensive IT support for SLM to counteract the inherent complexity. The topic is still in its infancy, with no comprehensive models available that help evaluating and designing IT support in SLM. This thesis presents a reference architecture for SLM and applies it to the evaluation and designing of SLM IT support in companies. The artifact, which largely resulted from consortium research efforts, draws from an extensive analysis of existing SLM applications, case studies, focus group discussions, bilateral interviews and existing literature. Formal procedure models and a configuration terminology allow adapting and applying the reference architecture to a company’s individual setting. Corresponding usage examples prove its applicability and demonstrate the arising benefits within various SLM IT support design and evaluation tasks. A statistical analysis of the knowledge embodied within the reference data leads to novel, highly significant findings. For example, contemporary standard applications do not yet emphasize the lifecycle concept but rather tend to focus on small parts of the lifecycle, especially on service operation. This forces user companies either into a best-of-breed or a custom-development strategy if they are to implement integrated IT support for their SLM activities. SLM software vendors and internal software development units need to undergo a paradigm shift in order to better reflect the numerous interdependencies and increasing intertwining within services’ lifecycles. The SLM architecture is a first step towards achieving this goal.:Content Overview List of Figures....................................................................................... xi List of Tables ...................................................................................... xiv List of Abbreviations.......................................................................xviii 1 Introduction .................................................................................... 1 2 Foundations ................................................................................... 13 3 Architecture Structure and Strategy Layer .............................. 57 4 Process Layer ................................................................................ 75 5 Information Systems Layer ....................................................... 103 6 Architecture Application and Extension ................................. 137 7 Results, Evaluation and Outlook .............................................. 195 Appendix ..........................................................................................203 References .......................................................................................... 463 Curriculum Vitae.............................................................................. 498 Bibliographic Data............................................................................ 49

    Towards a comprehensive agent-oriented software engineering methodology

    Get PDF
    Recently, agent systems have proven to be a powerful new approach for designing and developing complex and distributed software systems. The agent area is one of the most dynamic and exciting areas in computer science today, because of the agents ability to impact the lives and work of all of us. Developing multi-agent systems for complex and distributed systems entails a robust methodology to assist developers to develop such systems in appropriate way. In the last ten years, many of agent oriented methodologies have been proposed. Although, these methodologies are based on strong basis they still suffer from a set of shortcomings and they still have the problems of traditional distributed systems as well as the difficulties that arise from flexibility requirements and sophisticated interactions. This thesis proposed a new agent oriented software engineering methodology called: Multi-Agent System Development (MASD) for development of multi-agent systems. The new methodology is provided by a set of guidelines, methods, models, and techniques that facilitate a systematic software development process. The thesis makes the following contributions: The main contribution of this thesis is to build a new methodology for the development of multi-agent systems. It is based upon the previous existing methodologies. It is aimed to develop a complete life-cycle methodology for designing and developing MASs. The new methodology is considered as an attempt to solve some of the problems that existing methodologies suffer from. The new methodology is established based on three fundamental aspects: concepts, models, and process. These three aspects are considered as a foundation for building a solid methodology. The concepts are all the necessary MAS concepts that should be available in order to build the models of the new methodology in a correct manner. The models include modeling techniques, modeling languages, a diagramming notation, and tools that can be used to analysis and design the agent system. The process is a set of steps or phases describe how the new methodology works in detail. The new methodology is built to bridge the gap between design models and existing agent implementation languages. It provides refined design models that can be directly implemented in an available programming language or use a dedicated agent-oriented programming language which provides constructs to implement the high-level design concepts such as Jadex, JADE, JACK, etc. The MASD methodology also uses an important concept called triggers and relies heavily on agent roles. The role concept is considered one of the most important aspects that represent agent behaviour. The trigger concept is also considered as an important aspect that represents agent reactivity. The new methodology captures the social agent aspects by utilizing well-known techniques such as use case maps, which enable developers to identify social aspects from the problem specification. MASD methodology is developed based on the essential software engineering issues such as preciseness, accessibility, expressiveness, domain applicability, modularity, refinement, model derivation, traceability, and clear definitions. The MASD methodology is provided by a plain and understandable development process through the methodology phases. It captures the holistic view of the system components, and commutative aspects, which should be recognized before designing the methodology models. This is achieved by using well-known techniques such as UCMs and UML UCDs. The resulting methodology was obtained by performing several steps. First, a review study “literature review” of different agent methodologies is carried out to capture their strengths and weaknesses. This review study started with the conceptual framework for MAS to discuss the common terms and concepts that are used in the thesis. The aim is to establish the characteristics of agent-oriented methodologies, and see how these characteristics are suited to develop multi-agent systems. Secondly, a requirement for a novel methodology is presented. These requirements are discussed in detail based on the three categories: concepts, models, and process. Thirdly, the new mature methodology is developed based on existing methodologies. The MASD methodology is composed of four phases: the system requirement phase, analysis phase, design phase and implementation phase. The new methodology covers the whole life cycle of agent system development, from requirement analysis, architecture design, and detailed design to implementation. Fourthly, the methodology is illustrated by a case study on an agent-based car rental system. Finally, a framework for evaluating agent-oriented methodologies is performed. Four methodologies including MASD are evaluated and compared by performing a feature analysis. This is carried out by evaluating the strengths and weaknesses of each participating methodology using a proposed evaluation framework called the Multi-agent System Analysis and Design Framework (MASADF). The evaluation framework addresses several major aspects of agent-oriented methodologies, such as: concepts, models and process
    • 

    corecore