Resilient Partitioning of Pervasive Computing Services

Size: px
Start display at page:

Download "Resilient Partitioning of Pervasive Computing Services"

Transcription

1 Resilient Partitioning of Pervasive Computing Services Engineer Bainomugisha Promotor: Prof. Dr. Wolfgang De Meuter Advisors: Jorge Vallejos Elisa Gonzalez Boix Programming Technology Lab Vrije Universiteit Brussel Brussels, Belgium Master Thesis, Defense 08 Sept. 2008

2 Pervasive Computing Environment Computational power is available everywhere (Weiser, 1993) User 2

3 Partitioning of Pervasive Computing Services Scenario: Hotel s Ambient Services Hotel room Laptop Hi-Fi system Ambient music player Guest music library 3

4 Partitioning of Pervasive Computing Services An application can be decomposed to run on multiple devices Ambient music player Hotel room music library Laptop Hi-Fi system Runtime Application Partitioning User Controlled Application Partitioning 4

5 Partitioning of Pervasive Computing Services Applications (whole or part) are not constrained to run on one device Ambient music player Hotel room Laptop music library Hi-Fi system Retractable Application Partitioning 5

6 Partitioning of Pervasive Computing Services Hotel room Laptop Hi-Fi system Ambient music player music library 6 Resilient to Network Failures

7 Resilient Service Partitioning Runtime Application Partitioning User Controlled Application Partitioning Retractable Application Partitioning Resilient to Network Failures 7

8 Survey of Related Work for Service Partitioning Runtime Partitioning Object-oriented partitioning User Controlled Retractable Resilient to Network Failures J-Orchestra (compilation) (programmer) Addistant (compilation) (programmer) JavaParty Doorastha (load-balancing) (runtime system) Component-oriented and agent-oriented partitioning Coign (compilation) (algorithm) AdJava (load-balancing) Hydra 8

9 Resilient Actor Model A resilient actor: is a modular encloses application functionality is active has its own thread of execution defines elastic bindings to other resilient actors 9

10 Resilient Actor Model A resilient actor: is a modular encloses application functionality is active has its own thread of execution defines elastic bindings to other resilient actors Two partitioning operations: Stretch: moves the resilient actor from one device to another Retract: moves the stretched actor back to original device 10

11 Resilient Actor Model A resilient actor: is a modular encloses application functionality is active has its own thread of execution defines elastic bindings to other resilient actors Two partitioning operations: Stretch: moves the resilient actor from one device to another Retract: moves the stretched actor back to original device Resilient Strategies: that specify different behaviors of the partitioning operations 11

12 Service Partitioning Ambient music player Objects Local references 12

13 Service Partitioning ambient music player Resilient actor Elastic binding music library Keyboard Local resources 13

14 Service Partitioning. ambient music player Hi-Fi system music library Stretch Keyboard 14

15 Manual Retraction. ambient music player Hi-Fi system music library Keyboard 15

16 Manual Retraction. ambient music player Hi-Fi system music library Retract Keyboard 16

17 Manual Retraction. ambient music player Hi-Fi system music library Keyboard 17

18 Automatic Retraction. ambient music player Hi-Fi system Retract music library Keyboard 18

19 Automatic Retraction. ambient music player Hi-Fi system music library Keyboard 19

20 Resilient Strategies. Stretch and Retract operations can have different implementations ambient music player Hi-Fi system [Rebind Strategy] [Copy Strategy] [Move Strategy] music library Keyboard [Standstill Strategy] 20

21 Resilient Strategies. Propagation: Partitioning operations proceed through elastic bindings ambient music player Hi-Fi system Stretch [Rebind Strategy] [Copy Strategy] [Move Strategy] music library Keyboard [Standstill Strategy] 21

22 Stretch Operation with Move Strategy. ambient music player Hi-Fi system [Move Strategy] music library Copy of Keyboard 22

23 Retract Operation with Move Strategy. ambient music player Hi-Fi system Retract [Move Strategy] music library Copy of Keyboard 23

24 After Retract Operation with Move Strategy. ambient music player Hi-Fi system [Move Strategy] music library Keyboard 24

25 Stretch Operation with Copy Strategy. ambient music player Laptop [Copy Strategy] Copy of music library music library [Move Strategy] Keyboard 25

26 Retract Operation with Copy Strategy. ambient music player Laptop Retract [Copy Strategy] Copy of music library music library [Move Strategy] Keyboard 26

27 After Retract Operation with Copy Strategy. ambient music player Laptop [Copy Strategy] music library [Move Strategy] Keyboard 27

28 Stretch Operation with Rebind Strategy. ambient music player Laptop [Rebind Strategy] music library Another resilient actor providing same service [Copy Strategy] [Move Strategy] Keyboard Keyboard 28

29 Retract Operation with Rebind Strategy. ambient music player Laptop Retract [Rebind Strategy] music library Another resilient actor providing same service [Copy Strategy] [Move Strategy] Keyboard Keyboard 29

30 After Retract Operation with Rebind Strategy. ambient music player Laptop [Rebind Strategy] music library Another resilient actor providing same service [Copy Strategy] [Move Strategy] Keyboard Keyboard 30

31 Resolution of Strategies Resilient strategies can be defined on resilient actors and elastic bindings ambient music player [Rebind Strategy] [Move Strategy] 31

32 Resolution of Strategies Resilient strategies can be defined on resilient actors and elastic bindings ambient music player Which resilient strategy will be applied? [Rebind Strategy] [Move Strategy] 32

33 Resolution of Strategies Resilient strategies can be defined on resilient actors and elastic bindings ambient music player Which resilient strategy will be applied? [Rebind Strategy] Resilient strategy on elastic binding standstill Resilient strategy on the resilient Actor {move, copy, rebind, standstill} rebind {move, copy, rebind, standstill} move {move, copy, rebind, standstill} [Move Strategy] copy {move, copy, rebind, standstill} 33

34 Resilient Actors in AmbientTalk AmbientTalk: Actor-based language for pervasive computing (Van Cutsem et. al, 2007) Mechanisms for handling network failures We extend AmbientTalk with four language constructs for resilient partitioning: actor: resilientas: and bindto: resilientas: stretch: and retract: 34

35 Resilient Actors in AmbientTalk (cont d) Implementation of the ambient music player using the resilient actor model ambientmusicplayer A Definition of a resilient actor def musiclibrary := actor: {.} resilientas: [copy]; def := actor: { } resilientas: [standstill]; B C musiclibrary def ambientmusicplayer := actor: { def thecontroller := bindto: resilientas: [move];. } resilientas: [standstill]; A def := actor: {, musiclibrary deftype musiclibraryservice; B def theaudio := bindto: resilientas: [standstill]; C def themusiclib := bindto: musiclibrary resilientas: [rebind(musiclibraryservice)]; } resilientas: [move]; 35

36 Resilient Actors in AmbientTalk (cont d) Implementation of the ambient music player using the resilient actor model ambientmusicplayer A Definition of a resilient actor def musiclibrary := actor: {.} resilientas: [copy]; def := actor: { } resilientas: [standstill]; B C musiclibrary def ambientmusicplayer := actor: { def thecontroller := bindto: resilientas: [move];. def cellphone := actor: {.}; } resilientas: [standstill]; A ambientmusicplayer <- stretch: cellphone; def := actor: {, musiclibrary deftype musiclibraryservice; def theaudio := bindto: resilientas: [standstill]; def themusiclib := bindto: musiclibrary resilientas: [rebind(musiclibraryservice)]; B C } resilientas: [move]; 36

37 Implementation of Resilient Actors Resilient Actor mirror Resilient actor s behavior Meta Level nil object Base Level Resilient actor s behavior mirror Resilient strategy Meta Level Base Level isolate object encapsulating behavior 37

38 Implementation of Elastic Binding mirror Strategy object Base Level Meta Level Resilient Actor 38

39 Extensible Implementation New Resilient Strategies by Extension e.g. Proactive state replication as an extension of the copy strategy def replicationstrategy := extend: copystrategy with: { def stretch: location { super^stretch: location; whenever: seconds(10) elapsed: { //update resilient actor state }; }; } 39

40 Requirements and Solution Revisited Runtime Application Partitioning Resilient Actors User Controlled Application Partitioning Stretch Operation Retractable Application Partitioning Retract Operation Resilient to Network Failures Automatic Retraction 40

41 Future Work Identifying more Resilient Strategies Context-Dependent Selection of Resilient Strategies Integration with Service Discovery Applying the resilient actor model to large pervasive applications 41

42 Conclusion Need for Resilient Partitioning of Pervasive Computing Services The Resilient Actor Model Resilient actors Elastic bindings Resilient strategies Extensible Implementation (Resilient Strategies) 42

AmbientTalk: Object-oriented Event-driven programming in Mobile Ad hoc Networks

AmbientTalk: Object-oriented Event-driven programming in Mobile Ad hoc Networks AmbientTalk: Object-oriented Event-driven programming in Mobile Ad hoc Networks Tom Van Cutsem Stijn Mostinckx Elisa Gonzalez Boix Jessie Dedecker Wolfgang De Meuter Programming Technology Lab Vrije Universiteit

More information

Context-Aware Leasing for Mobile Ad hoc Networks

Context-Aware Leasing for Mobile Ad hoc Networks Context-Aware Leasing for Mobile Ad hoc Networks Elisa Gonzalez Boix, Jorge Vallejos, Tom Van Cutsem, Jessie Dedecker, and Wolfgang De Meuter Programming Technology Lab Vrije Universiteit Brussel, Belgium

More information

AmbientTalk: Object-oriented Event-driven programming in Mobile Ad hoc Networks

AmbientTalk: Object-oriented Event-driven programming in Mobile Ad hoc Networks AmbientTalk: Object-oriented Event-driven programming in Mobile Ad hoc Networks Tom Van Cutsem Programming Technology Lab Vrije Universiteit Brussel Brussels, Belgium LAMP - EPFL, July 25th 2007, Lausanne

More information

Towards a Domain-Specific Aspect Language for Leasing in Mobile Ad hoc Networks

Towards a Domain-Specific Aspect Language for Leasing in Mobile Ad hoc Networks Towards a Domain-Specific Aspect Language for Leasing in Mobile Ad hoc Networks Elisa Gonzalez Boix Thomas Cleenewerk Jessie Dedecker Wolfgang De Meuter Programming Technology Lab Vrije Universiteit Brussel

More information

Linguistic Symbiosis between Actors and Threads

Linguistic Symbiosis between Actors and Threads Linguistic Symbiosis between s and Threads Tom Van Cutsem Stijn Mostinckx Wolfgang De Meuter Programming Technology Lab Vrije Universiteit Brussel Brussels, Belgium International Conference on Dynamic

More information

Ambient Clouds: Reactive Asynchronous Collections for Mobile Ad Hoc Network Applications

Ambient Clouds: Reactive Asynchronous Collections for Mobile Ad Hoc Network Applications Ambient Clouds: Reactive Asynchronous Collections for Mobile Ad Hoc Network Applications Kevin Pinte, Andoni Lombide Carreton, Elisa Gonzalez Boix, and Wolfgang De Meuter Software Languages Lab, Vrije

More information

Ambient-Oriented Programming

Ambient-Oriented Programming Ambient-Oriented Programming Designing an Object-Oriented Language for Ambient Intelligence Dr. Éric Tanter University of Chile DCC/CWR etanter@dcc.uchile.cl Presented at the JCC 2005. (c) E. Tanter, All

More information

Pervasive Communication: The Need for Distributed Context Adaptations

Pervasive Communication: The Need for Distributed Context Adaptations Pervasive Communication: The Need for Distributed Context Adaptations Jorge Vallejos, Brecht Desmet, Pascal Costanza, Wolfgang De Meuter Programming Technology Lab Vrije Universiteit Brussel Pleinlaan

More information

Event Loop Coordination Using Meta-programming

Event Loop Coordination Using Meta-programming Event Loop Coordination Using Meta-programming Laure Philips, Dries Harnie, Kevin Pinte, Wolfgang Meuter To cite this version: Laure Philips, Dries Harnie, Kevin Pinte, Wolfgang Meuter. Event Loop Coordination

More information

Parallel Actor Monitors

Parallel Actor Monitors Parallel Monitors Christophe Scholliers Vrije Universiteit Brussel Pleinlaan 2, Elsene, Belgium cfscholl@vub.ac.be Éric Tanter PLEIAD Laboratory DCC / University of Chile etanter@dcc.uchile.cl Wolfgang

More information

Bringing Scheme Programming to the iphone Experience

Bringing Scheme Programming to the iphone Experience SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2000; 00:1 7 [Version: 2002/09/23 v2.2] Bringing Scheme Programming to the iphone Experience Engineer Bainomugisha, Jorge Vallejos, Elisa Gonzalez

More information

Department of Computer

Department of Computer Department of Computer Science @VUB Department of Computer Science 80+ Researchers 10 professors 15 post-doc s 55 pre-doc s Software and Programming Language Engineering PROG SSEL Web- and Information

More information

Object-oriented Coordination in Mobile Ad hoc Networks

Object-oriented Coordination in Mobile Ad hoc Networks Object-oriented Coordination in Mobile Ad hoc Networks Tom Van Cutsem, Jessie Dedecker, and Wolfgang De Meuter tvcutsem jededeck wdmeuter@vub.ac.be Programming Technology Lab Vrije Universiteit Brussel

More information

Dynamic Languages and Applications

Dynamic Languages and Applications Dynamic Languages and Applications Report on the Workshop Dyla 07 at ECOOP 2007 Alexandre Bergel 1, Wolfgang De Meuter 2,Stéphane Ducasse 3, Oscar Nierstrasz 4,andRoelWuyts 5 1 Hasso-Plattner-Institut,

More information

Parallel Actor Monitors: Disentangling Task-Level Parallelism from Data Partitioning in the Actor Model.

Parallel Actor Monitors: Disentangling Task-Level Parallelism from Data Partitioning in the Actor Model. Parallel Actor Monitors: Disentangling Task-Level Parallelism from Data Partitioning in the Actor Model. Christophe Scholliers a,1,, Éric Tanter b,2, Wolfgang De Meuter a a Software Languages Lab, Vrije

More information

A Prototype-based Approach to Distributed Applications

A Prototype-based Approach to Distributed Applications A Prototype-based Approach to Distributed Applications Tom Van Cutsem Stijn Mostincx Promotor: Prof. Dr. Theo D Hondt Advisors: Wolfgang De Meuter and Jessie Dedecker December 11, 2004 A Prototype-based

More information

Mirror-based Reflection in AmbientTalk

Mirror-based Reflection in AmbientTalk SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2008; 0:01 37 [Version: 2002/09/23 v2.2] Mirror-based Reflection in AmbientTalk Stijn Mostinckx 1, Tom Van Cutsem 1, Stijn Timbermont 1, Elisa Gonzalez

More information

Vrije Universiteit Brussel - Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes - France 2005

Vrije Universiteit Brussel - Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes - France 2005 Vrije Universiteit Brussel - Belgium Faculty of Sciences In Collaboration with Ecole des Mines de Nantes - France 2005 Mobile Actors Supporting Reconfigurable Applications in Open Peer-to-Peer Networks

More information

Fast dynamic deployment adaptation for mobile devices

Fast dynamic deployment adaptation for mobile devices Fast dynamic deployment adaptation for mobile devices Tim Verbelen tim.verbelen@ugent.be Tim Stevens tim.stevens@ugent.be Filip De Turck filip.deturck@ugent.be ABSTRACT Mobile devices that are limited

More information

A Hybrid Visual Dataflow Language for Coordination in Mobile Ad Hoc Networks

A Hybrid Visual Dataflow Language for Coordination in Mobile Ad Hoc Networks A Hybrid Visual Dataflow Language for Coordination in Mobile Ad Hoc Networks Andoni Lombide Carreton and Theo D Hondt Software Languages Lab Vrije Universiteit Brussel, Pleinlaan 2 1050 Brussel, Belgium

More information

Research Descriptions Engineering Labs. Prof. Dr. Theo D'Hondt Prof. Dr. Viviane Jonckers Prof. Dr. Wolfgang De Meuter

Research Descriptions Engineering Labs. Prof. Dr. Theo D'Hondt Prof. Dr. Viviane Jonckers Prof. Dr. Wolfgang De Meuter Research Descriptions 2007-2008 System and &Programming Software Technology Engineering Labs Prof. Dr. Theo D'Hondt Prof. Dr. Viviane Jonckers Prof. Dr. Wolfgang De Meuter Bram.Adams@ugent.be Bram Adams

More information

Object-oriented Reactive Programming is Not Reactive Object-oriented Programming

Object-oriented Reactive Programming is Not Reactive Object-oriented Programming Object-oriented Reactive Programming is Not Reactive Object-oriented Programming Elisa Gonzalez Boix egonzale@vub.ac.be Kevin Pinte kpinte@vub.ac.be Wolfgang De Meuter wdmeuter@vub.ac.be Simon Van de Water

More information

Using VMware Player 3.0 with USB Pocket Hard Drive For IT Curriculum

Using VMware Player 3.0 with USB Pocket Hard Drive For IT Curriculum Using VMware Player 3.0 with USB Pocket Hard Drive For IT Curriculum Salient Features Virtual machines stored on the USB Portable Hard Drive can be carried from one computer to another as long as the same

More information

Resilient Distributed Concurrent Collections. Cédric Bassem Promotor: Prof. Dr. Wolfgang De Meuter Advisor: Dr. Yves Vandriessche

Resilient Distributed Concurrent Collections. Cédric Bassem Promotor: Prof. Dr. Wolfgang De Meuter Advisor: Dr. Yves Vandriessche Resilient Distributed Concurrent Collections Cédric Bassem Promotor: Prof. Dr. Wolfgang De Meuter Advisor: Dr. Yves Vandriessche 1 Evolution of Performance in High Performance Computing Exascale = 10 18

More information

Distribution and Integration Technologies

Distribution and Integration Technologies Distribution and Integration Technologies Distributed Architectures Patterns and Styles 1 Distributed applications infrastructure ISP intranet wireless backbone desktop computer: server: laptops: tablets:

More information

Distributed Object-Oriented Programming with RFID Technology

Distributed Object-Oriented Programming with RFID Technology Distributed Object-Oriented Programming with RFID Technology Andoni Lombide Carreton, Kevin Pinte, and Wolfgang De Meuter Software Languages Lab, Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels,

More information

From cradle to grave: An architecture substrate for software lifecycles

From cradle to grave: An architecture substrate for software lifecycles From cradle to grave: An architecture substrate for software lifecycles Nicolas Rouquette Principal Member of Technical Staff Jet Propulsion Laboratory California Institute of Technology The waterflow

More information

70-532: Developing Microsoft Azure Solutions

70-532: Developing Microsoft Azure Solutions 70-532: Developing Microsoft Azure Solutions Objective Domain Note: This document shows tracked changes that are effective as of January 18, 2018. Create and Manage Azure Resource Manager Virtual Machines

More information

Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems

Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems Position Paper Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems Stefan Marr Elisa Gonzalez Boix Hanspeter Mössenböck Johannes Kepler University Linz, Austria stefan.marr@jku.at,

More information

Distributed KIDS Labs 1

Distributed KIDS Labs 1 Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 01 (version September 5, 2007) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

Chapter 0 : MVC review / Threading & Concurrency. CSCI 251 Android App Development

Chapter 0 : MVC review / Threading & Concurrency. CSCI 251 Android App Development Chapter 0 : MVC review / Threading & Concurrency CSCI 251 Android App Development Part I: Model / View / Controller Review (courtesy of Prof. Lambert) TUI vs GUI Text-based I/O Sequential process Direct

More information

Mobile Computing Meets Research Data

Mobile Computing Meets Research Data Mobile Computing Meets Research Data Engineer Bainomugisha Pilot Research Data Center Workshop Mombasa/Kenya Software Languages Lab. Department of Computer Science Vrije Universiteit Brussel, Belgium Department

More information

70-532: Developing Microsoft Azure Solutions

70-532: Developing Microsoft Azure Solutions 70-532: Developing Microsoft Azure Solutions Exam Design Target Audience Candidates of this exam are experienced in designing, programming, implementing, automating, and monitoring Microsoft Azure solutions.

More information

Using SDN and NFV to Realize a Scalable and Resilient Omni-Present Firewall

Using SDN and NFV to Realize a Scalable and Resilient Omni-Present Firewall Institute of Computer Science Chair of Communication Networks Prof. Dr.-Ing. P. Tran-Gia Using SDN and NFV to Realize a Scalable and Resilient Omni-Present Firewall comnet.informatik.uni-wuerzburg.de SarDiNe

More information

Agent based Cellular Automata Simulation

Agent based Cellular Automata Simulation Agent based Cellular Automata Simulation P. Fornacciari, G. Lombardo, M. Mordonini, A. Poggi and M. Tomaiuolo Dipartimento di Ingegneria e Architettura Università degli Studi di Parma Parma, Italy {paolo.fornacciari,gianfranco.lombardo,monica.mordonini,agostino.poggi,michele.tomaiuolo}@unipr.it

More information

Modular Static Analysis of Actor Programs

Modular Static Analysis of Actor Programs Modular Static Analysis of Actor Programs Quentin Stiévenart, Jens Nicolay, Wolfgang De Meuter, Coen De Roover {qstieven,jnicolay,wdmeuter,cderoove}@vub.ac.be Vrije Universiteit Brussel, Belgium Abstract

More information

More information, including a printable version of these instructions, is available at our website.

More information, including a printable version of these instructions, is available at our website. If you need immediate assistance or further instructions, please contact The Center for Instructional Services at extension 7121. To report a problem please visit our website at www.cis.tcu.edu and click

More information

Shacl: Operational Semantics

Shacl: Operational Semantics Shacl: Operational Semantics Joeri De Koster, Tom Van Cutsem Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium 1. Operational semantics In this section we describe the operational semantics

More information

Multi-Channel Clustered Web Application Servers

Multi-Channel Clustered Web Application Servers Multi-Channel Clustered Web Application Servers Masters Thesis Proposal Progress American University in Cairo Proposed by Karim Sobh (kmsobh@aucegypt.edu) Supervised by Dr. Ahmed Sameh (sameh@aucegypt.edu)

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

The goal of the Pangaea project, as we stated it in the introduction, was to show that

The goal of the Pangaea project, as we stated it in the introduction, was to show that Chapter 5 Conclusions This chapter serves two purposes. We will summarize and critically evaluate the achievements of the Pangaea project in section 5.1. Based on this, we will then open up our perspective

More information

Distributed Systems COMP 212. Lecture 18 Othon Michail

Distributed Systems COMP 212. Lecture 18 Othon Michail Distributed Systems COMP 212 Lecture 18 Othon Michail Virtualisation & Cloud Computing 2/27 Protection rings It s all about protection rings in modern processors Hardware mechanism to protect data and

More information

A Location Service for Worldwide Distributed Objects

A Location Service for Worldwide Distributed Objects A Location Service for Worldwide Distributed Objects 1 A Location Service for Worldwide Distributed Objects Franz J. Hauck 1, Maarten van Steen, Andrew S. Tanenbaum Dept. of Math. and Computer Science,

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 03 (version February 11, 2008) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

A case in Multiparadigm Programming : User Interfaces by means of Declarative Meta Programming

A case in Multiparadigm Programming : User Interfaces by means of Declarative Meta Programming A case in Multiparadigm Programming : User Interfaces by means of Declarative Meta Programming S. Goderis W. De Meuter J. Brichau Programming Technology Lab, Vrije Universiteit Brussel, Belgium Abstract.

More information

QSOUL/Aop. Aspect Oriented Software Development using Logic Meta Programming

QSOUL/Aop. Aspect Oriented Software Development using Logic Meta Programming QSOUL/Aop Aspect Oriented Software Development using Logic Meta Programming Johan Brichau, Programming Technology Lab, Vrije Universiteit Brussel, Brussel, Belgium 7/29/10 ESUG 2001, Essen 1 Overview Aspect

More information

Context-oriented Programming. Pascal Costanza (Vrije Universiteit Brussel, Belgium) Robert Hirschfeld (Hasso-Plattner-Institut, Potsdam, Germany)

Context-oriented Programming. Pascal Costanza (Vrije Universiteit Brussel, Belgium) Robert Hirschfeld (Hasso-Plattner-Institut, Potsdam, Germany) Context-oriented Programming Pascal Costanza (Vrije Universiteit Brussel, Belgium) Robert Hirschfeld (Hasso-Plattner-Institut, Potsdam, Germany) Programs are too static! Mobile devices Software agents

More information

Gossip Peer Sampling in Real World

Gossip Peer Sampling in Real World Gossip Peer Sampling in Real World Amir H. Payberah (amir@sics.se) 1/55 Gossip Peer Sampling 2/55 Peer Sampling Service The peer sampling service provides each node with a list of nodes in the system.

More information

Monads as a theoretical foundation for AOP

Monads as a theoretical foundation for AOP Monads as a theoretical foundation for AOP Wolfgang De Meuter (wdmeuter@vnet3.vub.ac.be) Programming Technology Lab Vrije Universiteit Brussel Pleinlaan 2 1050 Brussels - Belgium 1. Introduction Looking

More information

Mobile and Ubiquitous Computing

Mobile and Ubiquitous Computing Mobile and Ubiquitous Computing Today l Volatile systems l Association and Interoperation l Sensing context and adaptation Volatile systems " Mobile computing Exploiting the connectedness of devices as

More information

Broken Promises.

Broken Promises. Broken Promises kiki @ lightbend @kikisworldrace Data is dangerous Microservices are usually required to cooperate to achieve some end goal. Microservices need to be able to trust each other in order to

More information

Shao-Wen Yang, Ph.D. Staff Research Scientist Intel Labs, Intel Corporation

Shao-Wen Yang, Ph.D. Staff Research Scientist Intel Labs, Intel Corporation Shao-Wen Yang, Ph.D. Staff Research Scientist Intel Labs, Intel Corporation Content may contain references, logos, trade or service marks that are the property of their respective owners Executive Summary

More information

Programming language design and analysis

Programming language design and analysis Programming language design and analysis Introduction Marius Minea 25 September 2017 Why this course? Programming languages are fundamental and one of the oldest CS fields Language design is an important

More information

vsan Stretched Cluster Configuration First Published On: Last Updated On:

vsan Stretched Cluster Configuration First Published On: Last Updated On: vsan Stretched Cluster Configuration First Published On: 11-07-2016 Last Updated On: 01-25-2017 1 Table of Contents 1. Stretched Cluster Configuration 1.1.Stretched Cluster Topology and Configuration 1.2.vSAN

More information

Integration of analytic model and simulation model for analysis on system survivability

Integration of analytic model and simulation model for analysis on system survivability 6 Integration of analytic model and simulation model for analysis on system survivability Jang Se Lee Department of Computer Engineering, Korea Maritime and Ocean University, Busan, Korea Summary The objective

More information

Coordination in Volatile Networks

Coordination in Volatile Networks Faculty of Science Department of Computer Science and Applied Computer Science Coordination in Volatile Networks Graduation thesis submitted in partial fulfillment of the requirements for the degree of

More information

Mobile and Ubiquitous Computing

Mobile and Ubiquitous Computing Mobile and Ubiquitous Computing Today l Mobile, pervasive and volatile systems l Association and Interoperation l Sensing context and adaptation RIP? How is mobility different Mobile elements are resource-poor

More information

Orchestrating Nomadic Mashups using Workflows

Orchestrating Nomadic Mashups using Workflows Orchestrating Nomadic Mashups using Workflows Niels Joncheere njonchee@vub.ac.be Eline Philips ephilips@vub.ac.be Wolfgang De Meuter wdmeuter@vub.ac.be Andoni Lombide Carreton alombide@vub.ac.be Software

More information

More information, including a printable version of these instructions, is available at our website.

More information, including a printable version of these instructions, is available at our website. If you need immediate assistance or further instructions, please contact The Center for Instructional Services at extension 7121. To report a problem please visit our website at www.cis.tcu.edu and click

More information

Context-Oriented Meta-Programming

Context-Oriented Meta-Programming VRIJE UNIVERSITEIT BRUSSEL FACULTY OF SCIENCE DEPARTMENT OF COMPUTER SCIENCE Context-Oriented Meta-Programming Thesis submitted in partial fulfilment of the requirements for the degree of Licenciaat in

More information

Pervasive and Mobile Computing

Pervasive and Mobile Computing Pervasive and Mobile Computing 9 (2013) 2 17 Contents lists available at SciVerse ScienceDirect Pervasive and Mobile Computing journal homepage: www.elsevier.com/locate/pmc Review Application mobility

More information

Programming Methods. Simple things should be simple, complex things should be possible.

Programming Methods. Simple things should be simple, complex things should be possible. S m a l l t a l k Object-oriented programming is a fifth-generation style which emphasizes simulation of the behavior of objects. Smalltalk was the first pure object-oriented (oo) language; Java is the

More information

Methods for Policy Conflict Detection and Resolution in Pervasive Computing Environments

Methods for Policy Conflict Detection and Resolution in Pervasive Computing Environments Methods for Policy Conflict Detection and Resolution in Pervasive Computing Environments Evi Syukur SCSSE, Monash University, Australia evis@csse.monash.edu.au Seng Wai Loke SCSSE, Monash University, Australia

More information

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON. DISTRIBUTED SYSTEMS 121r itac itple TAYAdiets Second Edition Andrew S. Tanenbaum Maarten Van Steen Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON Prentice Hall Upper Saddle River, NJ 07458 CONTENTS

More information

Index. Course Outline. Grading Policy. Lab Time Distribution. Important Instructions

Index. Course Outline. Grading Policy. Lab Time Distribution. Important Instructions Index Course Outline Grading Policy Lab Time Distribution Important Instructions 2 Course Outline Week Topics 1 - History and Evolution of Java - Overview of Java 2 - Datatypes - Variables 3 - Arrays 4

More information

Problem Solving With C++ Ninth Edition

Problem Solving With C++ Ninth Edition CISC 1600/1610 Computer Science I Programming in C++ Professor Daniel Leeds dleeds@fordham.edu JMH 328A Introduction to programming with C++ Learn Fundamental programming concepts Key techniques Basic

More information

Cloud Programming James Larus Microsoft Research. July 13, 2010

Cloud Programming James Larus Microsoft Research. July 13, 2010 Cloud Programming James Larus Microsoft Research July 13, 2010 New Programming Model, New Problems (and some old, unsolved ones) Concurrency Parallelism Message passing Distribution High availability Performance

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Linguistic Symbiosis between Actors and Threads

Linguistic Symbiosis between Actors and Threads Linguistic Symbiosis between Actors and Threads Tom Van Cutsem, Stijn Mostinckx, and Wolfgang De Meuter {tvcutsem smostinc wdmeuter}@vub.ac.be Programming Technology Lab Vrije Universiteit Brussel Brussels

More information

Connecting your Microservices and Cloud Services with Oracle Integration CON7348

Connecting your Microservices and Cloud Services with Oracle Integration CON7348 Connecting your Microservices and Cloud Services with Oracle Integration CON7348 Robert Wunderlich Sr. Principal Product Manager September 19, 2016 Copyright 2016, Oracle and/or its affiliates. All rights

More information

Dialog AI Personal Assistant. User Guide for Amazon echo devices

Dialog AI Personal Assistant. User Guide for Amazon echo devices Dialog AI Personal Assistant User Guide for Amazon echo devices Contents 1 Amazon Echo... Error! Bookmark not defined. 1.1 How to Create an Amazon Account... 3 1.2 How to Set Up the Amazon Echo... 3 1.3

More information

Reactive App using Actor model & Apache Spark. Rahul Kumar Software

Reactive App using Actor model & Apache Spark. Rahul Kumar Software Reactive App using Actor model & Apache Spark Rahul Kumar Software Developer @rahul_kumar_aws About Sigmoid We build realtime & big data systems. OUR CUSTOMERS Agenda Big Data - Intro Distributed Application

More information

Thread-Based Competitive Or-Parallelism

Thread-Based Competitive Or-Parallelism Thread-Based Competitive Or-Parallelism Paulo Moura 1,3, Ricardo Rocha 2,3, and Sara C. Madeira 1,4 1 Dep. of Computer Science, University of Beira Interior, Portugal {pmoura, smadeira}@di.ubi.pt 2 Dep.

More information

Announcements. Reading: Chapter 16 Project #5 Due on Friday at 6:00 PM. CMSC 412 S10 (lect 24) copyright Jeffrey K.

Announcements. Reading: Chapter 16 Project #5 Due on Friday at 6:00 PM. CMSC 412 S10 (lect 24) copyright Jeffrey K. Announcements Reading: Chapter 16 Project #5 Due on Friday at 6:00 PM 1 Distributed Systems Provide: access to remote resources security location independence load balancing Basic Services: remote login

More information

Systems Analysis and Design II

Systems Analysis and Design II Systems Analysis and Design II Chapter 8. Architecture Design. Dr. Tinabo Chapter 8: Outline Elements of an architecture design. Creating an architecture design. Hardware and software specification. INTRODUCTION,

More information

Ambient-Oriented Programming

Ambient-Oriented Programming FACULTEIT VAN DE WETENSCHAPPEN Vakgroep Informatica Programming Technology Lab Ambient-Oriented Programming Ph.D. Dissertation Jessie Dedecker Promotors: Prof. Dr. Theo D Hondt and Dr. Wolfgang De Meuter

More information

Quick Mathematical Background for Conceptual Modeling

Quick Mathematical Background for Conceptual Modeling Reference: Mustafa Jarrar: Lecture Notes on Mathematics for Conceptual Modeling University of Birzeit, Palestine, 2015 Quick Mathematical Background for Conceptual Modeling (Chapter 6) Dr. Mustafa Jarrar

More information

Service-Oriented Architecture for Command and Control Systems with Dynamic Reconfiguration

Service-Oriented Architecture for Command and Control Systems with Dynamic Reconfiguration Service-Oriented Architecture for Command and Control Systems with Dynamic Reconfiguration Raymond A. Paul Department of Defense Washington, DC raymond.paul@osd.mil 2004-5-22 1 Outlines Motivation Dynamic

More information

FRP IoT Modules as a Scala DSL

FRP IoT Modules as a Scala DSL Abstract FRP IoT s as a Scala DSL Ben Calus, Bob Reynders, Dominique Devriese, Job Noorman, Frank Piessens imec-distrinet, KU Leuven, 3001 Leuven, Belgium {bob.reynders@cs.kuleuven.be With Internet of

More information

ORM Modeling Tips and Common Mistakes

ORM Modeling Tips and Common Mistakes Reference: Mustafa Jarrar: Lecture Notes on ORM Modeling Tips and Common Mistakes University of Birzeit, Palestine, 2015 ORM Modeling Tips and Common Mistakes Dr. Mustafa Jarrar University of Birzeit mjarrar@birzeit.edu

More information

More information, including a printable version of these instructions, is available at our website. INSTRUCTION INDEX

More information, including a printable version of these instructions, is available at our website. INSTRUCTION INDEX If you need immediate assistance or further instructions, please contact The Center for Instructional Services at extension 7121. To report a problem please visit our website at www.cis.tcu.edu and click

More information

Feature Descriptions for Context-oriented Programming

Feature Descriptions for Context-oriented Programming Feature Descriptions for Context-oriented Programming Pascal Costanza, Theo D Hondt Programming Technology Lab Vrije Universiteit Brussel, B-1050 Brussels, Belgium (pascal.costanza tjdhondt)@vub.ac.be

More information

Polymorphism. Object Orientated Programming in Java. Benjamin Kenwright

Polymorphism. Object Orientated Programming in Java. Benjamin Kenwright Polymorphism Object Orientated Programming in Java Benjamin Kenwright Quizzes/Labs Every single person should have done Quiz 00 Introduction Quiz 01 - Java Basics Every single person should have at least

More information

MySQL Cluster Ed 2. Duration: 4 Days

MySQL Cluster Ed 2. Duration: 4 Days Oracle University Contact Us: +65 6501 2328 MySQL Cluster Ed 2 Duration: 4 Days What you will learn This MySQL Cluster training teaches you how to install and configure a real-time database cluster at

More information

Classes and Inheritance in Actor- Oriented Models

Classes and Inheritance in Actor- Oriented Models Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee UC Berkeley Chess Review May 8, 2003 Berkeley, CA Introduction Component-based design Object-oriented components Actor-oriented

More information

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 Distributed Systems Chapter 3 - Processes CSCI319 Chapter 3 Page: 1 Processes Lecture notes based on the textbook by Tannenbaum Study objectives: 1. Understand

More information

Implementing Joins using Extensible Pattern Matching

Implementing Joins using Extensible Pattern Matching Implementing Joins using Extensible Pattern Matching Philipp Haller, EPFL joint work with Tom Van Cutsem, Vrije Universiteit Brussel Introduction Concurrency is indispensable: multi-cores, asynchronous,

More information

CS250 Intro to CS II. Spring CS250 - Intro to CS II 1

CS250 Intro to CS II. Spring CS250 - Intro to CS II 1 CS250 Intro to CS II Spring 2017 CS250 - Intro to CS II 1 Topics Virtual Functions Pure Virtual Functions Abstract Classes Concrete Classes Binding Time, Static Binding, Dynamic Binding Overriding vs Redefining

More information

Towards Linguistic Symbiosis of an Object-Oriented and a Logic Programming Language

Towards Linguistic Symbiosis of an Object-Oriented and a Logic Programming Language Towards Linguistic Symbiosis of an Object-Oriented and a Logic Programming Language Johan Brichau 1, Kris Gybels 1, and Roel Wuyts 2 1 Programming Technology Lab, Vakgroep Informatica, Vrije Universiteit

More information

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Announcements.  me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,

More information

Automatic Service Discovery and Integration using Semantic Descriptions in the Web Services Management Layer

Automatic Service Discovery and Integration using Semantic Descriptions in the Web Services Management Layer Automatic Service Discovery and Integration using Semantic Descriptions in the Web Services Management Layer María Agustina Cibrán, Bart Verheecke, Davy Suvée, Wim Vanderperren and System and Software

More information

Chapter 3. Design of Grid Scheduler. 3.1 Introduction

Chapter 3. Design of Grid Scheduler. 3.1 Introduction Chapter 3 Design of Grid Scheduler The scheduler component of the grid is responsible to prepare the job ques for grid resources. The research in design of grid schedulers has given various topologies

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Use the Extron control panel on the top of the podium to: 1. Turn the projector on and off. The projector takes some time to warm up after powering

Use the Extron control panel on the top of the podium to: 1. Turn the projector on and off. The projector takes some time to warm up after powering Use the Extron control panel on the top of the podium to: 1. Turn the projector on and off. The projector takes some time to warm up after powering on, and to cool down after powering off. To show or hide

More information

Evaluating Real-Time Hypervisor (RTS) version 4.1 using Dedicated Systems Experts (DSE) test suite

Evaluating Real-Time Hypervisor (RTS) version 4.1 using Dedicated Systems Experts (DSE) test suite http//download.dedicated-systems.com Doc Evaluating Real-Time Hypervisor (RTS) version 4.1 using Dedicated Systems (DSE) test suite Copyright Copyright DS- NV & VUB-EmSlab. All rights reserved, no part

More information

AmbientTalk: programming responsive mobile peer-to-peer applications with actors

AmbientTalk: programming responsive mobile peer-to-peer applications with actors AmbientTalk: programming responsive mobile peer-to-peer applications with actors Tom Van Cutsem a,1,, Elisa Gonzalez Boix a,2, Christophe Scholliers a,3, Andoni Lombide Carreton a, Dries Harnie a,2, Kevin

More information

Young-Woo Kwon 1, Eli Tilevich 1, and Taweesup Apiwattanapong 2

Young-Woo Kwon 1, Eli Tilevich 1, and Taweesup Apiwattanapong 2 DECEMBER 3 rd, 2009 URBANA, ILLINOIS Young-Woo Kwon 1, Eli Tilevich 1, and Taweesup Apiwattanapong 2 1 Software Innovations Lab 2 NECTEC Dept. of Computer Science Virginia Tech Criminal try evidence {

More information

Yet another redirection mechanism for the World-Wide Web?

Yet another redirection mechanism for the World-Wide Web? Yet another redirection mechanism for the World-Wide Web? Aline Baggio Vrije Universiteit Department of Computer Science De Boelelaan 1081a 1081HV Amsterdam The Netherlands http://www.cs.vu.nl/ baggio/

More information

WINDOWS 8 CHEAT SHEET

WINDOWS 8 CHEAT SHEET WINDOWS 8 CHEAT SHEET FIVE BIG CHANGES IN WINDOWS 8 Windows 8 looks and behaves much differently from previous versions of Windows. Remember these five big changes, and you ll be well prepared for Windows

More information