Listing 1 - 7 of 7 |
Sort by
|
Choose an application
De evolutie van personal computing zoals vooropgesteld in de visie van de Alomtegenwoordige Intelligente Omgevingen (AIO), wordt gekarakteriseerd door een inherent bewustzijn van de omgeving die bestaat uit mensen, verwerkingsapparaten en een veelvoud aan randapparatuur. Dit bewustzijn kan leiden tot intelligent en proactief gedrag ter ondersteuning van de gebruiker, waar die zich ook bevindt. De realisatie van zulke intelligente omgevingen vereist een constellatie van genetwerkte apparaten die met elkaar interageren en vlot samenwerken om zo een naadloze ondersteuning te bieden voor haar gebruikers. Het ontwerp van deze vlot samenwerkende genetwerkte apparaten behoort tot het onderzoeksdomein van Ubiquitous Computing (UbiComp). De bijdrage van het werk dat voorgesteld wordt in deze thesis omvat software-engineering aspecten voor de ondersteuning van een flexibel middleware systeem. Dit middleware systeem laat toe applicatiecomponenten in een UbiComp-omgeving te installeren en deze installatie op een zelf-organiserende manier aan te passen indien de karakteristieken van de omgeving veranderen. Ons onderzoek bestaat uit drie supplementaire paden die elk op hun eigen manier de nadruk leggen op het verbeteren van de installatie van componenten in UbiComp omgevingen. Deze paden zijn: 1) systeembron-bewuste componenten, 2) taakgedreven installatie van componenten en 3) systeembron-gedreven installatie van componenten. De uitwerking van deze drie paden zijn telkens gebaseerd op het Draco componentenraamwerk. UbiComp omgevingen bevatten typisch veel apparaten met beperkte systeembronnen, waardoor een deterministische installatie van componenten complex is. We stellen daarom het concept van systeembron-bewuste componenten voor dat toelaat componenten zelf hun vereiste systeembronnen op een statistische manier te beschrijven. We behandelen twee types systeembron-contracten: geheugencontracten en bandbreedtecontracten. Deze twee systeembronnen zijn essentieel in UbiComp omgevingen omdat het gebruik van deze systeembronnen steeds tegenover elkaar overwogen moeten worden: als het geheugen te beperkt is om applicatiecomponenten te installeren kan geheugen worden aangesproken op nabije apparaten door deze componenten te verplaatsen, maar dit verhoogt het gebruik van bandbreedte tussen deze apparaten. Beide types systeembron-contracten worden gevalideerd door het componentenraamwerk en het gebruik van systeembronnen wordt gecontroleerd tijdens de uitvoer van de applicatie. Onze taakgedreven aanpak voor de installatie van applicatiecomponenten draagt bij aan de kwaliteit en de performantie van de UbiComp omgeving doordat het de aanpassingen aan de installatie van de applicatie op een intelligente manier stuurt. Hiervoor steunt deze aanpak op een model voor de taken die de gebruiker uitvoert. De aanpassingen die door dit model gestuurd worden, zorgen ervoor dat enkel de functionaliteit wordt geïnstalleerd die op elk ogenblik nodig is. Daarenboven stellen we een techniek voor die voorspelt welke componenten er in de nabije toekomst nodig zullen zijn. Indien mogelijke laden we deze componenten al vooraf in, zodat we ervoor zorgen dat de tijdsduur van transities in de applicatie beperkt blijven. Hierdoor ondervindt de gebruiker minder hinder en wordt de applicatie zonder vertragingen aangeboden. Systeembron-gedreven installatie van componenten legt de nadruk op de gedistribueerde installatie van applicatiecomponenten. Apparaten met beperkte systeembronnen voldoen vaak niet om uitgebreide applicaties te ondersteunen. Vandaar dat een verplaatsing van een deel van de appliatiecomponenten naar een naburig genetwerkt apparaat een oplossing kan bieden. Onze aanpak zorgt ervoor dat deze gedistribueerde installatie op een zelf-organiserende manier wordt afgehandeld zodat de gebruiker hier geen of weinig last van ondervindt. We stellen twee mechanismen voor die een geschikte installatieconfiguratie zoeken voor een gegeven applicatie en een gegeven gedistribueerde omgeving; nl. de gecentraliseerde en de gedecentraliseerde aanpak. De gecentraliseerde aanpak zoekt steeds een optimale oplossing. Helaas is deze aanpak traag. De gedecentraliseerde aanpak daartegenover, zoekt een sub-optimale oplossing en werkt hierbij samen met de verschillende apparaten in deze UbiComp omgeving. Het voordeel is dat deze laatste aanpak veel sneller is en ook vlug een nieuwe oplossing kan vinden als er kleine wijzigingen gebeuren aan de systeembronnen uit de omgeving. In the work presented in this thesis, we contribute on software-engineering aspects and on middleware support that enables self-organizing deployment of applications in Ubiquitous Computing (UbiComp) environments. Our research consists of three supplementary tracks that are focused on improving component deployment in UbiComp environments: resource-aware components, task-driven component orchestration and resource-driven component choreography. The three tracks are based on a common component model that is supported by a mature component framework called Draco. UbiComp environments harbor many resource constrained devices that complicate deterministic deployment of components. We propose the concept of resource contracts that allows for components to describe their runtime resource requirements statistically. We deal with two types of resource contracts: memory contracts and bandwidth contracts. They are essential in UbiComp environments because the consumption of these resources needs to be weighted to one another in each deployment problem. We also add the ability to the component framework to validate resource contracts and to monitor consumption of both resources. We contribute a task-driven approach to orchestrate the deployment of a component composition in order to enhance the quality and the performance of the computing environment. Task-driven component orchestration drives the changes in the application's deployment configuration based on a model of the tasks the user is executing. This allows for an economic consumption of resources by only allocating those resources that are currently needed. A technique to predict near-future component deployments is proposed that improves the availability of the application. Resource-driven component choreography focuses on distributed deployment of a component composition. Resource-constrained devices often lack the resources to deploy a whole composition. Outsourcing the composition partially may solve this limitation. We present a centralized and a decentralized self-organizing mechanism to find a component deployment configuration in the local UbiComp environment that respects both the resource limitations and the resource requirements. We evaluate and compare both approaches.
Academic collection --- 681.3*C24 <043> --- Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- Theses --- 681.3*C24 <043> Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties
Choose an application
Dankzij de snelle evolutie van de informatietechnologie in de laatste jaren zijn heel wat industriële processen beter en efficienter geworden. Deze evolutie was enkel mogelijk dankzij de foutloze en onafgebroken werking van talloze computersystemen die in onze huidige maatschappij onmisbaar zijn geworden. Deze systemen worden steeds groter en complexer omdat toepassingspecifieke hardwareoplossingen vervangen worden door meer algemene softwareoplossingen. Omdat de afhankelijkheid van deze computersystemen, die bijvoorbeeld worden gebruikt bij de controle en sturing van het elektriciteitsnetwerk, zo groot is, moeten ze zeer betrouwbaar zijn. In veranderende situaties moet het computersysteem correct blijven functioneren. Omdat het systeem blootgesteld wordt aan wisselende omstandigheden is aanpasbaarheid nodig, enerzijds functionele aanpasbaarheid aan wisselende beschikbare middelen, en anderzijds aanpasbaarheid van de methodes om de betrouwbaarheid op peil te houden. Dit proefschrift onderzoekt de nood om de betrouwbaarheid aan te passen aan variërende omstandigheden in het systeem zoals bijvoorbeeld beschikbare middelen of aan de omgeving. Deze aanpassingen, bijvoorbeeld van de kwaliteit van de diensten of van de foutbestendigheidsgraad, laten toe dat het systeem toch nog functioneert, zij het in mindere mate, wanneer er fouten of veranderingen optreden. Zo kan de applicatie langer overleven. Voor toepassingen in ons domein (controle en sturing in elektrische energie systemen) is deze aanpasbaarheid een belangrijke eigenschap om de diensten van het elektriciteitsnetwerk te garanderen. Deze dissertatie stelt oplossingen voor om de foutbestendigheid en de kwaliteit van de dienst te integreren op middleware-niveau in gedistribueerde dynamische systemen. De belasting van het systeem wordt continu gemeten en het systeem wordt hieraan aangepast. Ook met omgevingsfactoren wordt rekening gehouden om een aanpasbaar foutbestendig en veilig systeem te krijgen. Dit proefschrift bespreekt het verband tussen de vertrouwbaarheid en de geobserveerde parameters. Mogelijke acties die dan op basis van de observaties ondernomen kunnen worden, zijn het herstellen van de gegevens of het herstarten van delen van de applicatie (software rejuvenation). Er wordt een voorbeeldtoepassing van aanpasbare foutbestendigheid besproken in een computergrid, waar reeds veel gebruik gemaakt wordt van deze observatiemethodes. Omdat deze aanpasbare foutbestendigheid zich op metingen baseert, worden hiervan ook de verbanden met de veiligheid bestudeerd. The evolution of computers and information technology during recent decades supplies the means to simplify, improve and reduce costs in industry, transportation and almost all fields of public life. At this point, society is committed to using computing systems, and depends on their correct and continuous operation. Besides this increasing reliance on computing systems, other trends should be mentioned, such as the growing scale and complexity of these systems, and the use of common technologies to replace more expensive dedicated ones. Given these trends, the dependability of underlying computing systems, used in infrastructures such as electric power infrastructure, becomes a key issue. Given the dynamic nature of the computational systems the need for adaptation becomes obvious. Not only functional adaptation (e.g. to available resources), but also the adaptation of dependability means (e.g. fault tolerance) is relevant for (critical) infrastructures. This work is focused on the need for the adaptation of dependability means to the dynamic conditions of the environment (system resources and external environment). Such an adaptation, for instance of fault tolerance and quality-of-service, allows a system to continue to provide services (possible degraded ones), even in the case of faults or changes causing system degradation or alteration of the operational environment. As such, survivability of the system can be attained. Control systems, such as those deployed in the monitoring/control of energy transport and distribution (the target application of this work) need to satisfy requirements for dependability and survivability. The scope of this work is to identify and assess solutions to integrate fault tolerance and quality-of-service support at middleware level in (distributed) dynamic systems. The specific contributions cover the incorporation of environmental conditions in fault tolerance mechanisms at middleware level to attain adaptive fault tolerance of target applications. A mechanism is proposed to integrate load monitoring information in the fault tolerance adaptation mechanism. Aspects related to a monitoring-based approach, such as reliability of data, possible adaptation actions triggered by monitoring (recovery, rejuvenation), and security, are also considered. Due to the extensive use of monitoring in Grid, a case analysis for Grid as target application for adaptive fault tolerance mechanisms is presented. Given the reliance on the monitoring of adaptive techniques, the relationships between adaptive fault tolerance and security requirements are also identified. The evolution of computers and information technology during recent decades supplies the means to simplify, improve and reduce costs in industry, transportation and almost all fields of public life. At this point, society is committed to using computing systems, and depends on their correct and continuous operation. Besides this increasing reliance on computing systems, other trends should be mentioned, such as the growing scale and complexity of these systems, and the use of common technologies to replace more expensive dedicated ones. Given these trends, the dependability of underlying computing systems, used in infrastructures such as electric power infrastructure, becomes a key issue. Given the dynamic nature of the computationalsystems the need for adaptation becomes obvious. Not only functional adaptation (e.g. to available resources), but also the adaptation of dependability means (e.g. fault tolerance) is relevant for (critical) infrastructures. This work is focused on the need for the adaptation of dependability means to the dynamic conditions of the environment (system resources and external environment). Such an adaptation, for instance of fault tolerance and quality-of-service, allows a system to continueto provide services (possible degraded ones), even in the case of faults or changes causing system degradation or alteration of the operational environment. As such, survivability of the system can be attained. Control systems, such as those deployed in the monitoring/control of energy transport and distribution (the target application of this work) need to satisfy requirements for dependability and survivability. The scope of this work is to identify and assess solutions to integrate fault tolerance and quality-of-service support at middleware level in (distributed) dynamic systems. The specific contributions cover the incorporation of environmental conditions in fault tolerance mechanisms at middleware level to attain adaptive fault tolerance of target applications. A mechanism is proposed to integrate load monitoring information in the fault tolerance adaptation mechanism. Aspects related to a monitoring-based approach, such as reliability of data, possible adaptation actions triggered by monitoring (recovery, rejuvenation), and security, are also considered. Due to the extensive use of monitoring in Grid, a case analysis for Grid as target application for adaptive fault tolerance mechanisms is presented. Given the reliance on the monitoring of adaptive techniques, the relationships between adaptive fault tolerance and security requirements are also identified.
681.3*C2 <043> --- 681.3*C24 <043> --- Academic collection --- Computer communication networks: data communications; OSI; security and protection--Dissertaties --- Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- Theses --- 681.3*C24 <043> Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- 681.3*C2 <043> Computer communication networks: data communications; OSI; security and protection--Dissertaties
Choose an application
Een groeiend aantal automatiseringssystemen bestaat uit grote aantallen geografisch verspreide componenten: de onbegrensde systemen. Het toepassen van traditionele gecentraliseerde controle op onbegrensde systemen heeft nadelen. Om deze problemen te vermijden, worden overlay-netwerken - ook peer-to-peer netwerken genoemd - voorgesteld als een gedistribueerde, schaalbare, zelf-organiserende en robuuste alternatieve controle- en data-infrastructuur. De bestaande overlay-netwerken werden echter niet ontworpen voor controle en automatisering en zijn hiervoor dus ook niet geschikt. Daarom worden semantische overlay-netwerken ge"{i}ntroduceerd, die apparaten volgens functionaliteit clusteren. Semantische overlay-netwerken ondersteunen communicatie- en controleprimitieven zoals semantisch routeren, attribuut-gebaseerde resource ontdekking, gossip-gebaseerde data-disseminatie en -aggregatie, etc. Dit wordt ge"{i}llustreerd en ge"{e}valueerd aan de hand van een ontwerp en implementatie van een dergelijk semantisch overlay-netwerk, Agora genaamd. De stijgende aandacht voor het leefmilieu en de vrijmaking van de energiemarkt resulteren in een toenemend aantal gedistribueerde energiebronnen in het elektriciteitsnetwerk, wat op zijn beurt resulteert in een onbegrensd systeem. Autonome elektriciteitsnetwerken, die bestaan uit de gedistribueerde bronnen in een elektriciteitssegment, met elkaar verbonden door een semantisch overlay-netwerk, moeten de toepassing van de semantisch overlay-netwerk oplossing op het elektriciteitsdistributiesysteem evalueren en demonstreren. Autonome elektriciteitsnetwerken implementeren o.a. primaire, secundaire en tertiaire controle. An increasing amount of automation systems are composed of large numbers of geographically dispersed components: unbounded systems. Traditional centralised control systems have drawbacks when applied to unbounded systems. Therefor, overlay networks - more popularly known as peer-to-peer networks - are proposed as a distributed, scalable, self-organising and dependable alternative communication infrastructure to overcome the problems associated with those centralised approaches. As existing overlay networks are not designed and, hence, not suited for control and automation, semantic overlay networks are proposed, which cluster devices based on their functionality. Semantic overlay networks support communication and control primitives such as semantic routing, attribute-based resource discovery, gossipping-based data-dissemination and -aggregation, etc. A design and implementation of a semantic overlay network (named Agora) is proposed and evaluated. Due to environmental concerns and the ongoing liberalisation of the energy market, an increasing amount of distributed resources are installed in the electricity grid, which results in that grid becoming an unbounded system. For evaluation and as demonstration of the proposed semantic overlay network solution, autonomous electricity networks are introduced. These compose of the distributed resources in an electricity segment, interconnected by means of a semantic overlay network, which is employed to realise primary and distributed secondary and tertiary control.
Academic collection --- 681.3*C24 <043> --- 621.316 <043> --- Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- Distribution and regulation of electric energy. Switching. Commutation. Circuit-breaking. Protection--Dissertaties --- Theses --- 621.316 <043> Distribution and regulation of electric energy. Switching. Commutation. Circuit-breaking. Protection--Dissertaties --- 681.3*C24 <043> Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties
Choose an application
Middleware wordt traditioneel gebruikt om de ontwikkeling van gedistribueerde applicaties te vergemakkelijken. Maar de omvang en complexiteit van gedistribueerde applicaties en het onderliggende middleware platform zijn aanzienlijk gegroeid. De groeiende populariteit van nieuwe paradigma’s zoals dienstgeoriënteerde ontwikkeling en het modelleren van bedrijfsprocessen vereisen de mogelijkheid om herbruikbare diensten te configureren om te voldoen aan applicatiespecifieke vereisten. De traditionele middleware architectuur dient uitgebreid te worden met een extra laag die de eenvoudige configuratie van diensten toelaat. Dit onderzoek stelt een policy-gebaseerde aanpak voor om de configuratie van diensten op een hoog niveau mogelijk te maken. Onze "policy-gedreven middleware" breidt de standaard middleware architectuur uit met een extra laag die complexiteit verbergt waar mogelijk en die het ontwikkelen van applicaties vereenvoudigt door ondersteuning te bieden voor het specificeren, valideren en afdwingen van policies. Policies zijn declaratieve statements op een hoger niveau die bepaalde keuzes in het systeem sturen. Onze belangrijkste contributies hebben zich toegespitst op drie dimensies die essentieel zijn in de zoektocht naar praktische oplossingen: (1) een expressieve policy taal die in verschillende contexten en toepassingsdomeinen kan gebruikt worden; (2) de integratie van het afdwingen van policies in de middleware, gebruik makend van verschillende strategieën en technieken; en (3) ondersteuning voor het redeneren over policies op basis van een hybride redeneersysteem. Een laatste contributie om de ontwikkeling van gedistribueerde applicaties te vergemakkelijken is uitgevoerd in de context van bedrijfsprocessen. Huidige talen voor het beschrijven van uitvoerbare bedrijfsprocessen bieden weinig ondersteuning voor het modulariseren van verschillende belangen, waardoor ze moeilijk(er) te verstaan, te onderhouden en te herbruiken zijn. Aspect-georiënteerde softwareontwikkeling is een gekende techniek om de modularisatie van een applicatie te verbeteren door verschillende belangen in aparte modules te specificeren. De Padus taal is een aspect-georiënteerde extensie voor WS-BPEL, een populaire workflow taal voor beschrijven van (web) service composities. Padus is specifiek ontwikkeld om bijkomende belangen van de hoofdfunctionaliteit van een bedrijfsproces te scheiden op basis van aspecten. Deze aspecten kunnen daarna gecombineerd worden met verschillende bedrijfsprocessen, gebruik makend van de statische Padus wever. Deze technologie kan ook gebruikt worden in policy-gedreven middleware om de integratie tussen policies en bedrijfsprocessen te vergemakkelijken. De contributies werden gevalideerd in realistische applicaties uit twee toepassingsdomeinen, namelijk de telecommunicatie en de gezondheidszorg. Middleware has traditionally been used to simplify the development of large-scale, distributed applications. However, the scope and complexity of distributed applications and of the underlying middleware platform has increased considerably. Furthermore, the growing popularity of new paradigms like service-oriented computing and business process management requires the customization of reusable services to match application-specific requirements. There is a need to extend the traditional middleware architecture with an extra layer that (further) hides complexity whenever possible and enables simplified application creation, customization and deployment. This research presents a policy-based approach for supporting the high-level configuration of services, integrated into the middleware platform. Policies are high-level, declarative statements governing choices in the behavior of a system. Our "policy-driven middleware" extends the traditional middleware architecture with an extra layer that hides complexity when possible and enables simplified application development and maintenance by offering the means to express, validate and enforce policies. Our main contributions are related to three dimensions that are essential in the search for practical solutions: (1) an expressive policy language that can be used in different areas and application domains; (2) the integration of policy enforcement in the middleware using different strategies and techniques; and (3) the support for policy reasoning capabilities using a hybrid reasoner. A final contribution to simplify the development of distributed applications is related to the area of business process management. Current business process languages suffer from poor support for separation of concerns, making them hard to understand, update, manage and reuse. Aspect-oriented software development is a well-known technique to improve modularization by allowing crosscutting concerns to be specified in separate modules called aspects. Padus is an aspect-oriented extension to WS-BPEL – a popular workflow language in the context of (web) service composition – that supports the separation of additional concerns from the main process functionality using aspects. These aspects can be applied to specific business processes using the static Padus weaver. This technology can also be used in our policy-driven middleware as a powerful candidate for integrating policies with business processes. Contributions have been validated in real-world applications in the domain of a telecom service delivery platform and a cross-enterprise healthcare informatics platform.
Academic collection --- 681.3*H <043> --- 681.3*C24 <043> --- Information systems--Dissertaties --- Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- Theses --- 681.3*C24 <043> Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- 681.3*H <043> Information systems--Dissertaties
Choose an application
Gedistribueerde controle applicaties zijn softwaresystemen die ontworpen zijn om de werking van verschillende gedistribueerde machines te controleren en coördineren. Een voorbeeld van een gedistribueerde controle applicatie is een softwaresysteem om productiemachines in een fabrieksomgeving te controleren. De omgeving van een gedistribueerde controle applicatie is typisch dynamisch. In een dynamische omgeving veranderen de werkingsomstandigheden van de controle applicatie voortdurend. Bijvoorbeeld, dynamiek in een fabrieksomgeving omvat het toekomen van nieuwe materialen, de werking van andere machines, voertuigen of mensen, etc. Het is essentieel dat een gedistribueerde controle applicatie rekening houdt met de omgeving waarin ze zich bevindt. Simulatie is essentieel voor de ontwikkeling van gedistribueerde controle applicaties. Simulatie biedt een veilige en kosteneffectieve manier om het gedrag van een gedistribueerde controle applicatie te bestuderen, te evalueren of te configureren in een gesimuleerde omgeving, voordat die applicatie in gebruik genomen wordt in de echte wereld. In dit proefschrift ligt de nadruk op software-in-de-lus simulatie van gedistribueerde controle applicaties in dynamische omgevingen. Software-in-de-lus simulatie betekent dat de software van een echte gedistribueerde controle applicatie ingebed wordt in de simulatie. Met andere woorden: de controle software zelf maakt deel uit van de simulatie-lus. Bestaande aanpakken om deze familie van simulaties te ondersteunen, maken gebruik van (1) ofwel generische modelleringsconcepten die formeel onderbouwd zijn, maar die geen ondersteuning bieden die specifiek gericht is op deze familie van simulaties, (2) ofwel informele abstracties die specifieke ondersteuning bieden voor deze familie van simulaties, maar waarvan de betekenis gekoppeld is met de implementatie van een bepaald simulatieplatform. We stellen een formeel onderbouwd modelleringsraamwerk voor ter ondersteuning van software-in-de-lus simulaties van gedistribueerde controle applicaties in dynamische omgevingen. De concepten van het modelleringsraamwerk bieden specifieke ondersteuning voor deze familie van simulaties. Bovendien zijn de modelleringsconcepten formeel onderbouwd. Dit is cruciaal om een simulatiemodel te ontkoppelen van het simulatieplatform om het model uit te voeren. Het modelleringsraamwerk beschrijft de kernkarakteristieken van deze familie van simulaties op een expliciete manier. Het modelleringsraamwerk omvat een omgevingsdeel en een controle applicatiedeel. Het omgevingsdeel omvat modelleringsconcepten voor het beschrijven van dynamische omgevingen. Deze modelleringsconcepten beschrijven (1) de structuur van de omgeving, (2) dynamiek in de omgeving, (3) de manier waarop dynamiek beïnvloed wordt door de verschillende bronnen van dynamiek, en (4) de manier waarop interactie van dynamiek mogelijk is. Het controle applicatiedeel omvat modelleringsconcepten om de controle software van een gedistribueerde controle applicatie te integreren in een simulatie. Deze modelleringsconcepten beschrijven (1) de uitvoeringstijd van de controle software, en (2) de interface van de controle software met de omgeving. Ter validatie van het modelleringsraamwerk, hebben we een simulatieplatform ontwikkeld dat de modelleringsconcepten ondersteunt in een uitvoerbare simulatie. Tevens hebben we de modelleringsconcepten toegepast in een simulator voor een industriële toepassing, meer bepaald een gedistribueerde controle applicatie om onbemande voertuigen te controleren in een fabrieksomgeving. De simulator omvat een simulatiemodel dat ontkoppeld is van het simulatieplatform om het uit te voeren. Dit vergemakkelijkt het aanpassen van het simulatiemodel, wat essentieel is om uiteenlopende functionaliteiten van de gedistribueerde controle applicatie te kunnen evalueren. Distributed control applications are software systems designed to coordinate and control the operation of several distributed devices. An example of a distributed control application is a software system that controls production machines in a manufacturing environment. The environment in which a distributed control application operates is typically dynamic. In a dynamic environment the operating conditions of the control application are continuously changing. For example, in a manufacturing environment new materials and product orders may arrive; other machines, vehicles and/or humans are operating, etc. It is essential that a distributed control application takes into account the dynamic environment in which it operates. Simulation is imperative for the development of distributed control applications. Simulation offers a safe and cost-effective way for studying, evaluating and configuring the behavior of a distributed control application in a simulated environment before it is deployed in the real world. In this dissertation, we focus on software-in-the-loop simulation of distributed control applications in dynamic environments. Software-in-the-loop simulation means that the software of the real distributed control application is embedded in the simulation, i.e. the control software itself is part of the simulation loop. Existing approaches to support this family of simulations either rely on (1) general-purpose modeling constructs that are formally specified, but offer no support specifically targeted at this family of simulations, or on (2) informal abstractions that offer support specifically targeted at this family of simulations, but of which the meaning is implicit and coupled to the implementation of a particular simulation platform. We put forward a formally founded modeling framework for software-in-the-loop simulations of distributed control applications in dynamic environments. The constructs of the modeling framework offer support that is specifically aimed at this family of simulations. Moreover, the modeling constructs are formally specified, which is crucial to decouple the simulation model from the simulation platform to execute the model. The modeling framework captures core characteristics of this family of simulations in a first-class manner. The modeling framework comprises an environment part and a control application part. The environment part offers special-purpose modeling constructs for dynamic environments. These modeling constructs capture (1) the structure of the environment, (2) dynamism in the environment, (3) the way dynamism is affected by the sources of dynamism and (4) the way dynamism can interact. The control application part offers special-purpose modeling constructs for integrating the software of a real distributed control application in the simulation model. These modeling constructs capture (1) the execution time of the control software and (2) the interface of the control software for interacting with the environment. To validate the modeling constructs, we developed a simulation platform that supports the constructs in an executable simulation, and we used the constructs to underpin a simulator for an industrial case, i.e. a distributed control application controlling unmanned vehicles in a warehouse environment. The simulator comprises a simulation model that is decoupled from the simulation platform to execute it. This enables customizing the simulation model, which is paramount to support the study and evaluation of different functionalities of the distributed control application. Een gedistribueerde controle applicatie is een softwaresysteem dat dient om de werking van verschillende machines te controleren en coördineren. Een voorbeeld van een gedistribueerde controle applicatie is een softwaresysteem om productiemachines in een fabrieksomgeving aan te sturen. De omgeving waarin een gedistribueerde controle applicatie moet werken, is typisch dynamisch. In een dynamische omgeving veranderen de werkingsomstandigheden van de controle applicatie voortdurend. Bijvoorbeeld, dynamiek in een fabrieksomgeving omvat het toekomen van nieuwe materialen, de werking van andere machines, voertuigen of mensen, etc. In dit proefschrift ontwikkelden we een aanpak om de software die de echte machines aanstuurt, in te pluggen in een gesimuleerde omgeving. Dit maakt het mogelijk om een gedistribueerde controle applicatie op een veilige manier te testen in een virtuele wereld, voordat die applicatie in gebruik genomen wordt in de echte wereld. We hebben de aanpak gevalideerd in een industriële toepassing, meer bepaald om de software te testen van onbemande voertuigen in een fabrieksomgeving. Distributed control applications are software systems designed to coordinate and control the operation of several machines. An example of a distributed control application is a software system that controls production machines in a manufacturing environment. The environment in which a distributed control application operates is typically dynamic. In a dynamic environment the operating conditions of the control application are continuously changing. For example, in a manufacturing environment new materials and product orders may arrive; other machines, vehicles and/or humans are operating, etc. In this dissertation, we developed an approach to embed the software of the real machines in a virtual environment. This enables testing a distributed control application safely in a virtual world, before it is deployed in the real world. We validated our approach in an industrial case, i.e. for testing the software of unmanned vehicles in a manufacturing warehouse.
681.3*I6 <043> --- 681.3*C24 <043> --- 681.3*D2 <043> --- Academic collection --- 681.3*D2 <043> Software engineering: protection mechanisms; standards--See also {681.3*K63}; {681.3*K51}--Dissertaties --- Software engineering: protection mechanisms; standards--See also {681.3*K63}; {681.3*K51}--Dissertaties --- 681.3*C24 <043> Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- 681.3*I6 <043> Simulation and modeling (Computing methodologies)--See also {681.3*G3}--Dissertaties --- Simulation and modeling (Computing methodologies)--See also {681.3*G3}--Dissertaties --- Theses
Choose an application
Omwille van de steeds vernieuwende ontwikkelingen op het gebied van draadloze communicatie en sensor technologie hebben sinds de jaren '90 contextgedreven toepassingen meer en meer aandacht gekregen en dit heeft geleid tot nieuwe computing paradigma's die luisteren naar de namen Ubiquitous and Pervasive Computing en Ambient Intelligence. Nieuwe applicaties zijn op de hoogte van de context van hun gebruiker en passen zich hieraan automatisch aan. Men zegt dat dergelijke applicaties contextbewust zijn. Hiermee bedoelt men dat dergelijke applicaties relevante informatie over de situatie van de gebruiker en zijn omgeving gebruiken, zoals zijn huidige locatie en tijdstip, maar ook de activiteiten die op dat ogenblik uitgevoerd worden en gebruikersvoorkeuren die hier aan gekoppeld zijn.De ontwikkeling van contextbewuste applicaties die draaien in zeer dynamische omgevingen en die zich aanpassen aan de veranderende behoeften van de gebruikers, blijft een complexe en foutgevoelige taak. Om deze situatie te verhelpen, is dit proefschrift gericht op het verstrekken van middleware ondersteuning voor de ontwikkeling van contextbewuste applicaties in een Ambient Intelligence (AmI) omgeving. De voornaamste doelstellingen zijn het verschaffen van modelleerabstracties voor contextinformatie en toepassingen, en middleware ondersteuning voor het behandelen van contextinformatie en het aanpassen van applicaties aan deze context. Door het beheer van contextinformatie te delegeren naar de middleware verminderen we de ontwikkeltijd die nodig is om contextbewust gedrag door de applicatie te realiseren.Het proefschrift bevat verscheidene onderzoeksbijdragen. Ten eerste, omdat contextbewuste toepassingen informatie nodig hebben om hun gedrag te bepalen en om te beslissen met wie samen te werken, presenteert deze thesis abstracties om context te modelleren zodat elke applicatie deze op dezelfde manier interpreteert. Deze abstracties omvatten semantische, ruimtelijke, temporele aspecten en eveneens manieren om contextambiguiteit uit te sluiten. Ten tweede voorzien we middleware-ondersteuning die gemeenschappelijke functionaliteit implementeert voor het beheren en verwerken van contextinformatie. Het encapsuleert deze functies als modulaire bouwstenen die kunnen worden geactiveerd wanneer deze nodig zijn. Deze bouwstenen zijn verantwoordelijk voor de verwerving van de contextinformatie uit verschillende bronnen, de verwerking en de persistentie ervan. Ten derde leveren we ondersteuning voor contextgedreven aanpassing van mobiele diensten gebaseerd op modelleerabstracties die zowel functionele als niet-functionele aspecten van contextbewuste applicaties beschrijven. Ten vierde presenteert dit proefschrift algoritmen en protocollen om contextinformatie te distribueren van en naar relevante toepassingen die actief zijn in mobiele ad-hoc netwerken, evenals mechanismen voor de contextgedreven ontdekking, selectie en het gebruik van externe applicaties. Door het delen van contextinformatie in het netwerk kunnen externe toepassingen profiteren van de context die zij zelf niet kunnen waarnemen.Het proefschrift presenteert real-world toepassingen en case studies die de implementatie van de middleware en de onderliggende algoritmen en mechanismen evalueren, en die het proces en de problemen in verband met het ontwerpen van contextbewuste toepassingen illustreren.
681.3*C3 <043> --- 681.3*C24 <043> --- 681.3*H4 <043> --- Academic collection --- 681.3*C24 <043> Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- 681.3*C3 <043> Special-purpose and application-based systems: microprocessor/microcomputer; process control-, real-time, signal processing systems (Computer systems organization)--See also {681.3*J7}--Dissertaties --- Special-purpose and application-based systems: microprocessor/microcomputer; process control-, real-time, signal processing systems (Computer systems organization)--See also {681.3*J7}--Dissertaties --- Computer science--Information systems applications (GIS etc.)--Dissertaties --- Theses
Choose an application
Moderne gedistribueerde systemen hebben meer en meer een verweven netwerkstructuur (v.b. ad-hoc netwerken, transport systemen, enz.). Verschillende subsystemen zijn afhankelijk van elkaar en interageren met elkaar op verschillende, complexe, dynamische, en onvoorspelbare manieren. Meer en meer systemen hebben ook een volledig gedecentraliseerde structuur en moeten hun vereisten op een autonome manier bereiken. Een veelbelovende aanpak is gebruik te maken van een groep van agenten die samenwerken om het gewenste globaal of macroscopische systeemgedrag te bereiken door enkel gebruik te maken van lokale interacties, locale agent activiteiten, en lokaal verworven informatie. Dergelijke multi-agentsystemen hebben een zelf-organiserend emergent gedrag. Bij het ontwikkelen van zelf-organiserende emergente multi-agent systemen is het praktisch onhaalbaar om op een analytische wijze het microscopische gedrag voor de individuele agenten af te leiden uit het vereiste macroscopische gedrag. De oorzaak hiervan is het feit dat er geen enkele globale of centrale controle gebruikt wordt en dat het probleemoplossende vermogen komt uit complexe, dynamische, en onvoorspelbare microscopische interacties. Als gevolg is er ook geen ontwikkelingsproces beschikbaar dat toelaat om op een systematische manier het gewenste macroscopische gedrag te specifiëren, hieruit de nodige gedragingen halen voor individuele agenten, het systeem te bouwen, en te verifiëren om garanties te geven over het vereiste gedrag. Nochtans zijn zelf-organiserende emergente multi-agent systemen enkel aanvaardbaar in een industriële situatie als er ondersteuning bestaat voor een systematisch ontwerp, en vooral ondersteuning voor verificatie om dergelijke garanties te kunnen geven. De bijdrage van dit eindwerk is tweeledig. Een eerste bijdrage is een gedetailleerde studie van een numerieke verificatietechniek die veelbelovend is om garanties te geven over het macroscopische gedrag, namelijk Vergelijkingsvrije Macroscopische Analyse. De resultaten geven aan dat zelfs voor een aanpak die zich specifiek richt op het macroscopische gedrag er redelijk wat praktische en meer fundamentele beperkingen zijn opdat de aanpak toepasbaar is voor realistische toepassingen. Geen enkele verificatietechniek is toepasbaar om elk type macroscopisch gedrag te analyseren. Een tweede bijdrage is een aanpassing van het unified proces voor het ontwikkelen van zelf-organiserende emergente toepassingen. Meer specifiek bespreken we hoe een geschikte verificatietechniek geïntegreerd kan worden in het ontwikkelingsproces, en werken we twee technieken uit die ondersteuning bieden voor het ontwerp. Deze twee technieken richten zich specifiek op waar het probleemoplossend vermogen moet zitten: coördinatie en interacties in het systeem. Een eerste techniek is een ontwerppatronencatalogus van gedecentraliseerde coördinatiemechanismen. De tweede techniek is een modelleringsaanpak die de focus legt op het ontwerp van informatiedistributie in het systeem door middel van informatiestromen. De evaluatie van de vergelijkingsvrije macroscopische analysetechniek en de validatie van de ontwerptechnieken werd gedaan in twee toepassingen: automated guided vehicle (AGV) transportsystemen en applicatie waarin gegevens gegroepeerd moeten worden volgens gelijkenis. Het is duidelijk dat een puur systematisch proces of stappenplan onmogelijk is om op een analytische manier de juist microscopische algoritmen af te leiden voor een vereist macroscopisch gedrag. Ondanks dat is er nog steeds nood aan een proces om ontwikkelaars te begeleiden. De bijdragen van dit doctoraatswerk resulteren in een pragmatische aanpak op basis van een gekend ontwikkelingsproces. Dit proces is aangepast om een ontwikkelaar te ondersteuning bij het op een creatieve manier ontwerpen van een aanvaardbare oplossing. Vergelijkingsvrije macroscopische analyse is moeilijk toepasbaar om dergelijke oplossingen te verifiëren maar laat wel toe om iteratief feedback te geven om het ontwerp aan te passen en te verbeteren. Modern distributed systems exhibit an increasingly interwoven structure (e.g. ad-hoc networks, transportation systems, etc.). Different subsystems depend on and interact with each other in many, often very complex, dynamic, and unpredictable ways. Also, more and more systems require and exhibit a completely decentralised structure and need to achieve their requirements autonomously. A promising approach is to use a group of agents that cooperate to achieve the required system-wide or macroscopic behaviour using only local interaction, local agent activities, and locally obtained information. Such multi-agent systems exhibit self-organising emergent behaviour. When engineering self-organising emergent multi-agent systems, it is practically infeasible to analytically derive the microscopic behaviours for the individual agents when given the required macroscopic behaviour. The main reason is the lack of any global control and that the problem-solving power resides in complex, dynamic and often unpredictable microscopic interactions. As a consequence, no engineering process exists which allows to systematically specify desirable macroscopic behaviour, map this to the behaviours of individual agents, build the system, and verify it to guarantee the required behaviour. However, self-organising emergent multi-agent systems will only be acceptable in industry if there exists support for a systematic design, and especially support for verification to give guarantees about the macroscopic behaviour. The contribution of this thesis is twofold. A first contribution is a detailed study of a numerical verification technique that appears to be promising for giving guarantees about the macroscopic behaviour, i.e. Equation-free Macroscopic Analysis. The results indicate that even the applicability of an approach specifically targeted at macroscopic behaviour is limited by a number of practical and more fundamental issues. Not one verification technique can be applied to analyse every type of macroscopic behaviour. Secondly, we propose to adopt the unified process for engineering self-organising emergent applications by the integration of a suitable verification approach to iteratively guide the process to the required behaviour, and design support explicitly targeted at coordination and interaction as the problem-solving source. The design is supported by two techniques. A first technique is a design pattern catalogue of decentralised coordination mechanisms. A second technique is a modelling approach focussed at designing coordination through appropriate information distribution with information flows. Evaluation of the equation-free macroscopic analysis technique and validation of the design support is done in two main case studies: an automated guided vehicle (AGV) transportation system and a document clustering application. It is clear that a purely systematic process or step plan to analytically derive the correct microscopic behaviours for a required macroscopic behaviour is infeasible. Nevertheless, a process is needed to guide engineers. The contributions of this thesis allow for a pragmatic approach based on an existing well-known process. The process is customised to support the engineer in creatively designing an acceptable solution. Equation-free macroscopic analysis is hard to use for verifying these solutions, but allows to iteratively provide feedback to adapt and improve the design. Het onderzoek beschouwt autonome en gedecentraliseerde software-oplossingen waarbij men dikwijls inspiratie haalt uit natuurlijke fenomenen (v.b. mieren die voedsel zoeken met feromonen, marktmechanismen, enz.). Dit zijn zelf-organiserende emergente oplossingen. Enerzijds gaat het onderzoek over het aanbieden van ondersteuning voor het ontwerpen en ontwikkelen van dergelijke oplossingen. Anderzijds resulteerde het onderzoek een gedetailleerde studie van de numerieke analysetechniek "Vergelijksvrije Macroscopische Analyse". Deze techniek spitst zich expliciet toe op het analyseren van het gedrag van bovenvermelde oplossingen maar blijkt in praktijk moeilijk toepasbaar te zijn op meer complexe en realistische toepassingen. This thesis considers autonomous and decentralised software solutions which are often inspired by phenomena in nature (e.g. ants foraging for food using pheromones, market mechanisms, etc.). Such solutions are called self-organising emergent solutions. On the one hand the research offers support to design and engineer such solutions. On the other hand the research resulted in a detailed study of the numerical analysis technique called "Equation-Free Macroscopic Analysis". This technique focusses explicitly on analysing the behaviour of self-organising emergent solutions but in practice it appear to be hard to apply it on more complex and engineered cases.
Academic collection --- 681.3*D2 <043> --- 519.63 <043> --- 681.3*I6 <043> --- 681.3*C24 <043> --- Software engineering: protection mechanisms; standards--See also {681.3*K63}; {681.3*K51}--Dissertaties --- Numerical methods for solution of partial differential equations--Dissertaties --- Simulation and modeling (Computing methodologies)--See also {681.3*G3}--Dissertaties --- Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- Theses --- 681.3*C24 <043> Distributed systems: distributed databases; distributed applications; networkoperating systems--Dissertaties --- 681.3*I6 <043> Simulation and modeling (Computing methodologies)--See also {681.3*G3}--Dissertaties --- 519.63 <043> Numerical methods for solution of partial differential equations--Dissertaties --- 681.3*D2 <043> Software engineering: protection mechanisms; standards--See also {681.3*K63}; {681.3*K51}--Dissertaties
Listing 1 - 7 of 7 |
Sort by
|