14 research outputs found
Recommended from our members
An Event System Architecture for Scaling Scale-Resistant Services
Large organizations are deploying ever-increasing numbers of networked compute devices, from utilities installing smart controllers on electricity distribution cables, to the military giving PDAs to soldiers, to corporations putting PCs on the desks of employees. These computers are often far more capable than is needed to accomplish their primary task, whether it be guarding a circuit breaker, displaying a map, or running a word processor. These devices would be far more useful if they had some awareness of the world around them: a controller that resists tripping a switch, knowing that it would set off a cascade failure, a PDA that warns its owner of imminent danger, a PC that exchanges reports of suspicious network activity to its peers to identify stealthy computer crackers. In order to provide these higher-level services, the devices need a model of their environment. The controller needs a model of the distribution grid, the PDA needs a model of the battlespace, and the PC needs a model of the network and of normal network and user behavior. Unfortunately, not only might models such as these require substantial computational resources, but generating and updating them is even more demanding. Modelbuilding algorithms tend to be bad in three ways: requiring large amounts of CPU and memory to run, needing large amounts of data from the outside to stay up to date, and running so slowly that can't keep up with any fast changes in the environment that might occur. We can solve these problems by reducing the scope of the model to the immediate locale of the device, since reducing the size of the model makes the problem of model generation much more tractable. But such models are also much less useful, having no knowledge of the wider system. This thesis proposes a better solution to this problem called Level of Detail, after the computer graphics technique of the same name. Instead of simplifying the representation of distant objects, however, we simplify less-important data. Compute devices in the system receive streams of data that is a mixture of detailed data from devices that directly affect them and data summaries (aggregated data) from less directly influential devices. The degree to which the data is aggregated (i.e., how much it is reduced) is determined by calculating an influence metric between the target device and the remote device. The smart controller thus receives a continuous stream of raw data from the adjacent transformer, but only an occasional small status report summarizing all the equipment in a neighborhood in another part of the city. This thesis describes the data distribution system, the aggregation functions, and the influence metrics that can be used to implement such a system. I also describe my current towards establishing a test environment and validating the concepts, and describe the next steps in the research plan
An Overview of Event-based Facades for Modular Composition and Coordination of Multiple Applications
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
Contributions aux systèmes répartis en environnements ubiquitaires : adaptation, sensibilité au contexte et tolérance aux fautes
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
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
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
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