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

Size: px
Start display at page:

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

Transcription

1 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 Brussel Brussels, Belgium XXVI Intl. Conf. of the Chilean Computer Science Society, Iquique, Chile, Nov 2007

2 Context Object-oriented programming languages Hardware Software 2 Pervasive Computing (Mobile Networks)

3 Context Object-oriented programming languages Hardware Software 2 Pervasive Computing (Mobile Networks)

4 Mobile Ad hoc Networks 3

5 3 Mobile Ad hoc Networks Volatile Connections

6 3 Mobile Ad hoc Networks Scarce Infrastructure Volatile Connections

7 4 Loose Coupling Decoupling communication in Time & Synchronisation reduces impact of volatile connections

8 4 Loose Coupling Decoupling communication in Time & Synchronisation reduces impact of volatile connections

9 4 Loose Coupling Decoupling communication in Time & Synchronisation reduces impact of volatile connections asynchronous send

10 4 Loose Coupling Decoupling communication in Time & Synchronisation reduces impact of volatile connections

11 4 Loose Coupling Decoupling communication in Time & Synchronisation reduces impact of volatile connections

12 4 Loose Coupling Decoupling communication in Time & Synchronisation reduces impact of volatile connections

13 4 Loose Coupling Decoupling communication in Time & Synchronisation reduces impact of volatile connections asynchronous receive

14 5 Loose Coupling Decoupling communication in Space enables ad hoc anonymous collaborations

15 5 Loose Coupling Decoupling communication in Space enables ad hoc anonymous collaborations

16 5 Loose Coupling Decoupling communication in Space enables ad hoc anonymous collaborations provide service

17 5 Loose Coupling Decoupling communication in Space enables ad hoc anonymous collaborations provide service require service

18 6 Ubiquitous Flea Market Example: buy/sell concert tickets to proximate peers demand offer

19 6 Ubiquitous Flea Market Example: buy/sell concert tickets to proximate peers offer demand

20 7 AmbientTalk: the language Distributed object-oriented language Event-driven concurrency based on actors [Agha86] Future-type asynchronous message sends Built-in publish/subscribe engine for service discovery of remote objects

21 8 AmbientTalk: the project Started in 2005 Small team: 3-6 people Interpreter Pure Java implementation Runs on J2ME/CDC phones

22 9 Objects def Item := object: { def category; def description; def ownercontactinfo; def init(c,d,o) { category := c; description := d; ownercontactinfo := o; def getcontactinfo() { ownercontactinfo def placesupply() {... def placedemand() {... Prototype-based Objects are created: anonymously by cloning others def ticket := Item.new(ConcertTicket,...,... ); ticket.placedemand();

23 10 Extensible language def fac(n) { (n = 0).ifTrue: { 1 iffalse: { n * fac(n-1) Block closures Keyworded messages Interfacing with JVM

24 10 Extensible language def fac(n) { (n = 0).ifTrue: { 1 iffalse: { n * fac(n-1) Block closures Keyworded messages Interfacing with JVM def Button := jlobby.java.awt.button; def b := Button.new( test ); b.addactionlistener(object: { def actionperformed(ae) { println( button pressed ); );

25 11 Event loop concurrency Actor Based on E programming language [Miller05] Message queue Event loop

26 11 Event loop concurrency Actor Based on E programming language [Miller05] local object Message queue Event loop

27 11 Event loop concurrency Actor Based on E programming language [Miller05] local object obj.m() obj Message queue Event loop

28 11 Event loop concurrency Actor Based on E programming language [Miller05] local object remote object Message queue Event loop

29 11 Event loop concurrency Actor Based on E programming language [Miller05] local object remote object obj<-m() obj Message queue Event loop

30 11 Event loop concurrency Based on E programming language [Miller05] Actor local object remote object obj<-m() obj Message queue Event loop Actors cannot cause deadlock No race conditions on objects

31 12 Futures def future := advertisement<-getcontactinfo() advertisement

32 12 Futures def future := advertisement<-getcontactinfo() advertisement

33 12 Futures def future := advertisement<-getcontactinfo()? future advertisement

34 12 Futures def future := advertisement<-getcontactinfo()? future advertisement

35 12 Futures def future := advertisement<-getcontactinfo()? future advertisement

36 12 Futures def future := advertisement<-getcontactinfo()? future advertisement when: future becomes: { contactinfo println( contact seller: + contactinfo)

37 12 Futures def future := advertisement<-getcontactinfo()? future advertisement contactinfo when: future becomes: { contactinfo println( contact seller: + contactinfo)

38 12 Futures def future := advertisement<-getcontactinfo()? future advertisement contactinfo when: future becomes: { contactinfo println( contact seller: + contactinfo)

39 12 Futures def future := advertisement<-getcontactinfo()? future advertisement contactinfo when: future becomes: { contactinfo println( contact seller: + contactinfo)

40 13 Exporting objects item

41 13 Exporting objects deftype ConcertTicket; def Item := object: { def category; // a type tag... def placesupply() { export: item as: category; item

42 14 Service Discovery def placedemand() { whenever: category discovered: { item... <closure>

43 14 Service Discovery def placedemand() { whenever: category discovered: { item... <closure> item

44 14 Service Discovery def placedemand() { whenever: category discovered: { item... <closure> item

45 15 Failure handling item<-getcontactinfo() <closure> item

46 15 Failure handling item<-getcontactinfo() <closure> remote ref item

47 15 Failure handling item<-getcontactinfo() <closure> remote ref item

48 15 Failure handling item<-getcontactinfo() <closure> remote ref item

49 15 Failure handling item<-getcontactinfo() <closure> remote ref item when: item disconnected: { println( Item no longer available ) when: item reconnected: { println( Item available again )

50 15 Failure handling item<-getcontactinfo() <closure> remote ref item when: item disconnected: { println( Item no longer available ) when: item reconnected: { println( Item available again )

51 16 Events + Objects Block closures as first-class event-handlers preserve state (all lexically visible variables) can be arbitrarily nested Leads to less inversion of control whenever: category discovered: { item when: item<-getcontactinfo() becomes: { contactinfo println( contact seller: + contactinfo) when: item disconnected: { println( Item no longer available )

52 16 Events + Objects Block closures as first-class event-handlers preserve state (all lexically visible variables) can be arbitrarily nested Leads to less inversion of control whenever: category discovered: { item when: item<-getcontactinfo() becomes: { contactinfo println( contact seller: + contactinfo) when: item disconnected: { println( Item no longer available )

53 17 Conclusion MANETs loosely coupled collaboration Volatile Connections time & sync-decoupling Scarce Infrastructure space-decoupling AmbientTalk: event-driven OO language Buffered asynchronous messages: tolerate temporary network failures by default Built-in service discovery: no servers required

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

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

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

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

Resilient Partitioning of Pervasive Computing Services

Resilient Partitioning of Pervasive Computing Services 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

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

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

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

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

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

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

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

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

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

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

MS Project Proposal. Tuple Board

MS Project Proposal. Tuple Board MS Project Proposal Tuple Board A New Distributed Computing Paradigm for Mobile Ad Hoc Networks Chaithanya Bondada cxb3178 @ cs.rit.edu Department of Computer Science Rochester Institute of Technology

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

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

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

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

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

one.world Towards a System Architecture for Pervasive Computing

one.world Towards a System Architecture for Pervasive Computing Towards a System Architecture for Pervasive Computing Robert Grimm, Janet Davis, Ben Hendrickson, Eric Lemar, Tom Anderson, Brian Bershad, Gaetano Borriello, David Wetherall University of Washington Vision

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

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

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

Programming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI

Programming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Familiarize yourself with all of Kotlin s features with this in-depth guide Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Copyright 2017 Packt Publishing First

More information

Distributed Systems Principles and Paradigms

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

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Modified by: Dr. Ramzi Saifan Definition of a Distributed System (1) A distributed

More information

DS 2009: middleware. David Evans

DS 2009: middleware. David Evans DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between

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

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

Problems with Concurrency. February 19, 2014

Problems with Concurrency. February 19, 2014 with Concurrency February 19, 2014 s with concurrency interleavings race conditions dead GUI source of s non-determinism deterministic execution model 2 / 30 General ideas Shared variable Access interleavings

More information

Programming mobile peer-to-peer applications with AmbientTalk

Programming mobile peer-to-peer applications with AmbientTalk Programming mobile peer-to-peer applications with AmbientTalk Technical Report VUB-SOFT-TR-13-05 Tom Van Cutsem 1, Elisa Gonzalez Boix 1, Christophe Scholliers 1, Andoni Lombide Carreton 1, Dries Harnie

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

The Actor Model. Towards Better Concurrency. By: Dror Bereznitsky

The Actor Model. Towards Better Concurrency. By: Dror Bereznitsky The Actor Model Towards Better Concurrency By: Dror Bereznitsky 1 Warning: Code Examples 2 Agenda Agenda The end of Moore law? Shared state concurrency Message passing concurrency Actors on the JVM More

More information

Executive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads.

Executive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads. Executive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads. Poor co-ordination that exists in threads on JVM is bottleneck

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

Proactive data replication using semantic information within mobility groups in MANETs

Proactive data replication using semantic information within mobility groups in MANETs Proactive data replication using semantic information within mobility groups in MANETs Hoa Ha Duong & Isabelle Demeure Telecom ParisTech Institut Telecom Mobilware 09 April 28-29 2009 Berlin, Germany page

More information

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java.

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java. [Course Overview] The Core Java technologies and application programming interfaces (APIs) are the foundation of the Java Platform, Standard Edition (Java SE). They are used in all classes of Java programming,

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 Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems? UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems? 2. What are different application domains of distributed systems? Explain. 3. Discuss the different

More information

Overview. Distributed Computing with Oz/Mozart (VRH 11) Mozart research at a glance. Basic principles. Language design.

Overview. Distributed Computing with Oz/Mozart (VRH 11) Mozart research at a glance. Basic principles. Language design. Distributed Computing with Oz/Mozart (VRH 11) Carlos Varela RPI March 15, 2007 Adapted with permission from: Peter Van Roy UCL Overview Designing a platform for robust distributed programming requires

More information

Domains: Sharing State in the Communicating Event-Loop Actor Model

Domains: Sharing State in the Communicating Event-Loop Actor Model Domains: Sharing State in the Communicating Event-Loop Actor Model Joeri De Koster, Stefan Marr, Tom Van Cutsem, Theo D Hondt To cite this version: Joeri De Koster, Stefan Marr, Tom Van Cutsem, Theo D

More information

Synchronization SPL/2010 SPL/20 1

Synchronization SPL/2010 SPL/20 1 Synchronization 1 Overview synchronization mechanisms in modern RTEs concurrency issues places where synchronization is needed structural ways (design patterns) for exclusive access 2 Overview synchronization

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

Exploiting peer group concept for adaptive and highly available services

Exploiting peer group concept for adaptive and highly available services Computing in High Energy and Nuclear Physics, 24-28 March 2003 La Jolla California 1 Exploiting peer group concept for adaptive and highly available services Muhammad Asif Jan Centre for European Nuclear

More information

Scala Actors. Scalable Multithreading on the JVM. Philipp Haller. Ph.D. candidate Programming Methods Lab EPFL, Lausanne, Switzerland

Scala Actors. Scalable Multithreading on the JVM. Philipp Haller. Ph.D. candidate Programming Methods Lab EPFL, Lausanne, Switzerland Scala Actors Scalable Multithreading on the JVM Philipp Haller Ph.D. candidate Programming Methods Lab EPFL, Lausanne, Switzerland The free lunch is over! Software is concurrent Interactive applications

More information

High performance publish/subscribe middleware for mobile wireless networks

High performance publish/subscribe middleware for mobile wireless networks Mobile Information Systems 3 (2007) 107 132 107 IOS Press High performance publish/subscribe middleware for mobile wireless networks Umar Farooq, Shikharesh Majumdar and Eric W. Parsons Department of Systems

More information

Programming Safe Agents in Blueprint. Alex Muscar University of Craiova

Programming Safe Agents in Blueprint. Alex Muscar University of Craiova Programming Safe Agents in Blueprint Alex Muscar University of Craiova Programmers are craftsmen, and, as such, they are only as productive as theirs tools allow them to be Introduction Agent Oriented

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [MESSAGING SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Distributed Servers Security risks

More information

Introduction to Distributed Systems

Introduction to Distributed Systems Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]

More information

Panel 1 Service Platform and Network Infrastructure for Ubiquitous Services

Panel 1 Service Platform and Network Infrastructure for Ubiquitous Services Panel 1 Platform and Network Infrastructure for Ubiquitous s Wolfgang Kellerer DoCoMo Euro-Labs Munich, Germany WWRF WG2 ( Architecture) Vice Chair DoCoMo Communications Landsberger Str. 312 80687 Munich

More information

Developing InfoSleuth Agents Using Rosette: An Actor Based Language

Developing InfoSleuth Agents Using Rosette: An Actor Based Language Developing InfoSleuth Agents Using Rosette: An Actor Based Language Darrell Woelk Microeclectronics and Computer Technology Corporation (MCC) 3500 Balcones Center Dr. Austin, Texas 78759 InfoSleuth Architecture

More information

Architectural Styles - Finale

Architectural Styles - Finale Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles - Finale Reid Holmes Lecture

More information

High performance reactive applications with Vert.x

High performance reactive applications with Vert.x High performance reactive applications with Vert.x Tim Fox Red Hat Bio Employed By Red Hat to lead the Vert.x project Worked in open source exclusively for the past 9 years Some projects I've been involved

More information

The Strategy Pattern Design Principle: Design Principle: Design Principle:

The Strategy Pattern Design Principle: Design Principle: Design Principle: Strategy Pattern The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Design

More information

Formal Support for Model Evolution

Formal Support for Model Evolution Formal Support for Model Evolution Tom Mens http://w3.umh.ac.be/genlog Software Engineering Lab University of Mons-Hainaut Belgium Introduction - Model Evolution More and better tool support needed for

More information

NOWHERE. Targeted for Personal (Web) agents Supports Knowledge Level (KL) Agents. a Knowledge-Level API Agent Programming Infrastructure 1 06/09/06

NOWHERE. Targeted for Personal (Web) agents Supports Knowledge Level (KL) Agents. a Knowledge-Level API Agent Programming Infrastructure 1 06/09/06 NOWHERE a Knowledge-Level API Agent Programming Infrastructure Targeted for Personal (Web) agents Supports Knowledge Level (KL) Agents 1 06/09/06 KL Agent Properties The programmer does not have to manage

More information

A Location Model for Ambient Intelligence

A Location Model for Ambient Intelligence A Location Model for Ambient Intelligence National Institute of Informatics, Japan Email: ichiro@nii.ac.jp Outline 1. Motivation 2. Approach 3. Location Model 4. Design and Implementation 5. Applications

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

Streaming data Model is opposite Queries are usually fixed and data are flows through the system.

Streaming data Model is opposite Queries are usually fixed and data are flows through the system. 1 2 3 Main difference is: Static Data Model (For related database or Hadoop) Data is stored, and we just send some query. Streaming data Model is opposite Queries are usually fixed and data are flows through

More information

Index. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107

Index. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107 A abbreviations 17 abstract class 105 abstract data types 105 abstract method 105 abstract types 105 abstraction 92, 105 access level 37 package 114 private 115 protected 115 public 115 accessors 24, 105

More information

Scaling Tuple-Space Communication in the Distributive Interoperable Executive Library. Jason Coan, Zaire Ali, David White and Kwai Wong

Scaling Tuple-Space Communication in the Distributive Interoperable Executive Library. Jason Coan, Zaire Ali, David White and Kwai Wong Scaling Tuple-Space Communication in the Distributive Interoperable Executive Library Jason Coan, Zaire Ali, David White and Kwai Wong August 18, 2014 Abstract The Distributive Interoperable Executive

More information

An Overview of Scala. Philipp Haller, EPFL. (Lots of things taken from Martin Odersky's Scala talks)

An Overview of Scala. Philipp Haller, EPFL. (Lots of things taken from Martin Odersky's Scala talks) An Overview of Scala Philipp Haller, EPFL (Lots of things taken from Martin Odersky's Scala talks) The Scala Programming Language Unifies functional and object-oriented programming concepts Enables embedding

More information

Web Services for Visualization

Web Services for Visualization Web Services for Visualization Gordon Erlebacher (Florida State University) Collaborators: S. Pallickara, G. Fox (Indiana U.) Dave Yuen (U. Minnesota) State of affairs Size of datasets is growing exponentially

More information

RFC 003 Event Service October Computer Science Department October 2001 Request for Comments: 0003 Obsoletes: none.

RFC 003 Event Service October Computer Science Department October 2001 Request for Comments: 0003 Obsoletes: none. Ubiquitous Computing Bhaskar Borthakur University of Illinois at Urbana-Champaign Software Research Group Computer Science Department October 2001 Request for Comments: 0003 Obsoletes: none The Event Service

More information

Advanced Network Approaches for Wireless Environment

Advanced Network Approaches for Wireless Environment Advanced Network Approaches for Wireless Environment Branislav JARÁBEK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia beejay@orangemail.sk

More information

A Mobile Agent Platform for Supporting Ad-hoc Network Environment

A Mobile Agent Platform for Supporting Ad-hoc Network Environment International Journal of Grid and Distributed Computing 9 A Mobile Agent Platform for Supporting Ad-hoc Network Environment Jinbae Park, Hyunsang Youn, Eunseok Lee School of Information and Communication

More information

(Towards) a Threshold Cryptographic Backend for DNSSEC

(Towards) a Threshold Cryptographic Backend for DNSSEC (Towards) a Threshold Cryptographic Backend for DNSSEC OARC 2011 Antonio Cansado acansado@niclabs.cl Pablo Sepúlveda psepulv@niclabs.cl Tomás Barros tbarros@niclabs.cl Victor Ramiro vramiro@niclabs.cl

More information

Modules, Structs, Hashes, and Operational Semantics

Modules, Structs, Hashes, and Operational Semantics CS 152: Programming Language Paradigms Modules, Structs, Hashes, and Operational Semantics Prof. Tom Austin San José State University Lab Review (in-class) Modules Review Modules from HW 1 (in-class) How

More information

Scala : an LLVM-targeted Scala compiler

Scala : an LLVM-targeted Scala compiler Scala : an LLVM-targeted Scala compiler Da Liu, UNI: dl2997 Contents 1 Background 1 2 Introduction 1 3 Project Design 1 4 Language Prototype Features 2 4.1 Language Features........................................

More information

Broker Clusters. Cluster Models

Broker Clusters. Cluster Models 4 CHAPTER 4 Broker Clusters Cluster Models Message Queue supports the use of broker clusters: groups of brokers working together to provide message delivery services to clients. Clusters enable a Message

More information

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges

More information

DATA SHARING AND DISCOVERY WITH ARCGIS SERVER GEOPORTAL EXTENSION. Clive Reece, Ph.D. ESRI Geoportal/SDI Solutions Team

DATA SHARING AND DISCOVERY WITH ARCGIS SERVER GEOPORTAL EXTENSION. Clive Reece, Ph.D. ESRI Geoportal/SDI Solutions Team DATA SHARING AND DISCOVERY WITH ARCGIS SERVER GEOPORTAL EXTENSION Clive Reece, Ph.D. ESRI Geoportal/SDI Solutions Team Geoportal Extension for ArcGIS Server Context within an Enterprise Spatial Data Infrastructure

More information

Introduction to Messaging using JMS

Introduction to Messaging using JMS Introduction to Messaging using JMS Evan Mamas emamas@ca.ibm.com IBM Toronto Lab Outline Basic Concepts API Architecture API Programming Model Advanced features Integration with J2EE Simple applications

More information

Distributed Systems. Messaging and JMS Distributed Systems 1. Master of Information System Management

Distributed Systems. Messaging and JMS Distributed Systems 1. Master of Information System Management Distributed Systems Messaging and JMS 1 Example scenario Scenario: Store inventory is low This impacts multiple departments Inventory Sends a message to the factory when the inventory level for a product

More information

MetaConc. Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems

MetaConc. Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems MetaConc Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems Stefan Marr, Elisa Gonzalez Boix, Hanspeter Mössenböck Brussels, April 21, 2016 ENIAC's main control panel, U. S. Army

More information

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):

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

Beernet: RMI-free peer-to-peer networks

Beernet: RMI-free peer-to-peer networks Beernet: RMI-free peer-to-peer networks Boris Mejías, Alfredo Cádiz, Peter Van Roy Département d ingénierie informatique Université catholique de Louvain, Belgium {firstname.lastname}@uclouvain.be ABSTRACT

More information

Dynamic Neighbor Positioning In Manet with Protection against Adversarial Attacks

Dynamic Neighbor Positioning In Manet with Protection against Adversarial Attacks International Journal of Computational Engineering Research Vol, 03 Issue, 4 Dynamic Neighbor Positioning In Manet with Protection against Adversarial Attacks 1, K. Priyadharshini, 2, V. Kathiravan, 3,

More information

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016 Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges

More information

Reminder from last time

Reminder from last time Concurrent systems Lecture 5: Concurrency without shared data, composite operations and transactions, and serialisability DrRobert N. M. Watson 1 Reminder from last time Liveness properties Deadlock (requirements;

More information

Jade: Java Agent DEvelopment Framework Overview

Jade: Java Agent DEvelopment Framework Overview Jade: Java Agent DEvelopment Framework Overview Stefano Mariani s.mariani@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna a Cesena Academic Year

More information

Transaction Management in EJBs: Better Separation of Concerns With AOP

Transaction Management in EJBs: Better Separation of Concerns With AOP Transaction Management in EJBs: Better Separation of Concerns With AOP Johan Fabry Vrije Universiteit Brussel, Pleinlaan 2 1050 Brussel, Belgium Johan.Fabry@vub.ac.be March 8, 2004 1 Introduction The long-term

More information

Expressing Security Constraints using capabilities. Mark S. Miller and the Cajadores

Expressing Security Constraints using capabilities. Mark S. Miller and the Cajadores Expressing Security Constraints using capabilities Mark S. Miller and the Cajadores Overview This talk The What and Why of object-capabilities (ocaps) My Securing EcmaScript 5 talk tomorrow The How of

More information

RFID in Internet of things: from the static to the real-time

RFID in Internet of things: from the static to the real-time RFID in Internet of things: from the static to the real-time ETSI Workshop on RFID and The Internet Of Things, 3rd and 4th December 007 Fabio Forno, Ph. D. Mikhail Simonov Introduction Outline Complexity

More information

Smart City, Internet of Things, Security and Privacy

Smart City, Internet of Things, Security and Privacy Smart City, Internet of Things, Security and Privacy Peter Waher Abstract. This course contains a series of lectures and practical laboratory assignments spanning four days that provide the participants

More information

Synchronization and Dissemination in Self-Organizing Communication Networks

Synchronization and Dissemination in Self-Organizing Communication Networks Synchronization and Dissemination in Self-Organizing Communication Networks Christian Bettstetter Networked and Embedded Systems University of Klagenfurt Lakeside Labs GmbH Talk at the Vrije Universiteit

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

Ubiquitous Computing Summer Supporting distributed applications. Distributed Application. Operating System. Computer Computer Computer.

Ubiquitous Computing Summer Supporting distributed applications. Distributed Application. Operating System. Computer Computer Computer. Episode 11: Middleware Hannes Frey and Peter Sturm University of Trier Middleware Supporting distributed applications Distributed Application Middleware Operating System Operating System Operating System

More information

Service-Oriented Architecture

Service-Oriented Architecture Service-Oriented Architecture The Service Oriented Society Imagine if we had to do everything we need to get done by ourselves? From Craftsmen to Service Providers Our society has become what it is today

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

On the Creation & Discovery of Topics in Distributed Publish/Subscribe systems

On the Creation & Discovery of Topics in Distributed Publish/Subscribe systems On the Creation & Discovery of Topics in Distributed Publish/Subscribe systems Shrideep Pallickara, Geoffrey Fox & Harshawardhan Gadgil Community Grids Lab, Indiana University 1 Messaging Systems Messaging

More information

Opportunistic Application Flows in Sensor-based Pervasive Environments

Opportunistic Application Flows in Sensor-based Pervasive Environments Opportunistic Application Flows in Sensor-based Pervasive Environments Nanyan Jiang, Cristina Schmidt, Vincent Matossian, and Manish Parashar ICPS 2004 1 Outline Introduction to pervasive sensor-based

More information

Clojure Lisp for the Real clojure.com

Clojure Lisp for the Real clojure.com Clojure Lisp for the Real World @stuartsierra clojure.com Stuart Sierra Relevance, Inc. Clojure/core Clojure contributor Values Values 3 Values 3 + 2 = 5 Values let x = 3 Values let x = 3 let x = 5 Values

More information

Middleware example EPC Global Infrastructure Vertical approach EPC middleware EPC middleware DNS ONS Exchange Identification Capture ONS SOAP/HP SOAP

Middleware example EPC Global Infrastructure Vertical approach EPC middleware EPC middleware DNS ONS Exchange Identification Capture ONS SOAP/HP SOAP RFID in Internet of things: from the static to the real-time ESI Workshop on RFID and he Internet Of hings, rd and 4th December 007 Fabio Forno, Ph. D. Mikhail Simonov Outline Introduction Complexity of

More information

Jade: Java Agent DEvelopment Framework Overview

Jade: Java Agent DEvelopment Framework Overview Jade: Java Agent DEvelopment Framework Overview Multiagent Systems LM Sistemi Multiagente LM Stefano Mariani revised by Andrea Omicini s.mariani@unibo.it, andrea.omicini@unibo.it Dipartimento di Informatica:

More information

<Insert Picture Here> WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs

<Insert Picture Here> WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs WebLogic JMS Messaging Infrastructure WebLogic Server 11gR1 Labs Messaging Basics Built-in Best-of-Breed Messaging (JMS) Engine Years of hardening. Strong performance.

More information