Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE.

Slides:



Advertisements
Similar presentations
Executional Architecture
Advertisements

Self-Managing Anycast Routing for DNS
Distributed Systems Topics What is a Distributed System?
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
A metadata-driven approach to context-sensitive composition of collaborations Eddy Truyen, Wouter Joosen and Pierre Verbaeten Bo N. Jørgensen Maersk Institute.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
Software Engineering and Middleware A Roadmap Author: Wolfgang Emmerich Presented by: Sam Malek.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
3 Cloud Computing.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
Chapter 1 Characterization of Distributed Systems Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bộ môn Mạng và Truyền Thông Máy Tính.
INFORMATION AND COMMUNICATION SYSTEMS MERIT 2008 Research Symposium Melbourne Engineering Graduates Look to the Future System Architecture An internetworking.
Architecting Web Services Unit – II – PART - III.
Modularizing Web Services Management with AOP María Agustina Cibrán, Bart Verheecke { Maria.Cibran, System and Software Engineering.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
1 MAIN TABLE OF CONTENTS Definition: SOFTWARE AGENT HOW MANY TYPES OF AGENT? DEFINITION OF MOBILE AGENT: SOFTWARE AGENTS PROPERTIES, WORKING OF MOBILE.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
KATHOLIEKE UNIVERSITEIT LEUVEN 1.NET Curriculum Workshop Teaching Software Security: Case Studies on the.NET Framework Frank Piessens and Wouter Joosen.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
CSCI 444 / CIS 644 Event Driven Programming. Outline I.What is an event driven system? II.What is event driven programming? III.Course Overview.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
DESIGN OF SOFTWARE ARCHITECTURE
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
Jim Dowling, DSG. Introduction to Reflection1 Reflection and the Metaobject Protocol paradigm by Jim Dowling.
Interceptor CS562 Spring 2002 Jan Anand Krishnan Morgan Deters Venkita Subramonian.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
A Meta-Object Protocol for Environmental Adaptation in a Grid
Chapter 1 Characterization of Distributed Systems
Architecting Web Services
Architecting Web Services
CSC 480 Software Engineering
CHAPTER 3 Architectures for Distributed Systems
Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys VGTU, Vilnius, Lithuania.
Building Systems That Flexibly Control Downloaded Executable Content
Mobile Agents.
3 Cloud Computing.
Presentation transcript:

Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE

The Correlate project Testbed, experimental environment to study –Software system architecture –Language technology to support concurrency and distribution Correlate is … –a COOL –an execution environment based on a meta-level architecture and a meta-object protocol (MOP)

About this demo Focus : support of mobility in an open software architecture Problem domain : building flexible subsystems to support non-functional requirements in a distributed application, e.g. load balancing, fault tolerance, etc.

Typical applications Web server farm for high-availability in content management A simpler (more pedagogical) example: distributed simulation.  Even with simple application logic, achieving performance, reliability, security is hard.

Key issue Separation of concerns –policy vs. mechanism

Overview of the demo session The object model of Correlate and demonstration of a simple application (simulation) The mobility mechanism and demonstration within the context of the simulation Policy objects and demo of the separation of concerns Discussion & implementation issues Future directions

1 Object Model Active objects –self contained –unit of concurrency –control over synchronization –autonomous behavior  natural unit for migration

An example… active class SORWorkUnit { autonomous void step() precondition isReady() { … } public void deliver(Border msg) precondition isWaiting() { … } }

2 Meta-level architecture Metaprograms cope with non-functional requirements –fault-tolerance, distribution, performance, security,... Mastering complexity by separation of concerns Enabling mechanism: MOP

3 Mobility Requirements : –migrate state, ongoing computations and messages –use global references only (uid’s) The MOP: reification of –object state, object behavior and messages –object identity

The MOP m1 m2 activation o1o2 MOP request message start invoke

3 Policies for mobility Requirement : –Configuration of mobility system for specific applications Template + Policy : –Meta-program defines criteria –Instantiation according to application needs Roles (application programmer, subsystem programmer, system integrator)

An example Distributor { constructorproperty creation = BALANCED | LOCAL | CUSTOMIZED; objectproperty migration = NONE | BALANCED; objectproperty double getLoad() { return 1.0; } } Distributor SORWorkUnit { constructorproperty SORWorkUnit(...) { creation = BALANCED; } objectproperty migration = BALANCED; objectproperty double getLoad() { return x*y; } }

4 Discussion Java implementation Thread migration, serialization –active object = (state, identity, execution state) –byte-code rewriting Execution runtime –reification engine

5 Future directions Policies should glue between meta-program and application Meta-program becomes coordinator for several application concerns