Choose an application
681.3*A0 --- 681.3*C0 --- 681.3*D0 --- 681.3*I0 --- 681.3*I2 --- General --- Computerwetenschap--?*C0 --- Computerwetenschap--?*D0 --- Computerwetenschap--?*I0 --- Artificial intelligence. AI --- 681.3*I2 Artificial intelligence. AI --- 681.3*A0 General
Choose an application
Computer. Automation --- Electronic data processing --- Electronic digital computers --- Problems, exercises, etc --- Programming --- -Science projects --- Computer programming --- -681.3*D0 --- 681.3*J0 --- Computers --- Electronic computer programming --- Programming (Electronic computers) --- Coding theory --- Projects, Science --- School science projects --- Science exhibition projects --- Science fair projects --- Science --- Science fairs --- ADP (Data processing) --- Automatic data processing --- Data processing --- EDP (Data processing) --- IDP (Data processing) --- Integrated data processing --- Office practice --- Computerwetenschap--?*D0 --- Computerwetenschap--?*J0 --- Experiments --- Automation --- Science projects. --- Problems, exercises, etc. --- Science projects --- 681.3*D0 --- Langages de programmation
Choose an application
Programming --- Computer architecture. Operating systems --- Software architecture --- System Design --- Computer architecture --- Computer software --- System design --- 681.3*D0 --- 005.1 --- Design, System --- Systems design --- Electronic data processing --- System analysis --- Software, Computer --- Computer systems --- Architecture, Computer --- Computerwetenschap--?*D0 --- Software architecture. --- System design. --- Architecture, Software --- Computer software architecture --- Architecture --- Design
Choose an application
Programming --- Computer programming --- Programmation (Informatique) --- 681.3*A1 --- 681.3*B0 --- 681.3*C0 --- 681.3*D0 --- Computers --- Electronic computer programming --- Electronic data processing --- Electronic digital computers --- Programming (Electronic computers) --- Coding theory --- Introductory and survey --- Computerwetenschap--?*B0 --- Computerwetenschap--?*C0 --- Computerwetenschap--?*D0 --- 681.3*A1 Introductory and survey
Choose an application
Draadloze communicatie en de steeds groter wordende miniaturisering van computerapparaten, verhoogt de ontwikkeling en het gebruik van zogenaamde mobiele software toepassingen. Mobiele toepassingen voeren uit op knopen die zelf kunnen bewegen, terwijl ze draadloos verbonden blijven met het netwerk. Mobiele toepassingen worden gekenmerkt door (1) hun noodzaak om rekening te houden met hun fysische omgeving, typisch context genoemd; (2) hun noodzaak om om te gaan met dynamiek en onverwachte gebeurtenissen uit hun context. Deze thesis stelt ten eerste twee rogrammeerabstracties voor, views en rollen, die het ontwerpen en implementeren van mobiele toepassingen vergemakkelijken door tegemoet te komen aan de twee bovenstaande noden. Ten tweede, worden twee alternatieve implementatiestrategieën voor een middleware platform dat beide abstracties ondersteunt, voorgesteld en geëvalueerd. Ten derde wordt de bruikbaarheid van beide abstracties nagegaan in een industriële toepassing. De eerste abstractie, een view, is een automatisch onderhouden verzameling van data objecten, die kopieën of representaties zijn van data objecten verkregen van een aantal knopen in het netwerk. De middleware automatiseert het verzamelen van de data objecten van de knopen, en onderhoudt het view terwijl de data objecten en knopen continu veranderen. De tweede abstractie, een rol, bevat het gedrag van een component van de toepassing die deelneemt aan de uitvoering van een protocol. De middleware automatiseert het starten en onderhouden van een sessie van het protocol uitgevoerd tussen een aantal componenten, terwijl de deelnemers aan het protocol omwille van hun mobiliteit continu wijzigen. Twee implementatie strategieën voor een middleware platform ter ondersteuning van beide abstracties worden voorgesteld, respectievelijk voor mobiele en voor mobiele ad hoc netwerken. Beide strategieën worden analytisch en empirisch gevalideerd, om het effect van (soms oncontroleerbare) parameters na te gaan op bandbreedte-verbruik en betrouwbaarheid. De validatie toont aan dat beide implementaties praktisch bruikbaar zijn. De bruikbaarheid van de abstracties wordt nagegaan door ze toe te passen in een controle toepassing voor onbemande voertuigen. De voertuigen moeten automatisch ladingen verplaatsen in een magazijn of fabriek. Uitdagende problemen zoals vermijden van botsingen, vermijden van deadlock, en toewijzen van taken worden met behulp van het middleware platform opgelost. Dit levert sterke aanwijzingen op dat de abstracties en middleware het ontwikkelen van mobiele applicaties vereenvoudigen en versnellen. Wireless communication and increased miniaturisation of computing devices has catalysed the development of so-called mobile applications. Mobile applications are deployed in wireless networks that consist of nodes that can move freely in space. Mobile applications are characterised by (1) their need to take into account their physical environment (usually called context) explicitly; and (2) their need to deal with dynamics and unexpected events originating from their context. This dissertation first proposes two programming abstractions, views and roles, to simplify mobile application development with respect to those two needs. Second, two alternative implementation strategies for middleware that supports the abstractions are designed and evaluated. Third, the abstractions' usability is evaluated in a real world application, automatic guided vehicle control. The first abstraction, a view, is an automatically up-to-date collection of data objects, that are copies or representations of data objects available on a set of nodes in the network. The middleware automates gathering the data objects from a set of nodes, and maintains the view in the face of dynamically changing availability of the data objects. The second abstraction, a role, encapsulates the behaviour of a component of the application engaging in a protocol. The middleware automates the setup and maintenance of an interaction session between a number of participating components in the mobile network, in the face of a continuously changing number of participants. Two implementation strategies for middleware that supports these abstractions are proposed, respectively for mobile and for mobile ad hoc networks. For both approaches, we determine the effect of (sometimes uncontrollable) parameters on their overhead and reliability through analysis and simulation. The results show that both implementations are practically feasible. The usability of the abstractions is verified by applying the middleware in an industrial application: the control of unmanned vehicles to transport loads in warehouse environments. The successful tackling of problems such as collision avoidance, deadlock detection and task assignment in this application provides strong indications that the abstractions and middleware significantly simplify and accelerate mobile application development. Samenwerkende computerprogramma's besturen onbemande voertuigen Door de ontwikkeling van steeds kleiner wordende computers, en geavanceerde draadloze communicatiemogelijkheden, wordt het mogelijk om onbemande voertuigen van allerlei soort te laten besturen door computers. Onbemande voertuigen kunnen bijvoorbeeld worden ingezet om gebieden te verkennen die moeilijk voor mensen bereikbaar zijn, zoals vulkanen en rampgebieden. In industriële toepassingen worden nu al onbemande heftrucks gebruikt in magazijnen en fabrieken om automatisch ladingen te verplaatsen. Het effectief programmeren van zulk een groep onbemande voertuigen is niet makkelijk. Vooral het regelen van de samenwerking tussen voertuigen, die bijvoorbeeld nodig is om botsingen te vermijden, is niet eenvoudig. De voertuigen moeten snel en gepast kunnen reageren op onverwachte omstandigheden, en dit in een snel veranderende omgeving gebruik makende van onbetrouwbare communicatieverbindingen. Deze situatie is moeilijker dan die in een gewoon computernetwerk, waar de computers verbonden zijn door betrouwbare netwerkkabels, en waar de computers op een vaste plaats staan. Dit proefschrift stelt virtueel gereedschap voor dat de programmeur helpt bij het ontwikkelen van samenwerkende computerprogramma's. Het gereedschap automatiseert een aantal repetitieve en arbeidsintensieve taken, zodat de programmeur zich op de interessante problemen kan concentreren. Zo automatiseren we het vergaren van informatie van nabijgelegen voertuigen, en het maken van afspraken tussen een aantal voertuigen. In samenwerking met Egemin NV, gebruiken we het virtueel gereedschap om een software sturing voor een groep onbemande heftrucks te programmeren die ervoor zorgt dat de voertuigen niet met elkaar botsen, elkaar niet vastrijden op kruispunten, en onderling taken kunnen verdelen. Zodoende tonen we aan dat het voorgestelde virtuele gereedschap inderdaad het programmeerwerk vereenvoudigt en versnelt.
681.3*D0 <043> --- Academic collection --- 681.3*D --- 681.3*C --- Software: general--Dissertaties --- Software --- Computer systems organization: hardware/software interfaces; instruction set design; system architectures; systems specification methodology --- Theses --- 681.3*C Computer systems organization: hardware/software interfaces; instruction set design; system architectures; systems specification methodology --- 681.3*D Software
Choose an application
681.3*A0 --- 681.3*C0 --- 681.3*D0 --- 681.3*I2 --- 681.3*J0 --- 681.3*I2 Artificial intelligence. AI --- Artificial intelligence. AI --- 681.3*A0 General --- General --- Computerwetenschap--?*C0 --- Computerwetenschap--?*D0 --- Computerwetenschap--?*J0 --- Conferences - Meetings --- Information Technology --- Computer Science (Hardware & Networks)
Choose an application
Computer programming --- Computer software --- Programming languages (Electronic computers) --- 681.3*A1 --- 681.3*D0 --- 681.3*A1 Introductory and survey --- Introductory and survey --- Computers --- Electronic computer programming --- Electronic data processing --- Electronic digital computers --- Programming (Electronic computers) --- Coding theory --- Computer languages --- Computer program languages --- Computer programming languages --- Machine language --- Languages, Artificial --- Software, Computer --- Computer systems --- Computerwetenschap--?*D0 --- Programming
Choose an application
Programming --- Computer software --- 681.3*D0 --- 681.3*D1 --- 681.3*D2 --- Software: general --- Programming techniques--See also {681.3*E} --- Software engineering: protection mechanisms; standards--See also {681.3*K63}; {681.3*K51} --- 681.3*D2 Software engineering: protection mechanisms; standards--See also {681.3*K63}; {681.3*K51} --- 681.3*D1 Programming techniques--See also {681.3*E} --- Development of computer software --- Software development --- Development
Choose an application
Programming --- Computer science --- 681.3 *C2 --- 681.3*B7 --- 681.3*D0 --- 681.3*F --- 681.3*I1 --- Computer communication networks: data communications; OSI; security and protection --- Integrated circuits (Hardware) --- Computerwetenschap--?*D0 --- Theory of computation --- Algebraic manipulation (Computing methodologies) --- 681.3*I1 Algebraic manipulation (Computing methodologies) --- 681.3*F Theory of computation --- 681.3*B7 Integrated circuits (Hardware) --- 681.3 *C2 Computer communication networks: data communications; OSI; security and protection --- Software engineering. --- Computer science. --- Information theory. --- Software Engineering. --- Programming Techniques. --- Theory of Computation. --- Arithmetic and Logic Structures. --- Communication theory --- Communication --- Cybernetics --- Informatics --- Science --- Computer software engineering --- Engineering --- Electronic data processing. --- Computer software - verification --- Congress --- Congresses
Choose an application
Computer software --- Programming languages (Electronic computers) --- 681.3*D0 --- 681.3*D1 --- 681.3*D2 --- 681.3*D3 --- Computer languages --- Computer program languages --- Computer programming languages --- Machine language --- Electronic data processing --- Languages, Artificial --- Software, Computer --- Computer systems --- Computerwetenschap--?*D0 --- Programming techniques--See also {681.3*E} --- Software engineering: protection mechanisms; standards--See also {681.3*K63}; {681.3*K51} --- Programming languages --- 681.3*D3 Programming languages --- 681.3*D2 Software engineering: protection mechanisms; standards--See also {681.3*K63}; {681.3*K51} --- 681.3*D1 Programming techniques--See also {681.3*E} --- Software engineering --- Proceedings