Adaptive Fault Tolerant Systems: Reflective Design and Validation
|
|
- Brent Jacobs
- 5 years ago
- Views:
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 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 informationPrinciples 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 informationReflective 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 informationJiST: 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 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 informationToday: 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 informationCharacterization 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 informationA 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 informationmetaxa 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 informationConcurrent 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 informationAppendix 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 informationDistributed 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 informationAdministrative 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 informationProviding 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 informationDistributed 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 informationVerteilte 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 informationToday: 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 informationDistributed 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 informationUnit 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 information03 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 informationRemote 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 informationPriya 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 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 informationOutline. 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 informationAdvanced 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 informationCommunication. 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 informationLecture 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 informationArchitectural 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 informationArchitectural 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 informationMultiprocessors 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 informationAnalysis 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 informationSystem 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 informationSoftware 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 informationChapter 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 informationChapter 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 informationOverview. 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 informationCORBA 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 informationApplication 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 informationLecture 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 informationSoftware 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 informationDistributed 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 informationCAS 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 informationCORBA 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 informationPredictable 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 informationDistributed 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 informationMiddleware. 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 informationTopics 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 informationPROFESSOR: 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 informationCHAPTER 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 informationDistributed 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 informationReflective 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 informationMiddleware 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 informationOperating 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 informationMiddleware 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 informationDynamic 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 informationAdaptive 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 informationOn 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 informationCheckpoint (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 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 informationA 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 information416 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 informationObject 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 informationReal-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 informationOPERATING 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 informationCOMMUNICATION 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 informationAdvanced 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 informationCpt. 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 informationChapter 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 informationObject 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 informationFlexiNet 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 informationChapter 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 informationDistributed 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 informationIntroduction 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 informationReflective 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 informationCS555: 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 information1.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 informationFT-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 informationGreen 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 informationTCF. 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 informationUNIT 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 informationDesign 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 informationDistribution 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 information416 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 informationChapter 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 informationMiddleware 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 informationChallenges 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 informationSoftware 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 informationAP 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 informationThreads 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 informationUNIT 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 informationCompositional 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 informationCHAPTER - 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 informationDistributed 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 informationFTRMI: 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 informationReport. 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 informationJava- 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 informationIPC. 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 informationChapter 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 informationCORBA (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 informationDistributed 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