Adaptive Fault Tolerant Systems: Reflective Design and Validation

Size: px
Start display at page:

Download "Adaptive Fault Tolerant Systems: Reflective Design and Validation"

Transcription

1 1 Adaptive Fault Tolerant Systems: Reflective Design and Validation Marc-Olivier Killijian Dependable Computing and Fault Tolerance Research Group Toulouse - France

2 2 Motivations Provide a framework for FT developers Open Flexible Dependability of both embedded and large scale distributed systems Adaptation of fault tolerance strategies to environmental conditions and evolutions Validate this framework Test Fault-injection

3 3 History Reflection for Dependability 1. Friends v1 - off-the-shelf MOP Limits: static MO, inheritance, etc. 2. Friends v2 - ad-hoc MOP / CT reflection 3. Multi-Level Reflection Validation of the platform Test of MOP based architectures Fault-injection and failure modes analysis

4 4 Outline Reflection for Dependability 1. Friends v1 - off-the-shelf MOP Limits: static MO, inheritance, etc. 2. Friends v2 - ad-hoc MOP / CT reflection 3. Multi-Level Reflection Validation of the platform Test of MOP based architectures Fault-injection and failure modes analysis

5 5 Why Reflection? Separation of concerns Non functional requirements Applications Adaptation Selection of mechanisms w.r.t. needs Changing strategies dynamically Portability/Reuse Reflective platform (relates to adaptation) Meta-level software (mechanisms)

6 6 Overall Philosophy Metalevel (metaobjects and policies) One-to-one One-to-many Dynamic association Baselevel (application objects) Wrappers API Middleware OS / kernel Comm. protocols Hardware platform Testing strategies Mechanisms Development Failure Modes analysis Assumptions Faults SWIFI Fault model

7 7 Friends v2 : A MOP on Corba MOP design Identify information to be reified and controlled MOP implementation Compile-time reflection Using CORBA facilities Prototype for illustration Architecture and basic services Fault tolerance mechanisms Preliminary performance analysis

8 8 Necessary information : integrated mechanism example Client 1-invocation 7-reply Server 4-send checkpoint 6-return Replica 2-process invocation 3-obtain checkpoint 5-apply checkpoint

9 9 Necessary information : metaobjects example Meta Stub MO Server 4-send checkpoint MO Replica 7-reply 6-return Client Stub Server Replica 1-invocation 2-process invocation 3-obtain checkpoint 5-apply checkpoint Observation invocations state capture Control method calls state restoration

10 10 Which protocol? Observation Interception Creation Destruction Invocations (In and out) State capture Links control Object/metaobject Clients/servers Reification Meta Object Object Activation Creation Destruction Invocations Control State restoration Links control Object/metaobject Clients/servers Intercession

11 11 Protocol definition Meta stub Metastub 1 Meta 2 object Metaobject Client Stub Stub Object Server 1 2 Protocol and interfaces specific to a mechanism

12 12 Using Open Compiler Meta Class Compile-time MOP Class Open Compiler Class + MOP o.foo(); interinfo TranslateMethodCall ( ReifiedInfo) {.. return NewCode; } NewCode

13 13 Architecture Services OF OF MOF MOF GS GS OF OF MOF MOF GS GS OF OF MOF MOF GS GS MS1 MS1 MO1 MO1 MO2 MO2 MOP MOP MOP C1 C1 S1 S1 S2 S2 Node 1 Node 1 ORB ORB Node 2 Node 2 Node 3 Node 3

14 14 Results A method for designing a MOP Analysis of mechanisms needs! MOP features Metaobject protocol for fault tolerance Transparent and dynamic association Automatic handling of internal state (full/partial) Portable serialization [OOPSLA 02] Smart stubs delegate adaptation to meta-stubs CORBA compliant (black-box) Some programming conventions

15 15 Lessons Learnt Generic MOP No assumption on low layers Based on CORBA features! With a platform «black-box» Language dependent Limitations external state determinism Open platform (ORB, OS and language)! Additions of new features to the MOP! Optimization of reflective mechanisms! Language level reflection still necessary FT Language ORB Runtime OS

16 16 Limits to be addressed Behavioral issues Concurrency models: Middleware level Threading and synchronization: Middleware/OS level Communication in progress: Middleware/OS level Structural/State issue Site-independent internal state : Open Languages Site-dependent internal state: Problems: Identification, handling Available means: Syscall interception, Journals and replay monitors External state Middleware level OS level " Concept of multilevel reflection

17 17 Which protocol? Observation Meta Object Interception Creation Destruction Invocations (In and out) Threading Synchronization Communication State capture Internal objects Site-dependent objects External objects (MW+OS) Links control Object/metaobject Clients/servers Control Activation/control Creation Destruction Invocations Threading Synchronization Communication State restoration Internal objects Site-dependent objects External objects (MW+OS) Links control Object/metaobject Clients/servers Reification Object Intercession

18 18 Which Platform? C S Universal VM for Distributed Objects Middleware Middleware Middleware Language Support Language Support OS OS OS Hardware Hardware Hardware Fault-Tolerance

19 19 Which Platform? This one? But difference between OS/MW LS/MW? C S Universal VM for Distributed Objects Middleware Middleware Middleware Language Support Language Support OS OS OS Hardware Hardware Hardware Fault-Tolerance

20 20 Which Platform? Or this one? C S Universal VM for Distributed Objects Middleware Middleware Middleware Language Support Language Support OS OS OS Hardware Hardware Hardware Fault-Tolerance

21 21 Which Middleware? FT needs to be aware of everything (potentially) C S Universal VM for Distributed Objects Under-ware Under-ware Fault-Tolerance Hardware Hardware Hardware

22 22 Which Middleware? FT needs to be aware of everything (potentially) but how? Reflective languages Reflective middleware Reflective OS Fault-Tolerance A lot of different concepts to manipulate

23 23 Multi-level level Reflection mono-level meta-models aggregation multi-level meta-model Fault-Tolerance Self-contained, integrated, meta-interface

24 24 Multilevel Reflection Apply reflection to a complete platform Application, Middleware, Operating System Consistent view of the internal entities/concepts Transactions, stable storage, assumptions Memory, data, code Objects, methods, invocations, servers, proxies Threads, pipes, files Context switches, interrupts Define metainterfaces and navigation tools Which metainterface (one per level? Generic?) Consistency # metamodel

25 25 Different Aspects Intra-level information Necessary for FT Efficiency (lowest possible? Same concepts at levels?) Inter-level information ML management (inter-level coupling) Adaptation Concepts/levels navigation mono-level meta-models aggregation multi-level meta-model Fault-Tolerance Self-contained, integrated, meta-interface

26 26 Requirements of FT- Mechanisms? Non determinism of scheduling/execution time!interlevel interactions mostly asynchronous Trend: Leverage know-how on FT asynch. distributed sys.! Causality tracking/ monitoring of non-determinism is needed.! State capture/ recovery at appropriate granularity is needed.! (?) q p r p q r [Kasbekar99, Basile02] P t 1 o 2 o t 2 1 P o 1 t 2o2 t 1

27 27 Inter-Level Coupling (I) A Level = 1..n COTS = A set of interfaces = Concepts Primitives / base entities (keywords, syscalls, data types, ) Rules on how to use them (concepts, base entities, rules) = programming model Very broad notion (includes programming languages) Self contained Base entities a-tomic within that programming model Can t be split in smaller entities within the programming model. Implemented by more elementary entities within the component. Implementation is internal hidden to component user.

28 28 Inter-Level Coupling (II) CORBA : Location transparent object method invocation A CORBA request = aggregation Communication medium ( pipes, sockets, ) Local control flow ( POSIX threads, Java threads, LWP, ) Global control flow abstraction transparent interaction Appli. Mw. observation level client client CORBA interaction thread signal socket mutex server server composite interaction chain

29 29 Inter-Level Coupling (III) Within a COTS : Coupling between emerging entities of next upper level and implementation entities of lower levels Structural coupling relationships ( abstraction mappings ) translation / aggregation / multiplexing / hiding Dynamic coupling relationships ( interactions ) creation / binding / destruction / observation / modification Appli. Mw. Level N+1 Level N

30 Extracting Coupling in CORBA (I) 30 Appli. Mw. observation level client client CORBA interaction thread signal socket mutex server server

31 (II) Extracting Coupling in CORBA 31 Behavioral model of connection oriented Berkeley sockets as seen by the middleware programmer * accept call socket close shutdown idle accepting connections bound unbound accept return bind ; listen * new socket call to recv idle send return from recv waiting for reception

32 Extracting Coupling in CORBA Object Creation Thread Creation (III) 32 Method Invocation Socket API bind listen accept recv send shutdown ** Dynamic coupling between CORBA invocations and the socket API

33 33 FT + Inter-Level Coupling Top-down observation & control State capture Monitoring of non-determinism (I) System's Functional Interface Application Layer L A Abstraction Level Lev n+1 Executive Layer L n+1 Abstraction Level Lev n Executive Layer L n Abstraction Level Lev n-1

34 34 FT + Inter-Level Coupling Bottom-up observation & control Fault propagation analysis / confinement (II) Rollback propagation / state recovery System's Functional Interface Application Layer L A Abstraction Level Lev n+1 Executive Layer L n+1 Abstraction Level Lev n Executive Layer L n Abstraction Level Lev n-1

35 35 Meta-filters All the information is not always necessary Specific mechanisms need specific info Mechanisms can change over time Need a way to dynamically filter Efficiency Don t reify unnecessary things Have hooks ready but passified + subscriptions Meta-filters implementation Simple boolean matrices Code-injection techniques

36 36 Current & Future Work on MLR Still some work on ORB/OS analysis Implementation a la carte : several «flavours» Radical style # full metamodel from scratch or based on modified open-source components Middle-Way based on available reflective components + wrappers EZ way wrapped COTS # limited metamodel Evaluate the benefits on mechanisms Efficiency /ad-hoc /language level reflection Evolution of non-funtionnal requirements/asumptions Environmental evolution Validation Rigourous testing stategies for reflective/adaptive systems Characterization by various ad-hoc fault injection techniques

37 37 Adaptive Fault Tolerant Systems Part II- Testing Reflective Systems Reflection 00 - DSN 01- IEEE ToC 03 Ruiz, Fabre, Thevenod, Killijian Dependable Computing and Fault Tolerance Research Group Toulouse - France

38 38 Motivations for testing MOPs In reflective architectures the MOP is the corner stone FT completely rely on the reflective mechanisms Very little work has been done Few on formal verification None on testing Validation of the FT architectures Test of the underlying platform Fault-injection

39 39 Testing Reflective Systems 1. Test order definition (reification reification,, intercession, introspection) 2. Test objectives for each testing level 3. Conformance checks for each testing level 4. Test environments

40 40 Testing MOPs TL0.. Testing preceding the MOP activation TL1.. Reification mechanisms TL2.. Behavioral intercession mechanisms TL3.. Introspection mechanisms TL4. Structural intercession mechanisms

41 41 Incremental Test Order TL0. implementation dependent TL1.. Reification mechanisms TL2.. Behavioral intercession mechanisms TL3.. Introspection mechanisms TL4. Structural intercession mechanisms

42 42 TL1: Reification (behavioral observation) 3 Oracle Comparison: - Invoked method - Parameter values - Output values 6 metaobject metaobject - Observation - Method execution is simulated by generating a random value for each output parameter object test driver service server

43 43 Oracle TL2: Behavioral intercession Server traces are checked according to the data supplied by the test driver 8 (behavioral control) metaobject metaobject - Reified information is systematically delivered to the server object - Output values are returned to the test driver test driver 4 service Behavioral intercession 3

44 44 TL3: Introspection (structural observation) 1 metaobject metaobject metacontrol 3 test driver service 2 Behavioral intercession 4 Introspection State 5 6 Is the introspected state consistent with the initialization state? Oracle 7

45 45 TL4: Structural intercession (structural control) metaobject metaobject metacontrol test driver 1-2 service Behavioral intercession 4 Structural intercession State 5 Introspection 5 6 Is the introspected state consistent with the initialization state? Oracle 7

46 46 Test Experiments (I) (Service interfaces) interface shorttypeparameters{ short ReturnValue (); void InValue (in short v); void OutValue (out short v); void InOutValue (inout short v); short All ( in short v1, out short v2, inout short v3); }; Reification & Behavioral Intercession Built-in types, Strings, Class types, Structures and Arrays Introspection & Structural Intercession interface shorttypeattributes{ attribute short ReadWriteValue ; attribute readonly short ReadValue ; };

47 47 Test Experiments (II) (object-oriented properties considered) Inheritance: A A C simple B multiple B Encapsulation (methods and attributes): public / protected / private

48 48 Experimental results Reification / Behavioral intercession Method invocations were incorrectly handled using inheritance A foo() B foo() fooid fooid Internal object activity was incorrectly encapsulated int fact(int i){ if (i==0) return 1; return i*fact fact(i-1); } Introspection / Structural intercession Object composition on vs Object references deep copy/restore reference internal object shallow copy/restore external object

49 49 About testing MOPs Step forward for testing reflective systems Reusing mechanisms already tested for testing the remaining ones. Case Study: : feasibility f and effectiveness of the proposed approach Automatic generation of test case input values Guidelines for MOP design Generalizing the approach Multi-level reflective systems Future work Aspect-oriented programming Testing reflection # Reflection for testing

50 50 Conclusion MOPs for FT architectures Language reflection / middleware not reflective CORBA Portable Interceptors Support for FT too limited Unified approach for multi layered open systems Multi-level reflection Validation of the platform Test : augment the confidence FI : failure mode analysis feedback on FT mechanisms

Building Dependable COTS Microkernel-based Systems using MAFALDA

Building Dependable COTS Microkernel-based Systems using MAFALDA Building Dependable COTS Microkernel-based Systems using MAFALDA Jean-Charles Fabre, Manuel Rodríguez, Jean Arlat, Frédéric Salles and Jean-Michel Sizun LAAS-CNRS Toulouse, France PRDC-2000, UCLA, Los

More information

Principles of Multi-Level Reflection for Fault Tolerant Architectures

Principles of Multi-Level Reflection for Fault Tolerant Architectures Principles of Multi-Level Reflection for Fault Tolerant Architectures François Taïani, Jean-Charles Fabre, Marc-Olivier Killijian LAAS-CNRS, 7, avenue du Colonel Roche, 31077 Toulouse Cedex 4, France {francois.taiani,

More information

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective Java and A Reflective Component-Based Transaction Architecture Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,

More information

JiST: Java in Simulation Time

JiST: Java in Simulation Time JiST: Java in Simulation Time Transparent Parallel and Optimistic Execution of Discrete Event Simulations (PDES) of Mobile Ad hoc Networks (MANETs) Rimon Barr barr@cs.cornell.edu Wireless Network Lab Cornell

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

Today: Distributed Objects. Distributed Objects

Today: Distributed Objects. Distributed Objects Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.

More information

Characterization of COTS Microkernel-based Systems using MAFALDA

Characterization of COTS Microkernel-based Systems using MAFALDA Characterization of COTS Microkernel-based Systems using MAFALDA Jean-Charles Fabre LAAS-CNRS Toulouse, France IFIP Working Group 1.4 Meeting Paraty, Brazil March 1-3, 21 Problem statement Building executive

More information

A Metaobject Protocol for Fault-Tolerant CORBA Applications *

A Metaobject Protocol for Fault-Tolerant CORBA Applications * A Metaobject Protocol for Fault-Tolerant CORBA Applications * Marc-Olivier Killijian 1, Jean-Charles Fabre, Juan-Carlos Ruiz-Garcia LAAS-CNRS, 7 Avenue du Colonel Roche 31077 Toulouse cedex, France Shigeru

More information

metaxa and the Future of Reflection

metaxa and the Future of Reflection metaxa and the Future of Reflection Michael Golm, Jürgen Kleinöder University of Erlangen-Nürnberg Dept. of Computer Science 4 (Operating Systems) Martensstr. 1, D-91058 Erlangen, Germany {golm, kleinoeder}@informatik.uni-erlangen.de

More information

Concurrent Object-Oriented Programming

Concurrent Object-Oriented Programming Concurrent Object-Oriented Programming Bertrand Meyer, Volkan Arslan 2 Lecture 4: Motivation and Introduction Definition 3 Concurrent programming = parallel programming on a single processor? = is about

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure

More information

Administrative Stuff. We are now in week 11 No class on Thursday About one month to go. Spend your time wisely Make any major decisions w/ Client

Administrative Stuff. We are now in week 11 No class on Thursday About one month to go. Spend your time wisely Make any major decisions w/ Client Administrative Stuff We are now in week 11 No class on Thursday About one month to go Spend your time wisely Make any major decisions w/ Client Real-Time and On-Line ON-Line Real-Time Flight avionics NOT

More information

Providing Real-Time and Fault Tolerance for CORBA Applications

Providing Real-Time and Fault Tolerance for CORBA Applications Providing Real-Time and Tolerance for CORBA Applications Priya Narasimhan Assistant Professor of ECE and CS University Pittsburgh, PA 15213-3890 Sponsored in part by the CMU-NASA High Dependability Computing

More information

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan. Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA

More information

Verteilte Systeme (Distributed Systems)

Verteilte Systeme (Distributed Systems) Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 4: Operating System Support Processes and

More information

Today: Distributed Middleware. Middleware

Today: Distributed Middleware. Middleware Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out

More information

Distributed Objects. Object-Oriented Application Development

Distributed Objects. Object-Oriented Application Development Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming

More information

Unit 7: RPC and Indirect Communication

Unit 7: RPC and Indirect Communication SR (Systèmes Répartis) Unit 7: RPC and Indirect Communication François Taïani Outline n Remote Procedure Call è First Class RPC è Second Class RPC (RMI) n Indirect Communication è Group Communication è

More information

03 Remote invoaction. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI

03 Remote invoaction. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI 03 Remote invoaction Request-reply RPC Coulouris 5 Birrel_Nelson_84.pdf RMI 2/23 Remote invocation Mechanisms for process communication on a Built on top of interprocess communication primitives Lower

More information

Remote Method Invocation as a First-Class Citizen

Remote Method Invocation as a First-Class Citizen Distrib. Comput. (2003) 16: 287-306 Digital Object Identifier (DOI) 10.1007/s00446-003-0094-8 Remote Method Invocation as a First-Class Citizen Walter Cazzola DICo - University degli Studi di Milano, Milano,

More information

Priya Narasimhan. Assistant Professor of ECE and CS Carnegie Mellon University Pittsburgh, PA

Priya Narasimhan. Assistant Professor of ECE and CS Carnegie Mellon University Pittsburgh, PA OMG Real-Time and Distributed Object Computing Workshop, July 2002, Arlington, VA Providing Real-Time and Fault Tolerance for CORBA Applications Priya Narasimhan Assistant Professor of ECE and CS Carnegie

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An 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

Outline. Interprocess Communication. Interprocess Communication. Communication Models: Message Passing and shared Memory.

Outline. Interprocess Communication. Interprocess Communication. Communication Models: Message Passing and shared Memory. Eike Ritter 1 Modified: October 29, 2012 Lecture 14: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK Outline 1 2 3 Shared Memory in POSIX systems 1 Based on material

More information

Advanced Distributed Systems

Advanced Distributed Systems Course Plan and Department of Computer Science Indian Institute of Technology New Delhi, India Outline Plan 1 Plan 2 3 Message-Oriented Lectures - I Plan Lecture Topic 1 and Structure 2 Client Server,

More information

Communication. Distributed Systems Santa Clara University 2016

Communication. Distributed Systems Santa Clara University 2016 Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces

More information

Lecture 06: Distributed Object

Lecture 06: Distributed Object Lecture 06: Distributed Object Distributed Systems Behzad Bordbar School of Computer Science, University of Birmingham, UK Lecture 0? 1 Recap Interprocess communication Synchronous and Asynchronous communication

More information

Architectural Patterns. Architectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2

Architectural Patterns. Architectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2 Architectural Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm

More information

Architectural Patterns

Architectural Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SAPM Spring 2012:

More information

Multiprocessors 2007/2008

Multiprocessors 2007/2008 Multiprocessors 2007/2008 Abstractions of parallel machines Johan Lukkien 1 Overview Problem context Abstraction Operating system support Language / middleware support 2 Parallel processing Scope: several

More information

Analysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD

Analysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD Analysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD PASSIVE CORBA FAULT TOLERANCE All clients send method invocations only

More information

System types. Distributed systems

System types. Distributed systems System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors

More information

Software Components and Distributed Systems

Software Components and Distributed Systems Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design

More information

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues 4.2 Silberschatz, Galvin

More information

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote

More information

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components

More information

CORBA Object Transaction Service

CORBA Object Transaction Service CORBA Object Transaction Service Telcordia Contact: Paolo Missier paolo@research.telcordia.com +1 (973) 829 4644 March 29th, 1999 An SAIC Company Telcordia Technologies Proprietary Internal Use Only This

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

Lecture 5: Object Interaction: RMI and RPC

Lecture 5: Object Interaction: RMI and RPC 06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

Distributed Systems. The main method of distributed object communication is with remote method invocation

Distributed Systems. The main method of distributed object communication is with remote method invocation Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,

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

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University CORBA and COM TIP Two practical techniques for object composition X LIU, School of Computing, Napier University CORBA Introduction Common Object Request Broker Architecture (CORBA) is an industry-standard

More information

Predictable Interrupt Management and Scheduling in the Composite Component-based System

Predictable Interrupt Management and Scheduling in the Composite Component-based System Predictable Interrupt Management and Scheduling in the Composite Component-based System Gabriel Parmer and Richard West Computer Science Department Boston University Boston, MA 02215 {gabep1, richwest}@cs.bu.edu

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

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

Topics in Object-Oriented Design Patterns

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

More information

PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI

PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI 1 2 Overview Distributed OZ Java RMI CORBA IDL IDL VS C++ CORBA VS RMI 3 Distributed OZ Oz Language Multi paradigm language, strong support for compositionality and

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating system? A collection of software modules to assist programmers in enhancing system efficiency, flexibility, and robustness An Extended Machine

More information

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics. Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined

More information

Reflective Middleware. INF Tommy Gudmundsen

Reflective Middleware. INF Tommy Gudmundsen Reflective Middleware INF5360 11.03.2008 Tommy Gudmundsen tommygu@ifi.uio.no Papers presented Grace, P., Blair, G.S., Samual, S., "ReMMoC: A Reflective Middleware to Support Mobile Client Interoperability"

More information

Middleware in Context: 2016 David E. Bakken. Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019

Middleware in Context: 2016 David E. Bakken. Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019 Middleware in Context Prof. Dave Bakken Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019 Sources of Info D. Bakken, Middleware, unpublished article (from an Encyclopedia of Distributed

More information

Operating Systems : Overview

Operating Systems : Overview Operating Systems : Overview Bina Ramamurthy CSE421 8/29/2006 B.Ramamurthy 1 Topics for discussion What will you learn in this course? (goals) What is an Operating System (OS)? Evolution of OS Important

More information

Middleware for Embedded Adaptive Dependability (MEAD)

Middleware for Embedded Adaptive Dependability (MEAD) Middleware for Embedded Adaptive Dependability (MEAD) Real-Time Fault-Tolerant Middleware Support Priya Narasimhan Assistant Professor of ECE and CS Carnegie Mellon University Pittsburgh, PA 15213-3890

More information

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture 1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** zahijarir@ucam.ac.ma, {pcdavid, ledoux}@emn.fr (*) Faculté

More information

Adaptive Middleware. Self-Healing Systems. Guest Lecture. Prof. Priya Narasimhan. Assistant Professor of ECE and ISRI Carnegie Mellon University

Adaptive Middleware. Self-Healing Systems. Guest Lecture. Prof. Priya Narasimhan. Assistant Professor of ECE and ISRI Carnegie Mellon University Adaptive Middleware Self-Healing Systems Guest Lecture Prof. Priya Narasimhan Assistant Professor of ECE and ISRI Carnegie Mellon University Recommended readings and these lecture slides are available

More information

On the Use of CORBA in High Level Software Applications at the SLS

On the Use of CORBA in High Level Software Applications at the SLS PAUL SCHERRER INSTITUT SLS TME TA 2001 0183 November, 2001 On the Use of CORBA in High Level Software Applications at the SLS Michael Böge, Jan Chrin Paul Scherrer Institut CH 5232 Villigen PSI Switzerland

More information

Checkpoint (T1) Thread 1. Thread 1. Thread2. Thread2. Time

Checkpoint (T1) Thread 1. Thread 1. Thread2. Thread2. Time Using Reection for Checkpointing Concurrent Object Oriented Programs Mangesh Kasbekar, Chandramouli Narayanan, Chita R Das Department of Computer Science & Engineering The Pennsylvania State University

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An 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 information

A QoS-aware CORBA Component Model for Distributed Real-time and Embedded System Development

A QoS-aware CORBA Component Model for Distributed Real-time and Embedded System Development A -aware CORBA Model for Distributed Real-time and Embedded System Development Nanbor Wang and Chris Gill {nanbor,cdgill}@cse.wustl.edu Department of Computer Science and Engineering Washington University

More information

416 Distributed Systems. RPC Day 2 Jan 12, 2018

416 Distributed Systems. RPC Day 2 Jan 12, 2018 416 Distributed Systems RPC Day 2 Jan 12, 2018 1 Last class Finish networks review Fate sharing End-to-end principle UDP versus TCP; blocking sockets IP thin waist, smart end-hosts, dumb (stateless) network

More information

Object Management Group. minimumcorba. Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Object Management Group

Object Management Group. minimumcorba. Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Object Management Group Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Philosophy A standard profile for limited resource systems Simpler means smaller and faster Vendors can profile implementations

More information

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Andrew Foster Product Manager PrismTech Corporation The Case for Java in Enterprise Real-Time Systems

More information

OPERATING SYSTEM. Chapter 4: Threads

OPERATING SYSTEM. Chapter 4: Threads OPERATING SYSTEM Chapter 4: Threads Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples Objectives To

More information

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) 1 2 CONVENTIONAL PROCEDURE CALL (a) (b) Parameter passing in a local procedure call: the stack before the call to read. The stack while the called procedure

More information

Advanced Topics in Operating Systems

Advanced Topics in Operating Systems Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:

More information

Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 29-31, Middleware in Context: 2016 David E. Bakken

Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 29-31, Middleware in Context: 2016 David E. Bakken Middleware in Context Prof. Dave Bakken Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 29-31, 2017 1 Sources of Info D. Bakken, Middleware, unpublished article (from an Encyclopedia

More information

Chapter 4 Communication

Chapter 4 Communication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI

More information

Object Interaction. Object Interaction. Introduction. Object Interaction vs. RPCs (2)

Object Interaction. Object Interaction. Introduction. Object Interaction vs. RPCs (2) Introduction Objective To support interoperability and portability of distributed OO applications by provision of enabling technology Object interaction vs RPC Java Remote Method Invocation (RMI) RMI Registry

More information

FlexiNet Matthew Faupel & Richard Hayton

FlexiNet Matthew Faupel & Richard Hayton (C) Ansa Consortium 1997 FlexiNet 1 1997 ANSA Consortium Matthew Faupel & Richard Hayton Utilising WWW increases Complexity Global Organisations - Electronic Commerce - Devolved Management Policy based

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Objectives To explain the advantages and disadvantages of different distributed systems architectures

More information

Introduction to Distributed Systems (DS)

Introduction to Distributed Systems (DS) Introduction to Distributed Systems (DS) INF5040/9040 autumn 2009 lecturer: Frank Eliassen Frank Eliassen, Ifi/UiO 1 Outline What is a distributed system? Challenges and benefits of distributed system

More information

Reflective and Adaptive Middleware

Reflective and Adaptive Middleware Advanced Distributed Systems Reflective and Adaptive Middleware MSc in Advanced Computer Science Gordon Blair (gordon@comp.lancs.ac.uk) Overview of the Session Reflective middleware: principles Background

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 [RPC & DISTRIBUTED OBJECTS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey XDR Standard serialization

More information

1.264 Lecture 16. Legacy Middleware

1.264 Lecture 16. Legacy Middleware 1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network

More information

FT-Java: A Java-Based Framework for Fault-Tolerant Distributed Software

FT-Java: A Java-Based Framework for Fault-Tolerant Distributed Software FT-Java: A Java-Based Framework for Fault-Tolerant Distributed Software Vicraj Thomas, Andrew McMullen, and Lee Graba Honeywell Laboratories, Minneapolis MN 55418, USA Vic.Thomas@Honeywell.com Abstract.

More information

Green Hills Software, Inc.

Green Hills Software, Inc. Green Hills Software, Inc. A Safe Tasking Approach to Ada95 Jim Gleason Engineering Manager Ada Products 5.0-1 Overview Multiple approaches to safe tasking with Ada95 No Tasking - SPARK Ada95 Restricted

More information

TCF. Anyware Technologies-All Right Reserved. Anyware's Implementation of the Target Communication Framework

TCF. Anyware Technologies-All Right Reserved. Anyware's Implementation of the Target Communication Framework TCF Anyware's Implementation of the Target Communication Framework What is it? Why a new TCF implementation? We work on an IDE that require communications with targets. We need the TCF model : notions

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman CS314, Colorado State University Software Engineering Notes 4: Principles of Design and Architecture for OO Software Focus: Determining the Overall Structure of a Software System Describes the process

More information

Distribution Transparencies For Integrated Systems*

Distribution Transparencies For Integrated Systems* Distribution Transparencies For Integrated Systems* Janis Putman, The Corporation Ground System Architectures Workshop 2000 The Aerospace Corporation February 2000 Organization: D500 1 * The views and

More information

416 Distributed Systems. RPC Day 2 Jan 11, 2017

416 Distributed Systems. RPC Day 2 Jan 11, 2017 416 Distributed Systems RPC Day 2 Jan 11, 2017 1 Last class Finish networks review Fate sharing End-to-end principle UDP versus TCP; blocking sockets IP thin waist, smart end-hosts, dumb (stateless) network

More information

Chapter 4 Communication

Chapter 4 Communication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI

More information

Middleware Reliability Implementations and Connector Wrappers

Middleware Reliability Implementations and Connector Wrappers Middleware Reliability Implementations and Connector Wrappers J.H. Sowell and R.E.K. Stirewalt Department of Computer Science and Engineering Michigan State University East Lansing, Michigan 48824 USA

More information

Challenges in component based programming. Lena Buffoni

Challenges in component based programming. Lena Buffoni Challenges in component based programming Lena Buffoni Challenge: Size & complexity Software is everywhere and increasingly complex (embedded systems, internet of things ) Single products have become product

More information

Software Development & Education Center. Java Platform, Standard Edition 7 (JSE 7)

Software Development & Education Center. Java Platform, Standard Edition 7 (JSE 7) Software Development & Education Center Java Platform, Standard Edition 7 (JSE 7) Detailed Curriculum Getting Started What Is the Java Technology? Primary Goals of the Java Technology The Java Virtual

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

Threads Chapter 5 1 Chapter 5

Threads Chapter 5 1 Chapter 5 Threads Chapter 5 1 Chapter 5 Process Characteristics Concept of Process has two facets. A Process is: A Unit of resource ownership: a virtual address space for the process image control of some resources

More information

UNIT 4 CORBA 4/2/2013 Middleware 59

UNIT 4 CORBA 4/2/2013 Middleware 59 UNIT 4 CORBA 4/2/2013 Middleware 59 CORBA AN OBJECT ORIENTED RPC MECHANISM HELPS TO DEVELOP DISTRIBUTED SYTEMS IN DIFF. PLATFORMS OBJECTS WRITTEN IN DIFF., LANG, CAN BE CALLED BY OBJECTS WRITTEN IN ANOTHER

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

CHAPTER - 4 REMOTE COMMUNICATION

CHAPTER - 4 REMOTE COMMUNICATION CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics

More information

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition. Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 01: Version: February 21, 2011 1 / 26 Contents Chapter 01: 02: Architectures

More information

FTRMI: Fault-Tolerant Transparent RMI

FTRMI: Fault-Tolerant Transparent RMI FTRMI: Fault-Tolerant Transparent RMI Diogo Reis and Hugo Miranda University of Lisbon LaSIGE SAC, March 28th, 2012 Remote Procedure Calls What? A simple approach for distributed computing Hides the network

More information

Report. Middleware Proxy: A Request-Driven Messaging Broker For High Volume Data Distribution

Report. Middleware Proxy: A Request-Driven Messaging Broker For High Volume Data Distribution CERN-ACC-2013-0237 Wojciech.Sliwinski@cern.ch Report Middleware Proxy: A Request-Driven Messaging Broker For High Volume Data Distribution W. Sliwinski, I. Yastrebov, A. Dworak CERN, Geneva, Switzerland

More information

Java- and CORBA-Based Network Management. Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen

Java- and CORBA-Based Network Management. Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen Project Reports Java- and CORBA-Based Network Management Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen Nokia Research Center Nokia developed the Distributed Computing Platform prototype to support

More information

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2)

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2) IPC Communication Chapter 2 Inter-Process Communication is the heart of all DSs. Processes on different machines. Always based on low-level message passing. In this chapter: RPC RMI MOM (Message Oriented

More information

Chapter 4: Threads. Chapter 4: Threads

Chapter 4: Threads. Chapter 4: Threads Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples

More information

CORBA (Common Object Request Broker Architecture)

CORBA (Common Object Request Broker Architecture) CORBA (Common Object Request Broker Architecture) René de Vries (rgv@cs.ru.nl) Based on slides by M.L. Liu 1 Overview Introduction / context Genealogical of CORBA CORBA architecture Implementations Corba

More information

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Distributed Systems Principles and Paradigms. Chapter 01: Introduction Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 01: Introduction Version: October 25, 2009 2 / 26 Contents Chapter

More information