52 research outputs found

    The pros and cons of using SDL for creation of distributed services

    Get PDF
    In a competitive market for the creation of complex distributed services, time to market, development cost, maintenance and flexibility are key issues. Optimizing the development process is very much a matter of optimizing the technologies used during service creation. This paper reports on the experience gained in the Service Creation projects SCREEN and TOSCA on use of the language SDL for efficient service creation

    Data and Activity Representation for Grid Computing

    Get PDF
    Computational grids are becoming increasingly popular as an infrastructure for computa- tional science research. The demand for high-level tools and problem solving environments has prompted active research in Grid Computing Environments (GCEs). Many GCEs have been one-o development eorts. More recently, there have been many eorts to dene component ar- chitectures for constructing important pieces of a GCE. This paper examines another approach, based on a `data-centric' framework for building powerful, context-aware GCEs spanning mul- tiple layers of abstraction. We describe a scheme for representing data and activities in a GCE and outline various tools under development which use this representation

    Embedded System Design

    Get PDF
    A unique feature of this open access textbook is to provide a comprehensive introduction to the fundamental knowledge in embedded systems, with applications in cyber-physical systems and the Internet of things. It starts with an introduction to the field and a survey of specification models and languages for embedded and cyber-physical systems. It provides a brief overview of hardware devices used for such systems and presents the essentials of system software for embedded systems, including real-time operating systems. The author also discusses evaluation and validation techniques for embedded systems and provides an overview of techniques for mapping applications to execution platforms, including multi-core platforms. Embedded systems have to operate under tight constraints and, hence, the book also contains a selected set of optimization techniques, including software optimization techniques. The book closes with a brief survey on testing. This fourth edition has been updated and revised to reflect new trends and technologies, such as the importance of cyber-physical systems (CPS) and the Internet of things (IoT), the evolution of single-core processors to multi-core processors, and the increased importance of energy efficiency and thermal issues

    Embedded System Design

    Get PDF
    A unique feature of this open access textbook is to provide a comprehensive introduction to the fundamental knowledge in embedded systems, with applications in cyber-physical systems and the Internet of things. It starts with an introduction to the field and a survey of specification models and languages for embedded and cyber-physical systems. It provides a brief overview of hardware devices used for such systems and presents the essentials of system software for embedded systems, including real-time operating systems. The author also discusses evaluation and validation techniques for embedded systems and provides an overview of techniques for mapping applications to execution platforms, including multi-core platforms. Embedded systems have to operate under tight constraints and, hence, the book also contains a selected set of optimization techniques, including software optimization techniques. The book closes with a brief survey on testing. This fourth edition has been updated and revised to reflect new trends and technologies, such as the importance of cyber-physical systems (CPS) and the Internet of things (IoT), the evolution of single-core processors to multi-core processors, and the increased importance of energy efficiency and thermal issues

    Investigations into the model driven design of distribution patterns for web service compositions

    Get PDF
    Increasingly, distributed systems are being used to provide enterprise level solutions with high scalability and fault tolerance These solutins are often built using Web servces that are composed to perform useful business functions Acceptance of these composed systems is often constrained by a number of non-functional properties of the system such as availability, scalability and performance There are a number of drstribution patterns that each exhibit different non-functional charactmstics These patterns are re-occuring distribution schemes that express how a system is to be assembled and subsequently deployed. Traditional approaches to development of Web service compositions exhibit a number of Issues Firstly, Web service composition development is often ad-hoc and requires considerable low level coding effort for realisatlon Such systems often exhibit fixed architectures, making maintenance difficult and error prone Additionally, a number of the non-funchonal reqwements cannot be easily assessed by exammng low level code. In this thesis we explicitly model the compositional aspects of Web service compositions usmg UML Activity diagrams Ths approach uses a modehng and transformation framework, based on Model Dnven Software Development (MDSD), going from high level models to an executable system The framework is guided by a methodological framework whose primary artifact is a distribution pattern model, chosen from the supplied catalog. Our modelling and transfomation framework improves the development process of Web service compositions, with respect to a number of criteria, when compared to the traditional handcrafted approach Specifically, we negate the coding effort traditionally associated with Web service composition development Maintenance overheads of the solution are also slgnificantly reduced, while improved mutability 1s achieved through a flexible architecture when compared with existing tools We also improve the product output from the development process by exposing the non-functional runtime properties of Web service compositlons using distribution patterns

    Dynamic Upgrade of Distributed Software Components

    Get PDF
    Die Aktualisierung von komplexen Telekommunikationssystemen, die sich durch die ihnen eigene Verteiltheit und hohe Kosten bei System-NichtverfĂŒgbarkeit auszeichnen, ist ein komplizierter und fehleranfĂ€lliger Wartungsprozess. Noch stĂ€rkere Herausforderungen bergen solche Software-Aktualisierungen, die die SystemverfĂŒgbarkeit nicht beeintrĂ€chtigen sollen. Dynamic Upgrade ist eine Wartungstechnik, die das Verwalten und die DurchfĂŒhrung von Software-Aktualisierung automatisiert und damit den Betrieb des Systems wĂ€hrend der Wartungszeit nicht unterbricht. In dieser Arbeit wird das Dynamic Upgrade als ein Sonderfall der Bereitstellung und Inbetriebnahme (Deployment) von Software betrachtet, in dem Teile der einen Dienst reprĂ€sentierenden Software durch neue Versionen im laufenden Betrieb ersetzt werden. Die Problemstellung des Dynamic Upgrade wird anhand einer vom Autor erarbeiteten Taxonomie erlĂ€utert, die die Entwurfsmöglichkeiten fĂŒr ein System zur UnterstĂŒtzung von Dynamic Upgrade hinsichtlich dreier Systemaspekte klassifiziert: Deployment, Evolution und ZuverlĂ€ssigkeit (Dependability). Mit Hilfe dieser Taxonomie lassen sich auch andere Systeme zur UnterstĂŒtzung von Dynamic Upgrade miteinander vergleichen. Aufbauend auf einem ausfĂŒhrlichen Vergleich ĂŒber existierende AnsĂ€tze zur UnterstĂŒtzung von Dynamic Upgrade, wird in der vorliegenden Arbeit eine Lösung entwickelt und dargestellt, die Dynamic Upgrade in verteilten komponentenbasierten Software-Systemen ermöglicht. Ausgehend von der Problemanalyse wird mit Hilfe des Unified Process ein als Deployment and Upgrade Facility bezeichnetes Modell entwickelt, das sowohl die benötigten LeistungsfĂ€higkeiten eines Dynamic Upgrade unterstĂŒtzenden Systems als auch Eigenschaften von aktualisierbaren Software-Komponenten beschreibt. Dieses Modell ist Plattform-unabhĂ€ngig und einsetzbar fĂŒr mehrere unterliegende Middleware-Technologien. Das Modell wird in einem Java-basierten prototypischen Rahmenwerk programmiert und um plattformspezifische Mechanismen auf der Jgroup/ARM Middleware erweitert. Das Rahmenwerk umfasst allgemeine Entwurfslösungen und ?muster, die sich fĂŒr die Konstruktion einer UnterstĂŒtzung fĂŒr Dynamic Upgrade eignen. Es erlaubt die Kontrolle der Lebenszyklen von Aktualisierungsprozessen und ihre Koordination im Zielsystem. DarĂŒber hinaus definiert es eine Reihe von UnterstĂŒtzungsmechanismen und Algorithmen fĂŒr den dynamischen Aktualisierungsprozess, der gegebenenfalls mit unterschiedlichen Zielsetzungen und unter verschiedenen Randbedingungen erfolgen soll. Insbesondere wird ein Aktualisierungsalgorithmus fĂŒr replizierte Software-Komponenten dargestellt. Das entwickelte Rahmenwerk wird zwecks PlausibilitĂ€tsprĂŒfung der dargestellten AnsĂ€tze und zur Auswertung der Auswirkungen der Dynamic Upgrade unterstĂŒtzenden Mechanismen im Hinblick auf Systemperformanz in mehreren Experimenten eingesetzt. Diese quantitative Evaluierung der Experimente fĂŒhrt zu einer Spezifikationen eines einfachen Bewertungsmaßstabs (Benchmark), der sich zum Vergleich von Dynamic Upgrade unterstĂŒtzenden Systemen eignet.Upgrading complex telecommunication software systems, characterized by their inherent distribution and a very high cost of system unavailability, is a difficult and error-prone maintenance activity. Even more challenging are such software upgrades that do not compromise the system availability. Dynamic upgrades is a technique, which automates performing and managing upgrades so that the software system remains operational during the upgrade time. In this thesis, the dynamic upgrade is considered as a special case of software deployment, in which a running service has to be replaced with its new version. The problems of dynamic upgrades are introduced using a novel taxonomy that classifies the design issues to be solved when building support for dynamic upgrade with regard to three system aspects: deployment, evolution and dependability and provides a reference to comparing other systems supporting dynamic upgrades. An extensive and thorough survey of existing approaches to dynamic upgrades follows and, furthermore, is as a starting point to designing a solution supporting dynamic upgrades in distributed component-based software systems. Derived from the problem analysis, a model called Deployment and Upgrade Facility describing the capabilities needed for managing and performing dynamic upgrades as well as properties of upgradable software components is developed using the Unified Process approach. The model is platform independent and can be used with a range of underlying middleware technologies. The model is implemented in a Java-based prototypical framework and extended with platform specific mechanisms on top of the JGroup/ARM middleware. The framework captures common design solutions and patterns for building a support for dynamic upgrade. The framework allows for controlling life-cycle and coordination of upgrade processes in the system. It also defines a number of supporting mechanisms and algorithms for the upgrade process. A special attention is drawn to an upgrade algorithm for replicated software components for achieving a synergy of replication techniques and dynamic upgrade . The developed framework is used to validate the feasibility of the approach and to measure the overhead of the mechanisms supporting dynamic upgrade with regard to the performance of the system being upgraded in a number of practical experiments. This quantitative evaluation of the experiments leads to a specification of a simple benchmark for systems supporting dynamic upgrades

    Un meta-modÚle de composants pour la réalisation d'applications temps-réel flexibles et modulaires

    Get PDF
    The increase of software complexity along the years has led researchers in the software engineering field to look for approaches for conceiving and designing new systems. For instance, the service-oriented architectures approach is considered nowadays as the most advanced way to develop and integrate fastly modular and flexible applications. One of the software engineering solutions principles is re-usability, and consequently generality, which complicates its appilication in systems where optimizations are often used, like real-time systems. Thus, create real-time systems is expensive, because they must be conceived from scratch. In addition, most real-time systems do not beneficiate of the advantages which comes with software engineering approches, such as modularity and flexibility. This thesis aim to take real time aspects into account on popular and standard SOA solutions, in order to ease the design and development of modular and flexible applications. This will be done by means of a component-based real-time application model, which allows the dynamic reconfiguration of the application architecture. The component model will be an extension to the SCA standard, which integrates quality of service attributs onto the service consumer and provider in order to stablish a real-time specific service level agreement. This model will be executed on the top of a OSGi service platform, the standard de facto for development of modular applications in Java.La croissante complexitĂ© du logiciel a menĂ© les chercheurs en gĂ©nie logiciel Ă  chercher des approcher pour concevoir et projĂ©ter des nouveaux systĂšmes. Par exemple, l'approche des architectures orientĂ©es services (SOA) est considĂ©rĂ©e actuellement comme le moyen le plus avancĂ© pour rĂ©aliser et intĂ©grer rapidement des applications modulaires et flexibles. Une des principales prĂ©ocuppations des solutions en gĂ©nie logiciel et la rĂ©utilisation, et par consĂ©quent, la gĂ©nĂ©ralitĂ© de la solution, ce qui peut empĂȘcher son application dans des systĂšmes oĂč des optimisation sont souvent utilisĂ©es, tels que les systĂšmes temps rĂ©els. Ainsi, crĂ©er un systĂšme temps rĂ©el est devenu trĂšs couteux. De plus, la plupart des systĂšmes temps rĂ©el ne beneficient pas des facilitĂ©s apportĂ©es par le genie logiciel, tels que la modularitĂ© et la flexibilitĂ©. Le but de cette thĂšse c'est de prendre en compte ces aspects temps rĂ©el dans des solutions populaires et standards SOA pour faciliter la conception et le dĂ©veloppement d'applications temps rĂ©el flexibles et modulaires. Cela sera fait Ă  l'aide d'un modĂšle d'applications temps rĂ©el orientĂ© composant autorisant des modifications dynamiques dans l'architecture de l'application. Le modĂšle de composant sera une extension au standard SCA qui intĂšgre des attributs de qualitĂ© de service sur le consomateur et le fournisseur de services pour l'Ă©tablissement d'un accord de niveau de service spĂ©cifique au temps rĂ©el. Ce modĂšle sera executĂ© sur une plateforme de services OSGi, le standard de facto pour le developpement d'applications modulaires en Java
    • 

    corecore