14 research outputs found

    An Overview of Event-based Facades for Modular Composition and Coordination of Multiple Applications

    Get PDF
    Complex software systems are usually developed as systems of systems (SoS’s) in which multiple constituent applications are composed and coordinated to fulfill desired system-level requirements. The constituent applications must be augmented with suitable coordination-specific interfaces, through which they can participate in coordinated interactions. Such interfaces as well as coordination rules have a crosscutting nature. Therefore, to increase the reusability of the applications and to increase the comprehensibility of SoS’s, suitable mechanisms are required to modularize the coordination rules and interfaces from the constituent applications. We introduce a new abstraction named as architectural event modules (AEMs), which facilitate defining constituent applications and desired coordination rules as modules of SoS’s. AEMs augment the constituent applications with event-based facades to let them participate in coordinated interactions. We introduce the EventArch language in which the concept of AEMs is implemented, and illustrate its suitability using a case study

    Efficient distributed subtyping tests

    Full text link

    Contributions aux systèmes répartis en environnements ubiquitaires : adaptation, sensibilité au contexte et tolérance aux fautes

    Get PDF
    D'années en années, nous observons l'arrivée sur le marche d'ordinateurs personnels de plus en plus petits pour des utilisateurs de plus en plus nombreux, ainsi des assistants personnels numériques et des objets dits connectés, en passant par les téléphones mobiles. Tous ces dispositifs tendent à être interchangeables du point de vue des ressources en mémoire, en calcul et en connectivité : par exemple, les téléphones mobiles sont devenus des équipements informatiques de moins en moins spécialisés ou de plus en plus universels et font dorénavant office en la matière de portails d'accès aux capteurs présents dans l'environnement immédiat de l'utilisateur. L'enjeu abordé dans nos travaux est la construction de systèmes répartis incluant ces nouveaux dispositifs matériels. L'objectif de mes recherches est la conception des paradigmes d'intermédiation génériques sous-jacents aux applications réparties de plus en plus ubiquitaires. Plus particulièrement, la problématique générale de mes travaux est la définition du rôle des intergiciels dans l'intégration des dispositifs mobiles et des objets connectés dans les architectures logicielles réparties. Ces architectures logicielles reposaient très majoritairement sur des infrastructures logicielles fixes au début des travaux présentés dans ce manuscrit. Dans ce manuscrit, je décris mes travaux sur trois sujets : 1) l'adaptation des applications réparties pour la continuité de service pendant les déconnexions, 2) la gestion des informations du contexte d'exécution des applications réparties pour leur sensibilité au contexte, et 3) les mécanismes de détection des entraves dans les environnements fortement dynamiques tels que ceux construits avec des réseaux mobiles spontanés. Sur le premier sujet, nous fournissons une couche intergicielle générique pour la gestion des aspects répartis de la gestion des déconnexions en utilisant une stratégie d'adaptation collaborative dans les architectures à base d'objets et de composants. Sur le deuxième sujet, nous étudions les paradigmes architecturaux pour la construction d'un service de gestion de contexte générique, afin d'adresser la diversité des traitements (fusion et agrégation, corrélation, détection de situation par apprentissage, etc.), puis nous adressons le problème de la distribution des informations de contexte aux différentes échelles de l'Internet des objets. Enfin, sur le troisième sujet, nous commençons par la détection des modes de fonctionnement pour l'adaptation aux déconnexions afin de faire la différence, lorsque cela est possible, entre une déconnexion et une défaillance, et ensuite nous spécifions et construisons un service de gestion de groupe partitionnable. Ce service est assez fort pour interdire la construction de partitions ne correspondant pas à la réalité de l'environnement à un instant donné et est assez faible pour être mis en oeuvre algorithmiquemen

    An Object-Oriented Event Calculus

    Get PDF
    Despite the rising popularity and usefulness of events, or implicit invocation, in software design, the availability of general-purpose event mechanisms are rare. Further, most event mechanisms available for software design are implemented as libraries or sets of macros that are constrained by the language in which they are used; making such mechanisms inconvenient to use as well as error-prone. Event mechanisms that are part of a programming language can do away with such constraints; thus making events easier to use. However, there a few languages that offer built-in the events and even fewer languages that have a built-in general-purpose event mechanism. In order to promote the study of implicit invocation programming languages, this thesis presents a formal programming language foundation for events. This thesis expands the, object based, imps-caluculus to create a calculus for objects and events, the rws-calculus. The rws-calculus has a formal syntax, semantics, and a sound type system that is useful for defining practical programming languages that include built-in events. This, along with the ability of the calculus to easily simulate many different event mechanisms makes it a good start toward a formal understanding of implicit invocation

    Visuelles Komponieren und Testen von Komponenten am Beispiel von Agenten im elektronischen Handel

    Get PDF
    Die Software-Entwicklung mit Komponenten wird im Laufe der Zeit immer beliebter. Die Komponententechnologie verspricht eine effiziente Software-Entwicklung durch große Zuverlässigkeit und gute Wiederverwendbarkeit. Es fehlt aber noch an Werkzeugen, die die einzelnen Entwicklungsschritte der Komponententechnologie unterstützen. In dieser Arbeit sollen deswegen Werkzeuge zur Unterstützung der komponentenbasierten Software-Entwicklung untersucht werden. Dazu werden Kriterien aufgestellt, die beim Entwickeln von Komponenten, beim Zusammenbauen von Anwendungen und beim Testen bzw. beim Verfolgen des Programmablaufs beachtet werden müssen. Diese werden mit Hilfe von anderen Arbeiten begründet. Der Aspekt einer visuellen Unterstützung und Programmierung wird dabei mit berücksichtigt. Um zu zeigen, daß es möglich ist, anhand dieser Kriterien eine Entwicklungsumgebung zu konstruieren, wird HotAgent vorgestellt. HotAgent ist ein Komponentenentwurfsrahmen, um Agenten für den elektronischen Handel zu konstruieren. HotAgent bietet Werkzeuge zum Entwickeln von Komponenten, zum Zusammenbauen von Anwendungen, zum Testen von Komponenten und zum Verfolgen des Programmablaufs an. HotAgent hält fast alle geforderten Kriterien ein und bietet so die Möglichkeit einer komfortablen und qualitativ hochwertigen Software-Entwicklung mit Komponenten. Die Werkzeuge stellen alle eine graphische Unterstützung neben der visuellen und textuellen Programmierung bereit. Außerdem wird auf eine gute Integration der einzelnen Werkzeuge geachtet

    An interoperability framework for pervasive computing systems

    Full text link
    Communication and interaction between smart devices is the foundation for pervasive computing and the Internet of Things. Pervasive platforms, that support developers in building new services and applications, have been extensively researched in the past. Nowadays, a multitude of heterogeneous pervasive platforms exist. In real-world deployments, this leads to the formation of platform-specific silos. Therefore, the need for interoperability between such platforms arises. This thesis presents a framework which addresses all elaborated issues preventing co-operation between different platforms and allows for extension and customisation of different aspects, including platforms and transformation mechanisms. The framework bases on uniform abstractions that support translations of different features. The transformation model provides an automatic as well as a manual transformation mechanism. For evaluation, a prototype is implemented and assessed, providing support for six distinct platforms. Particularly, the framework’s feasibility is demonstrated with three realistic scenario implementations, an effort evaluation, and a cost evaluation
    corecore