Introduction of Pattern Oriented Software Concepts in Ground Stations - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Introduction of Pattern Oriented Software Concepts in Ground Stations

Description:

E-Mail: marketing_at_cam-comp.de. http://www.cam-comp.de ... OS details are hidden as well. Interoperability. Reusability. Location transparency ... – PowerPoint PPT presentation

Number of Views:109
Avg rating:3.0/5.0
Slides: 25
Provided by: drrolfko
Category:

less

Transcript and Presenter's Notes

Title: Introduction of Pattern Oriented Software Concepts in Ground Stations


1
  • Introduction of Pattern Oriented Software
    Concepts in Ground Stations

2
Overview
  • Motivation
  • What are Design Patterns and Real Time Middleware
    ?
  • ACE
  • TAO
  • Design Patterns
  • Example The DLR GSOC Project

3
Motivation I
  • Avoid to re-invent the wheel
  • Problem abstraction
  • Avoid making beginners faults
  • Software development in a distributed and
    heterogeneous environment
  • Cost effectiveness
  • Time constraints

4
Motivation II
  • Developers of distributed applications have to
    cope with inherent and accidental complexities
  • Inherent complexity
  • Eliminating race conditions"
  • Deadlock avoidance
  • Fault tolerance and high availability
  • Load balancing
  • Accidental complexity
  • Lack of portable, reentrant, typesafe and
    extensible system call interfaces and component
    libraries
  • Inadequate debugging support
  • reinvention of core concepts and components

5
the result is
Middleware
Patterns
ACE
OO Design
TAO
OO Develop.
6
Bringing the pieces together
  • Object oriented design allows for abstraction
  • RT CORBA like ACE / TAO provides the basis for
    pattern programming
  • Patterns are Puzzle pieces which we have to put
    together

7
Middleware Concepts
Satisfy specific domain requirements like Process
Automation, E-Commerce Telecommunications,
Define domain-independent services (e.g. Event
Notification, Security, )
Automate common network tasks, (e.g. Connection
and Memory Management, Synchronisation,
Multithreading, )
Encapsulate OS concurrency and IPC mechanisms
8
Overview of the ACE Framework
  • Features
  • Open-source
  • 200,000 lines of C
  • 30 person-years of effort
  • Ported to Win32, UNIX, RTOSs
  • e.g., VxWorks, pSoS, LynxOS, Chorus, QNX

9
Real-time CORBA TAO
  • Features
  • Open-source
  • 500 classes 500,000 lines of C
  • ACE/patterns-based
  • 30 person-years of effort
  • Ported to UNIX, Win32, MVS, many RT embedded
    OSs
  • e.g., VxWorks, LynxOS, Chorus, QNX

Scheduling Service
Standard Synchronizers
Thread Pools
Protocol Properties
Explicit Binding
Portable Priorities
10
Benefits and Liabilities of Real Time CORBA
Middleware
  • Cons
  • Restricted efficiency due to indirection
  • Multiple (distributed) points of failures
  • Testing and debugging is usually more difficult
  • Pros
  • Patterns hide implementation and communication
  • OS details are hidden as well
  • Interoperability
  • Reusability
  • Location transparency
  • Dynamic reconfiguration

11
Advantages of Real-Time CORBA Systems like ACE/TAO
  • Software
  • is approved
  • supports timing sensitive applications
  • hides the platform / OS dependent
    characteristics
  • offers an independent abstraction layer
  • used in commercial application for several years
    (e.g. military strike plane)

12
A Definition of Patterns
  • "Each pattern describes a problem which occurs
    over and over again in our environment, and then
    describes the core of the solution to that
    problem, in such a way that you can use this
    solution a million times over, without ever doing
    it the same way twice
  • Christopher Alexander (1977)

13
What Are Design Patterns ?
  • From Douglas C. Schmidt POSA II
  • Present solutions to common software problems
    arising within a certain context
  • Help resolve key design forces
  • Capture recurring structures dynamics among
    software participants to facilitate reuse of
    successful designs
  • Generally codify expert knowledge best
    practices

14
Description of Patterns
  • A pattern has four essential elements
  • Pattern Name - handle
  • is a handle which is used to briefly describe a
    design problem, its solutions, and consequences
  • Problem Description - when to apply
  • describes when to apply the pattern
  • Solution general arrangement
  • describes the elements that make up the design,
    their relationships, responsibilities, and
    collaborations
  • Consequences - tradeoffs
  • are the results and trade-offs of applying the
    pattern

15
Overview of TAO Patterns
16
Current Situation at DLR Weilheim I
  • Hardware
  • Old Hardware from Digital Equipment
  • After Transitions Digital - Compaq HP,future
    unknown
  • Support, maintenance
  • HW upgrades
  • Software
  • VMS
  • Fortran Code

17
GSOC Requirements
  • Use of commercial of the shelf software
    components
  • Independence of system platforms (e.G processor
    type, operating system)
  • Support of CASE tools
  • Allow for distributing the software application
  • Scalability of the performance
  • Allow for code reuse
  • Provide application robustness

18
Current Situation at DLR Weilheim II
19
Publisher/Subscriber Pattern
  • Pattern Name Publisher/Subscriber
  • Problem DescriptionInformation changes in one
    place, but (potentially) many other components
    depend on this data.
  • Solution A one-way propagation of changes is
    enabled. One component takes the role of the
    publisher and all components depending on the
    information are the subscribers. In case of a
    change, the publisher sends a notification over
    an Event Channel to the subscriber(s).
  • Consequences Abstract coupling between
    publisher and subscriber Support for
    broadcast/multicast communication Risk for
    unexpected updates

20
Decoupling Suppliers Consumers
21
First Migration Step for DLR Weilheim
Future Migration Step for DLR Weilheim
22
Performance tests
  • To be completedShow some estimates related to
    performance of RT CORBA Event Channels
  • Currently we are performing test and collect
    information. Unfortunately we have not finished
    this task completely yet

23
Related Documentation and Web Sites
  • Books
  • POSA I Pattern Oriented Software Architecture
    A System of Patterns, F. Buschman et al, 1996,
    ISBN 0471958697
  • POSA II Pattern Oriented Software Architecture
    Vol.2 Patterns for Concurrent and Networked
    Objects, 200, Douglas C. Schmidt et al, ISBN
    0471606952
  • Design Patterns Elements of Reusable
    Object-Oriented Software, E. Gamma et al, 1995,
    ISBN 0201633612
  • C Network Programming Mastering Complexity
    with ACE and Patterns, 2002, D. C. Schmidt, S.
    D. Houston, ISBN 0201604647
  • URLs
  • Pattern Homepage http//hillside.net/patterns/
  • Patterns in a Nutshell http//www.enteract.com/
    bradapp/docs/patterns-nutshell.html
  • D. Schmidts Homepage http//www.cs.wustl.edu/s
    chmidt/
  • Riveracehttp//www.riverace.com

24
thanks for listening
  • Contact
  • CAM - Computer Anwendung für Management
  • Rolf Kozlowski
  • Rudolf-Diesel-Str. 7a
  • 82205 Gilching
  • Tel. 49 (0) 8105 3723-0
  • Fax. 49 (0) 8105 3723-11
  • Alt. Email Rolf.Kozlowski_at_ieee.org
Write a Comment
User Comments (0)
About PowerShow.com