AmbientTalk: Object-oriented Event-driven programming in Mobile Ad hoc Networks
|
|
- Augustine Boone
- 5 years ago
- Views:
Transcription
1 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
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 Intermittent Connectivity
6 3 Mobile Ad hoc Networks Scarce Infrastructure Intermittent Connectivity
7 4 Loose Coupling [Eugster et al. 03] Decoupling communication in Time & Synchronisation reduces impact of volatile connections
8 4 Loose Coupling [Eugster et al. 03] Decoupling communication in Time & Synchronisation reduces impact of volatile connections
9 4 Loose Coupling [Eugster et al. 03] Decoupling communication in Time & Synchronisation reduces impact of volatile connections asynchronous send
10 4 Loose Coupling [Eugster et al. 03] Decoupling communication in Time & Synchronisation reduces impact of volatile connections
11 4 Loose Coupling [Eugster et al. 03] Decoupling communication in Time & Synchronisation reduces impact of volatile connections
12 4 Loose Coupling [Eugster et al. 03] Decoupling communication in Time & Synchronisation reduces impact of volatile connections
13 4 Loose Coupling [Eugster et al. 03] 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 Example: music player 6
19 Example: music player 6
20 Example: music player 6
21 6 Example: music player 32% 21%
22 7 AmbientTalk: the language Distributed prototype-based 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
23 8 AmbientTalk: the project Started in 2005 Small team: 3-6 people Interpreter (not optimised) Pure Java implementation Runs on J2ME/CDC phones
24 9 Objects def Window := object: { def title := Untitled ; def init(t) { title := t; super := ClosedWindow; def show() { super := OpenWindow; Prototypes Delegation Trait composition First-class delegation def OpenWindow := object: { def draw() {... def ClosedWindow := object: { def draw() {... def w := Window.new( Test ); w.draw();
25 10 Extensible language def fac(n) { if: (n = 0) then: { 1 else: { n * fac(n-1)
26 10 Extensible language def fac(n) { if: (n = 0) then: { 1 else: { n * fac(n-1) def Button := jlobby.java.awt.button; def b := Button.new( test ); b.addactionlistener(object: { def actionperformed(ae) { system.println( button pressed ); );
27 10 Extensible language def fac(n) { if: (n = 0) then: { 1 else: { n * fac(n-1) Block closures Keyworded messages Interfacing with JVM Reflection def Button := jlobby.java.awt.button; def b := Button.new( test ); b.addactionlistener(object: { def actionperformed(ae) { system.println( button pressed ); );
28 11 Event loop concurrency Actor Based on E programming language [Miller05] Message queue Event loop
29 11 Event loop concurrency Actor Based on E programming language [Miller05] local object Message queue Event loop
30 11 Event loop concurrency Actor Based on E programming language [Miller05] local object obj.m() obj Message queue Event loop
31 11 Event loop concurrency Actor Based on E programming language [Miller05] local object remote object Message queue Event loop
32 11 Event loop concurrency Actor Based on E programming language [Miller05] local object remote object obj<-m() obj Message queue Event loop
33 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
34 12 Futures def future := mplayer<-numsongsinlibrary() mplayer
35 12 Futures def future := mplayer<-numsongsinlibrary() mplayer
36 12 Futures def future := mplayer<-numsongsinlibrary()? future mplayer
37 12 Futures def future := mplayer<-numsongsinlibrary()? future mplayer
38 12 Futures def future := mplayer<-numsongsinlibrary()? future mplayer
39 12 Futures def future := mplayer<-numsongsinlibrary()? future mplayer when: future becomes: { num system.println( user shares + num + songs. )
40 12 Futures def future := mplayer<-numsongsinlibrary()? future mplayer num when: future becomes: { num system.println( user shares + num + songs. )
41 13 Exporting objects deftype MusicPlayer; def interface := object: { def opensession() {... interface export: interface as: MusicPlayer;
42 13 Exporting objects deftype MusicPlayer; def interface := object: { def opensession() {... interface export: interface as: MusicPlayer;
43 14 Ambient References def mplayerfuture := ambient: MusicPlayer; Initiates service discovery Immediately returns future for object to be discovered
44 14 Ambient References def mplayerfuture := ambient: MusicPlayer;? mplayer Future Initiates service discovery Immediately returns future for object to be discovered
45 15 Ambient References def mplayerfuture := ambient: MusicPlayer; mplayer Future?
46 15 Ambient References def mplayerfuture := ambient: MusicPlayer; def sessionfuture := mplayerfuture<-opensession(); mplayer Future?
47 15 Ambient References def mplayerfuture := ambient: MusicPlayer; def sessionfuture := mplayerfuture<-opensession(); mplayer Future?
48 15 Ambient References def mplayerfuture := ambient: MusicPlayer; def sessionfuture := mplayerfuture<-opensession(); mplayer Future? when: mplayerfuture becomes: { ambientref println( music player found )
49 15 Ambient References def mplayerfuture := ambient: MusicPlayer; def sessionfuture := mplayerfuture<-opensession(); mplayer Future? interface when: mplayerfuture becomes: { ambientref println( music player found )
50 15 Ambient References def mplayerfuture := ambient: MusicPlayer; def sessionfuture := mplayerfuture<-opensession(); mplayer Future? interface ambientref when: mplayerfuture becomes: { ambientref println( music player found )
51 15 Ambient References def mplayerfuture := ambient: MusicPlayer; def sessionfuture := mplayerfuture<-opensession(); mplayer Future? interface ambientref when: mplayerfuture becomes: { ambientref println( music player found )
52 15 Ambient References def mplayerfuture := ambient: MusicPlayer; def sessionfuture := mplayerfuture<-opensession(); mplayer Future? interface ambientref when: mplayerfuture becomes: { ambientref println( music player found )
53 15 Ambient References def mplayerfuture := ambient: MusicPlayer; def sessionfuture := mplayerfuture<-opensession(); mplayer Future? interface ambientref Bound Unbound Connected Disconnected
54 16 Failure handling Event handlers on ambient references: mplayer Future? interface ambientref when: ambientref disconnects: { println( music player disconnected ) when: ambientref reconnects: { println( music player reconnected )
55 16 Failure handling Event handlers on ambient references: mplayer Future? interface ambientref when: ambientref disconnects: { println( music player disconnected ) when: ambientref reconnects: { println( music player reconnected )
56 16 Failure handling Event handlers on ambient references: mplayer Future? interface ambientref when: ambientref disconnects: { println( music player disconnected ) when: ambientref reconnects: { println( music player reconnected )
57 17 Failure Handling Leased references which eventually expire Futures + timeouts when: o<-m()@timeout(minutes(10)) becomes: { v // process return value catch: TimeoutException using: { e // deal with timeout
58 18 Variations Past experiments: ambient omni -references: broadcasting content-based discovery Future experiments: Customisable message delivery guarantees First-class proximity: restrict spatial scope of ambient references
59 19 Lessons Learned AmbientTalk = OO + Events: Block closures as nested event handlers Futures: non-blocking synchronisation Buffered asynchronous messaging abstracts over intermittent connectivity Ambient references: space-decoupled remote object references
60 20 Conclusion MANETs: loosely coupled collaboration AmbientTalk: actor-based OO language Deal with universal MANET characteristics at the language level: Intermittent Connectivity: time & sync-decoupled references Scarce Infrastructure: space-decoupled references
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 informationLinguistic 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 informationTowards 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 informationObject-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 informationResilient 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 informationContext-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 informationAmbient 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 informationAmbientTalk: 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 informationone.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 informationAmbient-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 informationLinguistic 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 informationBringing 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 informationProgramming 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 informationImplementing 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 informationScala 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 informationA 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 informationOrchestrating 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 informationDistributed 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 informationEvent 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 informationScala : 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 informationFoundations of object orientation
Foreword Preface List of projects discussed in detail in this book Acknowledgments Part 1 Chapter 1 Chapter 2 Foundations of object orientation Objects and classes 1.1 Objects and classes 1.2 Creating
More informationProgramming 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 informationShacl: 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 informationMirror-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 informationParallel 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 informationMS 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 informationDynamic 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 informationA Sense of Time for JavaScript and Node.js
A Sense of Time for JavaScript and Node.js First-Class Timeouts as a Cure for Event Handler Poisoning James C. Davis Eric R. Williamson Dongyoon Lee COMPUTER SCIENCE - 1 - Contributions Attack: Event Handler
More informationDS 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 informationIntroduction 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 informationA 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 informationA 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 informationAn Introduction to Software Architecture By David Garlan & Mary Shaw 94
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to
More informationIndex. 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 informationProblems 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 informationDISTRIBUTED 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 informationAdvantages of concurrent programs. Concurrent Programming Actors, SALSA, Coordination Abstractions. Overview of concurrent programming
Concurrent Programming Actors, SALSA, Coordination Abstractions Carlos Varela RPI November 2, 2006 C. Varela 1 Advantages of concurrent programs Reactive programming User can interact with applications
More informationAdvances in Programming Languages
O T Y H Advances in Programming Languages APL5: Further language concurrency mechanisms David Aspinall (including slides by Ian Stark) School of Informatics The University of Edinburgh Tuesday 5th October
More informationJava Programming. Price $ (inc GST)
1800 ULEARN (853 276) www.ddls.com.au Java Programming Length 5 days Price $4235.00 (inc GST) Overview Intensive and hands-on, the course emphasizes becoming productive quickly as a Java application developer.
More informationOverview. 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 informationSoftware MEIC. (Lesson 20)
Software Architecture @ MEIC (Lesson 20) Last class C&C styles Multi-tier style Dynamic reconfiguration style Peer-to-Peer style Today C&C styles Publish-subscribe style Service-oriented architecture style
More informationOverview. Elements of Programming Languages. Objects. Self-Reference
Overview Elements of Programming Languages Lecture 10: James Cheney University of Edinburgh October 23, 2017 Last time: programming in the large Programs, packages/namespaces, importing Modules and interfaces
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More information[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 informationAn 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 informationRFC 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 information6.001, Fall Semester, 1998 Lecture Notes, October 27 { Object Oriented Programming 2 An environment diagram illustrating +define foo +cons 1 2,, +set-
1 MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science 6.001 Structure and Interpretation of Computer Programs Fall Semester, 1998 Lecture Notes, October 27 {
More informationCO Java EE 7: Back-End Server Application Development
CO-85116 Java EE 7: Back-End Server Application Development Summary Duration 5 Days Audience Application Developers, Developers, J2EE Developers, Java Developers and System Integrators Level Professional
More informationExecutive 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 informationMessage Queuing Telemetry Transport
Message Queuing Telemetry Transport G. Priyanka Reddy B.Tech Student, Sphoorthy Engineering College, Hyderabad. Abstract: Internet of things refers to uniquely identifiable objects and the representation
More informationReactive Systems. Dave Farley.
Reactive Systems Dave Farley http://www.davefarley.net @davefarley77 Reactive Systems 21st Century Architecture for 21st Century Problems Dave Farley http://www.davefarley.net @davefarley77 http://www.continuous-delivery.co.uk
More informationF6COM: A Case Study in Extending Container Services through Connectors
F6COM: A Case Study in Extending Container Services through Connectors Abhishek Dubey, Andy Gokhale, Gabor Karsai, William R. Otte; Vanderbilt University/ISIS Johnny Willemsen; Remedy IT Paul Calabrese,
More informationG Programming Languages - Fall 2012
G22.2110-003 Programming Languages - Fall 2012 Week 13 - Part 1 Thomas Wies New York University Review Last lecture Object Oriented Programming Outline Today: Scala Sources: Programming in Scala, Second
More informationOverview. Elements of Programming Languages. Objects. Self-Reference
Overview Elements of Programming Languages Lecture 11: James Cheney University of Edinburgh November 3, 2015 Last time: programming in the large Programs, packages/namespaces, importing Modules and interfaces
More informationMobile Ad-hoc and Sensor Networks Lesson 04 Mobile Ad-hoc Network (MANET) Routing Algorithms Part 1
Mobile Ad-hoc and Sensor Networks Lesson 04 Mobile Ad-hoc Network (MANET) Routing Algorithms Part 1 Oxford University Press 2007. All rights reserved. 1 Ad-hoc networks deployment For routing, target detection,
More informationThe 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 informationDistributed 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 informationVrije 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 informationProgramming 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 informationUsing Declarative Models in Multi-device Smart Space
Using Declarative Models in Multi-device Smart Space Environments Sailesh Sathish 1 2005 Nokia w3cpresentation.ppt / 2007-06-05 / SS Introduction Smart Space What is smart space? Smart space is any smart
More informationMobile Ad-hoc and Sensor Networks Lesson 05 Mobile Ad-hoc Network (MANET) Routing Algorithms Part 2
Mobile Ad-hoc and Sensor Networks Lesson 05 Mobile Ad-hoc Network (MANET) Routing Algorithms Part 2 Oxford University Press 2007. All rights reserved. 1 Temporally ordered routing algorithm (TORA) A reactive
More informationToday CSCI Remote Method Invocation (RMI) Distributed Objects
Today CSCI 5105 Remote Method Invocation (RMI) Message-oriented communication Stream-oriented communication Instructor: Abhishek Chandra 2 Remote Method Invocation (RMI) RPCs applied to distributed objects
More informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
More informationProactive 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 informationGrand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015
Grand Central Dispatch and NSOperation CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 1 Credit Where Credit Is Due Most of the examples in this lecture were inspired by example code
More informationA Role-based Use Case Model for Remote Data Acquisition Systems *
A Role-based Use Case Model for Remote Acquisition Systems * Txomin Nieva, Alain Wegmann Institute for computer Communications and Applications (ICA), Communication Systems Department (DSC), Swiss Federal
More informationArchitectural Models
Architectural Models Dr. Gannouni Sofien Most concepts are drawn from Chapter 2 Pearson Education Some ideas from Chapter 1 Pearson Education Presentation Outline Introduction Architectural Models Software
More informationDomains: 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 informationIGL S AND MOUNT NS. Taking AKKA to Production
IGL S AND MOUNT NS Taking AKKA to Production THIS TALK Hello! I m Derek Wyatt, Senior Platform Developer at Auvik Networks! and author of Akka Concurrency Scala, Play and Akka form the foundational triad
More informationVlad Vinogradsky
Vlad Vinogradsky vladvino@microsoft.com http://twitter.com/vladvino Commercially available cloud platform offering Billing starts on 02/01/2010 A set of cloud computing services Services can be used together
More informationDepartment 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 informationA Comparative Study of Web Services-based Event Notification Specifications
A Comparative Study of Web Services-based Event tification Specifications Yi Huang and Dennis Gannon Extreme! Computing Lab Dept. of Computer Science Indiana University Event tification Systems Enable
More informationProduced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar
Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationWriting Concurrent Desktop Applications in an Actor-Based Programming Model
Writing Concurrent Desktop Applications in an Actor-Based Programming Model Jan Schäfer Arnd Poetzsch-Heffter jschaefer@cs.uni-kl.de University of Kaiserslautern Department of Computer Science Software
More informationDeclarative concurrency. March 3, 2014
March 3, 2014 (DP) what is declarativeness lists, trees iterative comutation recursive computation (DC) DP and DC in Haskell and other languages 2 / 32 Some quotes What is declarativeness? ness is important
More informationXML Spaces Beyond Web Services
XML Spaces Beyond Web Services Patrick Thompson Chief Architect Rogue Wave Software thompson@roguewave.com 2002-03-07 1 XML Tuple Spaces: Summary Secure XML communications over the Internet Primary characteristics:
More informationIntroduction 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 informationMPI Proto: Simulating Distributed Computing in Parallel
MPI Proto: Simulating Distributed Computing in Parallel Omari Stephens 1 Introduction MIT class 6.338, Parallel Processing, challenged me to, vaguely, do something with parallel computing. To this end,
More informationPervasive 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 informationIntroduction 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 informationIntegration Test Plan. Angry Face Studios
Integration Test Plan Angry Face Studios April 9, 2008 Contents 1 Revision History 3 2 Introduction 4 2.1 Scope................................................. 4 2.2 Purpose................................................
More informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationMICROSERVICES ORCHESTRATIONS WITH BPM. Dr. Marigianna Skouradaki
1 MICROSERVICES ORCHESTRATIONS WITH BPM Dr. Marigianna Skouradaki Microservices To BPM or not to BPM? 2 Source: https://goo.gl/yf951d Source: https://goo.gl/b9y6th Source: https://goo.gl/ypbrkz Source:
More informationWhen the Servlet Model Doesn't Serve. Gary Murphy Hilbert Computing, Inc.
When the Servlet Model Doesn't Serve Gary Murphy Hilbert Computing, Inc. glm@hilbertinc.com Motivation? Many decision makers and programmers equate Java with servlets? Servlets are appropriate for a class
More informationJava 8 Programming for OO Experienced Developers
www.peaklearningllc.com Java 8 Programming for OO Experienced Developers (5 Days) This course is geared for developers who have prior working knowledge of object-oriented programming languages such as
More informationDynamic 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 informationNOWHERE. 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 informationDistributed 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 informationLesson 19 Software engineering aspects
Lesson 19 Software engineering aspects Service Oriented Architectures Security Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano SOA is HAD HAD is an old concept
More informationF6 Model-driven Development Kit (F6MDK)
F6 Model-driven Development Kit (F6MDK) Gabor Karsai, Abhishek Dubey, Andy Gokhale, William R. Otte, Csanad Szabo; Vanderbilt University/ISIS Alessandro Coglio, Eric Smith; Kestrel Institute Prasanta Bose;
More informationReaktive Anwendungen mit RxJava. Dr. Michael Menzel
Reaktive Anwendungen mit RxJava Dr. Michael Menzel DIGITALIZATION DIGITALIZATION DIGITALIZATION DIGITALIZATION REACTIVE ARCHITECTURES How can we build highly interactive (responsive) systems, which are
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationArchitectural 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 informationNeed for synchronization: If threads comprise parts of our software systems, then they must communicate.
Thread communication and synchronization There are two main aspects to Outline for Lecture 19 multithreaded programming in Java: I. Thread synchronization. thread lifecycle, and thread synchronization.
More informationFoundational Design Patterns for Moving Beyond One Loop
Foundational Design Patterns for Moving Beyond One Loop Raja Pillai Technical Consultant Agenda Why move beyond one loop? What is a design pattern? Why learn communication mechanisms? Functional global
More informationClojure 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 informationInheritance STL. Entity Component Systems. Scene Graphs. Event Systems
Inheritance STL Entity Component Systems Scene Graphs Event Systems Event Systems Motivation: Decoupling events from where they are sent and where they are processed. It facilitates communication between
More informationGoing Reactive. Reactive Microservices based on Vert.x. JavaLand Kristian Kottke
Going Reactive Reactive Microservices based on Vert.x JavaLand Kristian Kottke Whoami Kristian Kottke Lead Software Engineer -> iteratec Interests Software Architecture Big Data Technologies Kristian.Kottke@iteratec.de
More informationHigh 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 informationAnti-Patterns in Progress. Sean Overby Senior Technologist, Solvepoint Corporation
Anti-Patterns in Progress Sean Overby Senior Technologist, Solvepoint Corporation Overview Patterns are common solutions to common programming problems. Just as there are good solutions and bad solutions
More information