Latency Reliability Partitioning Ordering Low-level APIs Poor debugging tools Algorithmic decomposition Components Self-contained, ëpluggable" ADTs Fr

Size: px
Start display at page:

Download "Latency Reliability Partitioning Ordering Low-level APIs Poor debugging tools Algorithmic decomposition Components Self-contained, ëpluggable" ADTs Fr"

Transcription

1 C. Schmidt Douglas University, St. Louis Washington Sponsors Boeing, CDI, DARPA, Kodak, Bellcore, Motorola, NSF, OTI, SAIC, Lucent, SCR, Siemens MED, Siemens ZT, and Sprint Siemens Hardware gets smaller, cheaper faster, Software gets larger, slower, expensive more Accidental and inherent complexity Middleware, frameworks, and patterns components, Design Patterns for Developing and Using Real-time CORBA Object Request Brokers Motivation: the Distributed Software Crisis DX IMAGE STORE Symptoms ATM LAN DIAGNOSTIC STATIONS ATM MAN ATM LAN CLUSTER IMAGE STORE Culprits MODALITIES (CT, MR, CR) CENTRAL IMAGE STORE Solutions Washington University, St. Louis 1

2 Latency Reliability Partitioning Ordering Low-level APIs Poor debugging tools Algorithmic decomposition Components Self-contained, ëpluggable" ADTs Frameworks Reusable, ësemi-complete" applications Patterns Problemèsolution pairs in a context Architecture Families of related patterns components and Sources of Complexity for Distributed Applications Inherent complexity Accidental Complexity Continuous re-invention Washington University, St. Louis 2 for Improving Software Techniques and Productivity Quality Proven solutions Washington University, St. Louis 3

3 Many applications require guarantees QoS e.g., telecom, avionics, WWW Existing middleware doesn't QoS eectively support Solutions must be integrated Simplify distribution automating by Object location activation and Parameter marshaling Demultiplexing Error handling Provide foundation higher-level for Motivation for Real-time Middleware e.g., CORBA, DCOM, DCE Vertically and horizontally Washington University, St. Louis 4 Candidate Solution: CORBA Goals of CORBA services Washington University, St. Louis 5

4 Lack of QoS specications Lack of QoS enforcement Lack of real-time programming features Lack of performance A high-performance, ORB real-time Telecom and focus avionics Leverages the ACE framework Runs on RTOSs, and Win32 POSIX, QuO at BBN ARMADA at U. Limitations Limitations of CORBA for Real-time Systems optimizations Washington University, St. Louis 6 The ACE ORB ètaoè TAO Overview Related work Mich. Washington University, St. Louis 7

5 The ADAPTIVE Communication Environment èaceè ACE Overview Concurrent OO networking framework Ported to C++ Java and Runs on RTOSs, and POSIX, Win32 Related work x-kernel SysV STREAMS Washington University, St. Louis 8 ACE Statistics ACE contain é 125,000 lines of C++ Over 10 person-years of eort Ported to UNIX, Win32, MVS, and platforms embedded e.g., VxWorks, Chorus, LynxOS, psos Large user community Currently used by dozens companies of Bellcore, Boeing, Kodak, Ericsson, Motorola, Lucent, Siemens, SAIC, StorTek, etc. Supported commercially Washington University, St. Louis 9

6 Periodic deterministic deadlines real-time COTS infrastructure Applying ORBs to Real-time Avionics Domain Challenges Open systems Washington University, St. Louis 10 Visualizing Periods for Avionics Operations Washington University, St. Louis 11

7 Specifyingèenforcing QoS requirements Focus on Operations upon Objects Rather than on communication or threadsèsynchronization channels Initial focus Determinisitic deadlines Static scheduling Servants publish resource èe.g., CPUè and èperiodicè deadlines requirements Real-time Features and Optimizations in TAO Washington University, St. Louis 12 Design Challenges Providing QoS to CORBA Operations Solution approach Most clients are also servants Washington University, St. Louis 13

8 Oine Assess schedule feasibility Assign thread and priorities queue Online Supply priorities to endsystem ORB via Oè1è dispatcher lookup table Integrate RT dispatcher into endsystem ORB Support multiple request strategies scheduling e.g., RMS, RMS with Preemption, and Deferred EDF Requests ordered across priorities by OS thread dispatcher Requests ordered within based on data priorities Components TAO's Real-time Scheduling Service Washington University, St. Louis 14 Real-time ORB Endsystem Architecture TAO's Solution Approach dependencies and importance Washington University, St. Louis 15

9 Server factory implements thread-per-rate Highest real-time for high priority priority client Lowest real-time for low priority priority clients Chorus' latency is lower for è of clients small ç1.2msec vs. ç1.4sec vs. ç2.0sec TAO's latency is much for large è of clients lower ç2.3msec vs. ç7.6msec ç14.1msec vs. TAO avoids priority inversion i.e., high priority client has lowest latency always C 0 C C n Servants Object Adapter ORB Core SCHEDULER RUNTIME One high priority client 1..n low priority clients Requests Client I/O SUBSYSTEM Server Priority Inversion Experiments ATM Switch Ultra 2 Ultra Washington University, St. Louis Priority Inversion Experiment Results Synopsis of results Latency per Twoway Request in Milliseconds MT-Orbix High-Priority MT-Orbix Low-Priority Sun COOL High-Priority Sun COOL Low-Priority TAO High-Priority TAO Low-Priority Number of Low Priority Clients MT-Orbix, Chorus, and TAO Priority Inversion Washington University, St. Louis 17

10 Denition High overhead Context switching Synchronization Priority inversions Jitter is the from the variance TAO's jitter is and most lowest consistent MT-Orbix's jitter is and more highest variable FIFO request queueing Improper thread priorities Lack of application control concurrency model over Jitter Experiment Results Jitter (millisec) Orbix Low Priority Jitter Orbix High Priority Jitter Sun COOL Low Priority Jitter Sun COOL High Priority Jitter TAO Low Priority Jitter TAO High Priority Jitter average latency Synopsis of results Number of Low Priority Clients MT-Orbix, Chorus, and TAO Jitter Washington University, St. Louis 18 Problem: Improper ORB Concurrency Model Common Problems Washington University, St. Louis 19

11 Priority inversions Sharing multiple on a priorities connection single Complex connection multiplexing Synchronization Common Problems Problem: ORB Shared Connection Model overhead Washington University, St. Louis 20 TAO's Inter-ORB Connection Topology Washington University, St. Louis 21

12 Minimize demuxing layers Provide Oè1è operation demuxing Avoid priority inversions Remain Results at Design Challenges CORBA-compliant Problem: Reducing Demultiplexing Latency Washington University, St. Louis 22 Demultiplexing Performance Experiments Linear search based on Orbix demuxing strategy Perfect hashing based on GNU gperf Washington University, St. Louis 23

13 Synopsis Linear search is far too costly Dynamic hashing is too erratic gperf solution is 100è but static compatible, Active demuxing may be 100è not but is compatible, dynamic Vertical integration of QoS ORB, OS, and ATM through network Provides rate-based QoS end-to-end Leverages APIC features for cell Demultiplexing Performance Results Latency in microseconds Number of Objects 1 Active Demux (1 Method) Active Demux (10 Methods) Active Demux (100 Methods) GPERF (1 Method) GPERF (10 Methods) GPERF (100 Methods) Dynamic Hash (1 Method) Dynamic Hash (10 Methods) Dynamic Hash (100 Methods) Linear (1 method) Linear (10 methods) Linear (100 methods) Demultiplexing scheme Washington University, St. Louis 24 Integrating TAO with RT IèO Subsystem and ATM Key Features pacing Washington University, St. Louis 25

14 Extensible to retarget on new platforms Extensible via custom implementation strategies Extensible via dynamic conguration of custom strategies Denition ëa recurring solution a design problem in to Benets of Patterns Facilitate design reuse Preserve crucial design information Guide design choices Document common and pitfalls traps Dimensions of ORB Extensibility Washington University, St. Louis 26 Applying Patterns to Develop Extensible ORBs a particular context" Washington University, St. Louis 27

15 Problem Forces Low-level APIs are tedious to program Low-level APIs are error-prone Solution Apply the Wrapper Facade pattern to encapsulate low-level OS details programming Encapsulates low-level, system stand-alone within mechanisms modular, and type-safe, Forces Resolved Avoid tedious, error-prone, non-portable system and APIs Create cohesive Addressing ORB Portability and Typesafety Challenges Building an ORB using low-level system APIs is hard Low-level APIs are non-portable Washington University, St. Louis 28 Portability and Typesafety with the Wrapper Enhancing Pattern Facade Intent portable class interfaces abstractions Washington University, St. Louis 29

16 TAO's wrapper facades are based on ACE The Wrapper Facade pattern substantially increased portability and the amount of ad hoc code reduced Problem Forces Multi-threading is not always available Multi-threading is not always ecient Tightly coupling general event processing with ORB-specic logic is inexible Solution Use the Reactor pattern to decouple generic event processing from processing ORB-specic $ è Using the Wrapper Facade Pattern in TAO ' $ ' & SunSoft IIOP & è TAO Washington University, St. Louis 30 Addressing ORB Demuxing and Dispatching Challenges ORBs must process many dierent types of events simultaneously Washington University, St. Louis 31

17 & & è The ACE Reactor pattern is widely used by industry Decouples event synchronous demuxingèdispatching event handling from Demuxing events within one eciently thread Extending applications changing without infrastructure demux $ è Enhancing Demuxing with the Reactor Pattern Intent Forces Resolved Washington University, St. Louis 32 ' Using the Reactor Pattern in TAO ' $ SunSoft IIOP TAO Washington University, St. Louis 33

18 ORB Endpoint Initialization Challenges Addressing Problem The communication protocol used between ORBs is often orthogonal its connection establishment and service handler initialization to Forces Low-level connection APIs are error-prone and non-portable Separating initialization from subsequent processing increases software Solution Use the Acceptor-Connector pattern to decouple passiveèactive establishment and GIOP connection handler initialization connection & Intent & è Decouple connection establishment and service handler initialization subsequent service processing from $ è protocol reuse for many types of communication software from the subsequent ORB interoperability protocol èe.g., IIOPè Washington University, St. Louis 34 Endpoint Initialization with the Enhancing Pattern Acceptor-Connector ' ' $ Acceptor Structure Connector Structure Washington University, St. Louis 35

19 & Forces Resolved Problem $ & è Multi-threaded ORBs are needed since Reactive ORBs are often non-scalable, and non-robust inecient, Forces Multi-threading can be very hard to program No single multi-threading model is always optimal Solution Use the Active Object pattern to allow multiple concurrent server using an OO programming style operations $ è Using the Acceptor-Connector Pattern in TAO ' ' SunSoft IIOP TAO è1è Improve portability and reuse and è2è avoid common mistakes Washington University, St. Louis 36 Addressing ORB Concurrency Challenges Washington University, St. Louis 37

20 Decouples the thread request execution of the thread of from reception request Allow blocking operations Permit exible strategies concurrency TAO supports several variants of Active Objects èe.g., Thread-per- Thread-per-Request, Thread Pool, Thread-per-Rate, etc.è Connection, $ è ORB Concurrency with the Active Object Enhancing Pattern Intent Forces Resolved Washington University, St. Louis 38 ' Using the Active Object Pattern in TAO ' $ & SunSoft IIOP & è TAO Washington University, St. Louis 39

21 Problem It is important to minimize the amount of locking required to serialize to resources shared by an ORB access Forces Locks increase performance overhead Locks increase potential for priority inversion Solution Use the Thread-Specic Storage pattern to maximize threading-model and minimize lock contention and priority inversion exibility Intent Allows multiple to use threads logically one access global to retrieve point ORB thread-specic without data locking incurring for each overhead Lock Contention and Priority Inversions with Reducing Thread-Specic Storage Pattern the Dierent concurrency schemes yield dierent locking costs Washington University, St. Louis 40 ORB Locking with the Thread-Specic Minimizing Pattern Storage Forces Resolved Minimizes overhead and priority inversion access Washington University, St. Louis 41

22 Problem Real-world ORBs must be exible to satisfy the requirements of many types of end-users and applications dierent Forces Ad hoc schemes for ORB exibility are too static and non-extensible Flexibility often has many èrelatedè dimensions Solution Use the Strategy pattern to support multiple transparently ëpluggable" strategies ORB Using Thread-Specic Storage in TAO Washington University, St. Louis 42 Addressing ORB Flexibility Challenges Washington University, St. Louis 43

23 & & è Factor out similarity algorithmic among Orthogonally replace subsets behavioral transparently Associating state with $ è Enhancing ORB Flexibility with the Strategy Pattern Intent alternatives Forces Resolved an algorithm Washington University, St. Louis 44 Using the Strategy Pattern in TAO ' $ ' SunSoft IIOP TAO Washington University, St. Louis 45

24 Forces Resolved Problem Addressing ORB Congurability Challenges Agressive use of the Strategy pattern can create a conguration nightmare Forces It's hard to manage large numbers of individually congured strategies It's hard to ensure that groups of semantically compatible strategies are congured Solution Use the Abstract Factory pattern to consolidate multiple ORB into semantically compatible congurations strategies Washington University, St. Louis 46 ORB Congurability with the Abstract Centralizing Pattern Factory Intent Integrate all strategies to congure an used ORB Consolidates of many customization strategies Ensures semantic of compatibility strategies Washington University, St. Louis 47

25 Problem Prematurely committing ourselves to a particular ORB conguration inexible and inecient is Forces Certain ORB conguration decisions can't be made eciently until run-time Solution Use the Service Congurator pattern to assemble the desired ORB dynamically components Using the Abstract Factory Pattern in TAO Washington University, St. Louis 48 Addressing ORB Dynamic Congurability Challenges Forcing users to pay for components they don't use is undesirable Washington University, St. Louis 49

26 Decouples ORB from time strategies they are when congured Reduce resource utilization Support dynamic èreèconguration Dynamic ORB Extensibility with the Service Enhancing Pattern Congurator Intent Forces Resolved CORBA::ORB_init èint &argc, char *argvëëè èè Configure the ORB. Service_Config tao èargc, argvè; èè Perform initialization... Washington University, St. Louis 50 Using the Service Congurator Pattern in TAO Run-time Conguration Washington University, St. Louis 51

27 Complexity Metric Scores for TAO Macabe SunSoft IIOP and Patterns greatly code reduce complexity e.g., Most TAO have components é 10 vègè TAO components are smaller substantially SunSoft IIOP than e.g., connection management by a factor reduced $ è Quantifying the Benets of Patterns 70.0 Statistics 60.0 SunSoft IIOP TAO % Methods in Range > 10 MVG Range of 5 Washington University, St. Louis 52 Current Status of TAO ' ' $ è& Washington University, St. Louis 53 &

28 TAO Project Summary Current Focus: Reducing latency via de-layered active demuxing Applying optimization principles to TypeCode interpreter Enforcing periodic deadlines via Real-time ORB endystem i.e., support static scheduling for CORBA requests Applying optimization principles to presentation layer Future Work Pinpoint non-determinism and priority inversions in ORBs Dynamic scheduling of requests Distributed QoS and integration with RT IèO Subsystem IDL compiler and optimized stub generation TypeCode compiler optimizations Washington University, St. Louis 54 Concluding Remarks Developers of distributed applications confront recurring challenges that largely application-independent are e.g., service initialization and distribution, error handling, ow event demultiplexing, concurrency control, persistence, fault control, tolerance Successful developers resolve these challenges by applying appropriate patterns to create communication frameworks and components design ORBs are an eective way to achieve reuse of distributed software components The next-generation of ORBs will provide much better QoS support Washington University, St. Louis 55

OBJECT ADAPTER ORB CORE I/O SUBSYSTEM. struct RT_Info { wc_exec_time_; period_; importance_; dependencies_; }; 1: CONSTRUCT CALL 6: SUPPLY RUN-TIME

OBJECT ADAPTER ORB CORE I/O SUBSYSTEM. struct RT_Info { wc_exec_time_; period_; importance_; dependencies_; }; 1: CONSTRUCT CALL 6: SUPPLY RUN-TIME L. Levine David University, St. Louis Washington Simplify distribution automating by Object location activation and Parameter marshaling Demultiplexing Error handling Provide foundation higher-level for

More information

Motivation: the Distributed Software Crisis Symptoms Hardware gets smaller, cheaper faster, Software gets larger, slower, more expensive Culprits Acci

Motivation: the Distributed Software Crisis Symptoms Hardware gets smaller, cheaper faster, Software gets larger, slower, more expensive Culprits Acci Using the ACE Framework and Patterns to Develop OO Communication Software schmidt@cs.wustl.edu University, St. Louis Washington http://www.cs.wustl.edu/schmidt/ Sponsors DARPA, Bellcore, Boeing, CDI/GDIS,

More information

OS atop Today, more and more apps atop middleware built Middleware has several layers Quality of Service (QoS) Software architecture & System call-lev

OS atop Today, more and more apps atop middleware built Middleware has several layers Quality of Service (QoS) Software architecture & System call-lev Using OS System-Hiding Frameworks www.ece.uci.edu/schmidt/ (949) 824-1901 Developing Distributed RT Systems Professor Elec. & Comp. Eng. Dept. Associate University of California, Irvine schmidt@uci.edu

More information

Vertically and horizontally High-performance, Real-time ORBs Motivation Many applications require æ guarantees QoS e.g., telecom, avionics, WWW Existi

Vertically and horizontally High-performance, Real-time ORBs Motivation Many applications require æ guarantees QoS e.g., telecom, avionics, WWW Existi Principles and Patterns of High-performance, Real-time Object Request Brokers C. Schmidt Douglas schmidt@cs.wustl.edu University, St. Louis Washington http:èèwww.cs.wustl.eduèçschmidtètao.html Typeset

More information

Patterns and Performance of Real-time Middleware for Embedded Systems

Patterns and Performance of Real-time Middleware for Embedded Systems Patterns and Performance of Real-time Middleware for Embedded Systems Associate Professor & Director of the Center for Distributed Object Computing Computer Science Dept. Lockheed Martin November st, 999

More information

Developing Distributed Real-time Systems Using OS System-Hiding Frameworks

Developing Distributed Real-time Systems Using OS System-Hiding Frameworks Developing Distributed Real-time Systems Using OS System-Hiding Frameworks Associate Professor Elec. & Comp. Eng. Dept. schmidt@uci.edu University of California, Irvine www.ece.uci.edu/schmidt/ (949) 824-1901

More information

The Center for Distributed Object Computing Research Synopsis

The Center for Distributed Object Computing Research Synopsis The Center for Distributed Object Computing Director, Center for Distributed Object Computing Research Synopsis David L. Levine www.cs.wustl.edu/levine/ Computer Science Dept. Sponsors NSF, DARPA, Bellcore/Telcordia,

More information

Patterns and Performance of Real-time Object Request Brokers

Patterns and Performance of Real-time Object Request Brokers Patterns and Performance of Real-time Object Request Brokers Associate Professor Elec. & Comp. Eng. Dept. schmidt@uci.edu University of California, Irvine www.ece.uci.edu/schmidt/ (949) 824-1901 Sponsors

More information

short long double char octet struct Throughput in Mbps Sender Buffer size in KBytes short long double char octet struct

short long double char octet struct Throughput in Mbps Sender Buffer size in KBytes short long double char octet struct Motivation Optimizations for High Performance ORBs Douglas C. Schmidt (www.cs.wustl.edu/schmidt) Aniruddha S. Gokhale (www.cs.wustl.edu/gokhale) Washington University, St. Louis, USA. Typical state of

More information

The Design of the TAO Real-Time Object Request Broker

The Design of the TAO Real-Time Object Request Broker The Design of the TAO Real-Time Object Request Broker Douglas C. Schmidt, David L. Levine, and Sumedh Mungee fschmidt,levine,sumedhg@cs.wustl.edu Department of Computer Science, Washington University St.

More information

The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware

The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware, Fred Kuhns, Douglas C. Schmidt, Ossama Othman and Jeff Parsons coryan@uci.edu http://www.ece.uci.edu/coryan/

More information

Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers

Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers Douglas C. Schmidt, Sumedh Mungee, Sergio Flores-Gaitan, and Aniruddha Gokhale fschmidt,sumedh,sergio,gokhaleg@cs.wustl.edu

More information

Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers

Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers Software Architectures for Reducing Priority Inversion and Non-determinism in Real-time Object Request Brokers Douglas C. Schmidt schmidt@uci.edu Electrical & Computer Engineering University of California,

More information

Design and Performance of an Asynchronous Method handling Mechanism for CORBA

Design and Performance of an Asynchronous Method handling Mechanism for CORBA Design and Performance of an Asynchronous Method handling Mechanism for CORBA Mayur Deshpande, Douglas C. Schmidt & Carlos O Ryan {deshpanm,schmidt,coryan}@uci.edu Department of Electrical & Computer Engineering

More information

Applying Patterns to Design a High-performance, Real-time Pluggable Protocols Framework for OO Communication Middleware

Applying Patterns to Design a High-performance, Real-time Pluggable Protocols Framework for OO Communication Middleware Applying Patterns to Design a High-performance, Real-time Pluggable Protocols Framework for OO Communication Middleware Carlos O Ryan, Fred Kuhns, Douglas C. Schmidt and Jeff Parsons fcoryan,fredk,schmidt,parsonsg@cs.wustl.edu

More information

The Design and Performance of a Real-Time CORBA Scheduling Service

The Design and Performance of a Real-Time CORBA Scheduling Service The Design and Performance of a Real-Time CORBA Scheduling Service Christopher D. Gill, David L. Levine, and Douglas C. Schmidt fcdgill,levine,schmidtg@cs.wustl.edu Department of Computer Science, Washington

More information

C, ACE C++, Blob Streaming, and Orbix over ATM

C, ACE C++, Blob Streaming, and Orbix over ATM The Performance of Object-Oriented Components for High-speed Network Programming Douglas C. Schmidt schmidt@cs.wustl.edu Washington University, St. Louis Introduction æ Distributed object computing èdocè

More information

An Empirical Evaluation of OS Support for Real-time CORBA Object Request Brokers

An Empirical Evaluation of OS Support for Real-time CORBA Object Request Brokers An Empirical Evaluation of OS Support for Real-time CORBA Object Request Brokers David L. Levine, Sergio Flores-Gaitan, and Douglas C. Schmidt flevine,sergio,schmidtg@cs.wustl.edu Department of Computer

More information

Implementing Real-time CORBA with Real-time Java

Implementing Real-time CORBA with Real-time Java Implementing Real-time CORBA with Real-time Java Ray Klefstad, Mayur Deshpande, Carlos O Ryan, & Doug Schmidt {coryan,schmidt}@uci.edu {klefstad,mayur}@ics.uci.edu Elec. & Comp. Eng. Dept Info. & Comp.

More information

Design Principles and Optimizations for High-performance, Real-time CORBA

Design Principles and Optimizations for High-performance, Real-time CORBA Design Principles and Optimizations for High-performance, Real-time CORBA Aniruddha S. Gokhale gokhale@cs.wustl.edu http://www.cs.wustl.edu/ gokhale/ Advisor: Dr. Douglas C. Schmidt May 13th, 1998 (Funded

More information

Fine-grained Middleware Composition for the Boeing NEST OEP

Fine-grained Middleware Composition for the Boeing NEST OEP Fine-grained Middleware Composition for the Boeing NEST OEP Venkita Subramonian,Chris Gill, Huang-Ming Huang, Stephen Torri Washington University, St. Louis {venkita,cdgill,hh1,storri} @cs.wustl.edu Jeanna

More information

Applying Patterns to Develop Extensible ORB Middleware

Applying Patterns to Develop Extensible ORB Middleware Applying Patterns to Develop Extensible ORB Middleware Douglas C. Schmidt and Chris Cleeland fschmidt,cleelandg@cs.wustl.edu Department of Computer Science Washington University St. Louis, MO 63130, USA

More information

70 64k socket queue. C over ATM (64k socket queue) ACE Orbix Sequence. ACE over ATM (64k socket queue) Throughput (Mbps) 40. Throughput (Mbps) 40

70 64k socket queue. C over ATM (64k socket queue) ACE Orbix Sequence. ACE over ATM (64k socket queue) Throughput (Mbps) 40. Throughput (Mbps) 40 Measuring the Performance of CORBA for High-speed Networking Douglas C. Schmidt schmidt@cs.wustl.edu http://www.cs.wustl.edu/schmidt/ Washington University, St. Louis Introduction Distributed object computing

More information

Applying Patterns to Develop a Pluggable Protocols Framework for ORB Middleware

Applying Patterns to Develop a Pluggable Protocols Framework for ORB Middleware Applying Patterns to Develop a Pluggable Protocols Framework for ORB Middleware Douglas C. Schmidt, Carlos O Ryan, and Ossama Othman fschmidt,coryan,ossamag@uci.edu Electrical & Computer Engineering Department

More information

The Design and Performance of a Real-Time CORBA Scheduling Service

The Design and Performance of a Real-Time CORBA Scheduling Service The Design and Performance of a Real-Time CORBA Scheduling Service Christopher D. Gill, David L. Levine, and Douglas C. Schmidt fcdgill,levine,schmidtg@cs.wustl.edu Department of Computer Science, Washington

More information

A Family of Design Patterns for Application-Level Gateways

A Family of Design Patterns for Application-Level Gateways A Family of Design Patterns for Application-Level Gateways Douglas C. Schmidt schmidt@cs.wustl.edu http://www.cs.wustl.edu/schmidt/ Department of Computer Science Washington University, St. Louis 63130

More information

Middleware Techniques and Optimizations for Real-time, Embedded Systems. 1 Introduction: Why We Need Middleware for Real-time Embedded Systems

Middleware Techniques and Optimizations for Real-time, Embedded Systems. 1 Introduction: Why We Need Middleware for Real-time Embedded Systems Middleware Techniques and Optimizations for Real-time, Embedded Systems Douglas C. Schmidt schmidt@cs.wustl.edu Department of Computer Science Washington University, St. Louis St. Louis, MO, 63130 This

More information

Pattern-Oriented Software Architecture Concurrent & Networked Objects

Pattern-Oriented Software Architecture Concurrent & Networked Objects Pattern-Oriented Software Architecture Concurrent & Networked Objects Tuesday, October 27, 2009 Dr. Douglas C. Schmidt schmidt@uci.edu www.cs.wustl.edu/~schmidt/posa.ppt Electrical & Computing Engineering

More information

Solution: Reuse Design Patterns Design patterns support reuse of software architecture Patterns embody successful solutions to problems that arise whe

Solution: Reuse Design Patterns Design patterns support reuse of software architecture Patterns embody successful solutions to problems that arise whe Introduction Experience Using Design Patterns to Evolve Communication Software Across Diverse Platforms Developing portable, reuseable, and ecient communication software is hard OS platforms are often

More information

Applying Patterns and Frameworks to Develop Object-Oriented Communication Software

Applying Patterns and Frameworks to Develop Object-Oriented Communication Software Applying Patterns and Frameworks to Develop Object-Oriented Communication Software Douglas C. Schmidt schmidt@cs.wustl.edu Department of Computer Science Washington University, St. Louis, MO 63130 This

More information

Techniques for Enhancing Real-time CORBA Quality of Service

Techniques for Enhancing Real-time CORBA Quality of Service Techniques for Enhancing Real-time CORBA Quality of Service Irfan Pyarali y Douglas C. Schmidt Ron K. Cytron irfan@oomworks.com schmidt@uci.edu cytron@cs.wustl.edu OOMWorks, LLC Electrical & Computer Engineering

More information

Evaluating Policies and Mechanisms to Support Distributed Real-Time Applications with CORBA

Evaluating Policies and Mechanisms to Support Distributed Real-Time Applications with CORBA Evaluating Policies and Mechanisms to Support Distributed Real-Time Applications with CORBA Carlos O Ryan and Douglas C. Schmidt fcoryan,schmidtg@uci.edu Electrical & Computer Engineering Dept. University

More information

The Design and Performance of a Real-time CORBA Event Service

The Design and Performance of a Real-time CORBA Event Service The Design and Performance of a Real-time CORBA Event Service Timothy H. Harrison, Carlos O Ryan, David L. Levine, and Douglas C. Schmidt fharrison,coryan,levine,schmidtg@cs.wustl.edu Department of Computer

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

Weapon Systems Open Architecture Overview

Weapon Systems Open Architecture Overview Weapon Systems Open Architecture Overview OMG Real-Time and Embedded Distributed Object Computing Workshop July 24-27, 2000 . Vision for Joint Theater Operations Joint Joint Forces Forces Global Global

More information

Measuring OS Support for Real-time CORBA ORBs

Measuring OS Support for Real-time CORBA ORBs Measuring OS Support for Real-time CORBA ORBs David L. Levine, Sergio Flores-Gaitan, Christopher D. Gill, and Douglas C. Schmidt flevine,sergio,cdgill,schmidtg@cs.wustl.edu Department of Computer Science,

More information

Middleware Support for Aperiodic Tasks in Distributed Real-Time Systems

Middleware Support for Aperiodic Tasks in Distributed Real-Time Systems Outline Middleware Support for Aperiodic Tasks in Distributed Real-Time Systems Yuanfang Zhang, Chenyang Lu and Chris Gill Department of Computer Science and Engineering Washington University in St. Louis

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

Proxy Pattern Graphical Notation Intent: provide a surrogate for another object that controls access to it 5 6 Frameworks More Observations Reuse of p

Proxy Pattern Graphical Notation Intent: provide a surrogate for another object that controls access to it 5 6 Frameworks More Observations Reuse of p Using Design Patterns and Frameworks to Develop Object-Oriented Communication Systems Douglas C. Schmidt www.cs.wustl.edu/schmidt/ schmidt@cs.wustl.edu Washington University, St. Louis Motivation Developing

More information

PATTERN-ORIENTED SOFTWARE ARCHITECTURE

PATTERN-ORIENTED SOFTWARE ARCHITECTURE PATTERN-ORIENTED SOFTWARE ARCHITECTURE A Pattern Language for Distributed Computing Volume 4 Frank Buschmann, Siemens, Munich, Germany Kevlin Henney, Curbralan, Bristol, UK Douglas C. Schmidt, Vanderbilt

More information

Applying Optimization Principle Patterns to Design Real-Time ORBs

Applying Optimization Principle Patterns to Design Real-Time ORBs THE ADVANCED COMPUTING SYSTEMS ASSOCIATION The following paper was originally published in the 5 th USENIX Conference on Object-Oriented Technologies and Systems (COOTS '99) San Diego, California, USA,

More information

Designing an Efficient & Scalable Server-side Asynchrony Model for CORBA

Designing an Efficient & Scalable Server-side Asynchrony Model for CORBA Designing an Efficient & Scalable Server-side Asynchrony Model for CORBA Darrell Brunsch, Carlos O Ryan, & Douglas C. Schmidt {brunsch,coryan,schmidt}@uci.edu Department of Electrical & Computer Engineering

More information

COPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader...

COPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader... Table of Contents Foreword..................... xv About This Book... xvii About The Authors............... xxiii Guide To The Reader.............. xxvii Part I Some Concepts.................. 1 1 On Patterns

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

A QoS-aware CCM for DRE System Development

A QoS-aware CCM for DRE System Development A QoS-aware CCM for DRE System Development Nanbor Wang Tech-X Corporation 5561 Arapahoe Ave., Suite A Boulder, CO 33 Chris Gill Dept. of Computer Science and Engineering Washington University One Brookings

More information

Real-Time Platforms. Ø Real-Time OS: Linux Ø Real-Time Middleware: TAO

Real-Time Platforms. Ø Real-Time OS: Linux Ø Real-Time Middleware: TAO Real-Time Platforms Ø Real-Time OS: Linux Ø Real-Time Middleware: TAO q Event service q Single-processor scheduling q End-to-end scheduling q Aperiodic scheduling Ø Real-Time Virtualization: RT-Xen Ø Real-Time

More information

Short Title: High-performance CORBA Gokhale, D.Sc. 1998

Short Title: High-performance CORBA Gokhale, D.Sc. 1998 Short Title: High-performance CORBA Gokhale, D.Sc. 1998 WASHINGTON UNIVERSITY SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE DESIGN PRINCIPLES AND OPTIMIZATIONS FOR HIGH-PERFORMANCE, REAL-TIME

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

An Overview of the Real-time CORBA Specification

An Overview of the Real-time CORBA Specification An Overview of the Real-time CORBA Specification Douglas C. Schmidt schmidt@uci.edu Electrical and Computer Engineering Dept. University of California, Irvine, 92697 Fred Kuhns fredk@cs.wustl.edu Computer

More information

Agrowing class of real-time systems require

Agrowing class of real-time systems require COVER FEATURE An Overview of the Real-Time CA Specification OMG s Real-Time CA provides standard policies and mechanisms that support quality-of-service requirements end to end. Such support enhances the

More information

The Design and Performance of a Real-time CORBA ORB Endsystem

The Design and Performance of a Real-time CORBA ORB Endsystem The Design and Performance of a Real-time CORBA ORB Endsystem Carlos O Ryan and Douglas C. Schmidt fcoryan,schmidtg@uci.edu Electrical & Computer Engineering Dept. University of California, Irvine Irvine,

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

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

AQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA

AQUILA. Project Defense. Sandeep Misra.  (IST ) Development of C++ Client for a Java QoS API based on CORBA AQUILA (IST-1999-10077) Adaptive Resource Control for QoS Using an IP-based Layered Architecture Project Defense Development of C++ Client for a Java QoS API based on CORBA http://www-st st.inf..inf.tu-dresden.de/aquila/

More information

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

Model-Driven QoS Provisioning Techniques for CCM DRE Systems Model-Driven QoS Provisioning Techniques for CCM DRE Systems Stoyan Paunov, Gan Deng, Douglas C. Schmidt, and Anirudha Gokhale ISIS, Vanderbilt University Motivation for QoS-enabled Middleware Trends!

More information

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More 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

White Paper. Major Performance Tuning Considerations for Weblogic Server

White Paper. Major Performance Tuning Considerations for Weblogic Server White Paper Major Performance Tuning Considerations for Weblogic Server Table of Contents Introduction and Background Information... 2 Understanding the Performance Objectives... 3 Measuring your Performance

More information

IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol

IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol My Articles: Home Networking Wearable Computing IIOP Meet My Friend Intelligent Agents We are

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

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

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform. CORBA What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform. It includes: an object-oriented Remote Procedure Call (RPC) mechanism object

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

Operating System Support

Operating System Support Operating System Support Dr. Xiaobo Zhou Adopted from Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 1 Learning Objectives Know what a modern

More information

Software Architecture Patterns

Software Architecture Patterns Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding

More information

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS EECS 571 Principles of Real-Time Embedded Systems Lecture Note #10: More on Scheduling and Introduction of Real-Time OS Kang G. Shin EECS Department University of Michigan Mode Changes Changes in mission

More information

Introduction to Patterns and Frameworks

Introduction to Patterns and Frameworks Patterns and Frameworks CS 342: Object-Oriented Software Development Lab Introduction to Patterns and Frameworks Dr. David L. Levine and Douglas C. Schmidt Department of Computer Science Washington University,

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

Distributed Object-based Systems CORBA

Distributed Object-based Systems CORBA CprE 450/550x Distributed Systems and Middleware Distributed Object-based Systems CORBA Yong Guan 3216 Coover Tel: (515) 294-8378 Email: guan@ee.iastate.edu March 30, 2004 2 Readings for Today s Lecture!

More information

An Architectural Overview of the ACE Framework

An Architectural Overview of the ACE Framework An Architectural Overview of the ACE Framework A Case-study of Successful Cross-platform Systems Software Reuse Douglas C. Schmidt schmidt@cs.wustl.edu Department of Computer Science Washington University,

More information

F6COM: A Case Study in Extending Container Services through Connectors

F6COM: A Case Study in Extending Container Services through Connectors F6COM: A Case Study in Extending Container Services through Connectors Abhishek Dubey, Andy Gokhale, Gabor Karsai, William R. Otte; Vanderbilt University/ISIS Johnny Willemsen; Remedy IT Paul Calabrese,

More information

3C05 - Advanced Software Engineering Thursday, April 29, 2004

3C05 - Advanced Software Engineering Thursday, April 29, 2004 Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object

More information

Chapter 4: Multi-Threaded Programming

Chapter 4: Multi-Threaded Programming Chapter 4: Multi-Threaded Programming Chapter 4: Threads 4.1 Overview 4.2 Multicore Programming 4.3 Multithreading Models 4.4 Thread Libraries Pthreads Win32 Threads Java Threads 4.5 Implicit Threading

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

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

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

Real-time CORBA Trade Study Volume 2 Basic IDL Scenario 1a

Real-time CORBA Trade Study Volume 2 Basic IDL Scenario 1a CAGE Code 81205 Real-time CORBA Trade Study Volume 2 Basic IDL Scenario 1a DOCUMENT NUMBER: RELEASE/REVISION: RELEASE/REVISION DATE: D204-31159-2 ORIG CONTENT OWNER: Phantom Works Advanced Information

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

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

Chapter 1: Distributed Information Systems

Chapter 1: Distributed Information Systems Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier

More information

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO (D)COM Microsoft s response to CORBA Alessandro RISSO - PS/CO Talk Outline DCOM What is DCOM? COM Components COM Library Transport Protocols, Security & Platforms Availability Services Based on DCOM DCOM

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

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee

Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee Architectural and Optimization Techniques for Scalable, Real-time and Robust Deployment and Configuration of DRE Systems Gan Deng Douglas C. Schmidt Aniruddha Gokhale Institute for Software Integrated

More information

Applying Adaptive Middleware to Manage End-to-End QoS for Next-generation Distributed Applications

Applying Adaptive Middleware to Manage End-to-End QoS for Next-generation Distributed Applications Applying Adaptive Middleware to Manage End-to-End QoS for Next-generation Distributed Applications Christopher D. Gill, David L. Levine, and Fred Kuhns fcdgill,levine,fredkg@cs.wustl.edu Department of

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

From MDD back to basic: Building DRE systems

From MDD back to basic: Building DRE systems From MDD back to basic: Building DRE systems, ENST MDx in software engineering Models are everywhere in engineering, and now in software engineering MD[A, D, E] aims at easing the construction of systems

More information

Chapter 4: Multithreaded Programming

Chapter 4: Multithreaded Programming Chapter 4: Multithreaded Programming Silberschatz, Galvin and Gagne 2013 Chapter 4: Multithreaded Programming Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading

More information

Reliable UDP (RDP) Transport for CORBA

Reliable UDP (RDP) Transport for CORBA OMG Embedded and Real-Time 2002 Workshop Reliable UDP (RDP) Transport for CORBA Voula Fotopoulos Catherine Heaberlin January 10, 2002 (voula.fotopoulos@lmco.com, catherine.t.heaberlin@lmco.com) Naval Electronics

More information

Introduction to Patterns and Frameworks

Introduction to Patterns and Frameworks Patterns and Frameworks CS 342: Object-Oriented Software Development Lab Introduction to Patterns and Frameworks David L. Levine Christopher D. Gill Department of Computer Science Washington University,

More information

Distributed Environments. CORBA, JavaRMI and DCOM

Distributed Environments. CORBA, JavaRMI and DCOM Distributed Environments CORBA, JavaRMI and DCOM Introduction to CORBA Distributed objects A mechanism allowing programs to invoke methods on remote objects Common Object Request Broker middleware - works

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

Introduction of Pattern Oriented Software Concepts in Ground Stations

Introduction of Pattern Oriented Software Concepts in Ground Stations Introduction of Pattern Oriented Software Concepts in Ground Stations Dr. U. Häring* and Dr. R. Kozlowski** *Deutsches Zentrum für Luft- und Raumfahrt (DLR) Oberpfaffenhofen, D-88234 Weßling Fax++49 8153

More information

Embedded Systems. 6. Real-Time Operating Systems

Embedded Systems. 6. Real-Time Operating Systems Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and

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

ACM SOSP 99 paper by Zuberi et al.

ACM SOSP 99 paper by Zuberi et al. ACM SOSP 99 paper by Zuberi et al. Motivation Overview of EMERALDS Minimizing Code Size Minimizing Execution Overheads Conclusions 11/17/10 2 Small-memory embedded systems used everywhere! automobiles

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

Meeting the Challenges of Ultra-Large

Meeting the Challenges of Ultra-Large Meeting the Challenges of Ultra-Large Large-Scale Systems Tuesday, July 11, 2006,, OMG RTWS, Arlington, VA Dr. Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for

More information

The Actor Role Coordinator Implementation Developer s Manual

The Actor Role Coordinator Implementation Developer s Manual The Actor Role Coordinator Implementation Developer s Manual Nianen Chen, Li Wang Computer Science Department Illinois Institute of Technology, Chicago, IL 60616, USA {nchen3, li}@iit.edu 1. Introduction

More information