A comparison of corba and ada s distributed systems annex
1 / 27

A Comparison of CORBA and Ada’s Distributed Systems Annex - PowerPoint PPT Presentation

  • Uploaded on

A Comparison of CORBA and Ada’s Distributed Systems Annex. By Andrew Berns. CORBA vs DSA. Introduction/Background CORBA Overview DSA Overview Paper Findings Conclusion Questions. Background. Undergraduate research project Investigation into CORBA and DSA from a beginner’s point of view.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' A Comparison of CORBA and Ada’s Distributed Systems Annex' - gamba

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Corba vs dsa

  • Introduction/Background

  • CORBA Overview

  • DSA Overview

  • Paper Findings

  • Conclusion

  • Questions


  • Undergraduate research project

  • Investigation into CORBA and DSA from a beginner’s point of view

Corba background
CORBA Background

  • 1991 by the Object Management Group (OMG)

  • Object-oriented approach to distributed systems

  • Features:

    • Object-oriented techniques

    • Language interoperability

    • Transparent communication layer

Corba the heart
CORBA: The Heart

  • Object Request Broker (ORB)

    • Handles interactions between objects

    • Provides extra services (naming, etc.)

    • Vendors create different ORBs

Corba object definition
CORBA: Object Definition

  • Interface Definition Language (IDL)

    • Defines the interface of distributed objects

    • Definition only, no implementation

    • Uses a subset of common language features

Sample idl file
Sample IDL File

interface PrimeFinderServer { typedef long Integer_Array[200]; void Initialize( in long Limit );

Integer_Array Get_Array( );

boolean Finished( );

void Put_Prime( in Integer_Array primes, in long Count );

boolean Ready( );};

Corba communication
CORBA: Communication

  • General Inter-ORB Protocol (GIOP)

    • Interface the ORB uses to communicate

    • May use any communication mechanism

      • Internet Inter-ORB Protocol (IIOP) – TCP/IP

      • UNIX Inter-ORB Protocol (UIOP) – UNIX Sockets

    • Allows the developer to select the right tool

Corba servants skeletons stubs
CORBA: Servants, Skeletons, Stubs

  • Stub: for the client

    • Generated by the compiler for clients to use the distributed object

  • Skeleton: for the object (with the Portable Object Adapter (POA))

    • Generated by the compiler for implementation to connect with ORB

  • Servant: actual implementation of the object

    • Done in a specific programming language

Corba all together
CORBA: All Together



IDL Stub

IDL Stub


Portable Object Adapter

IDL Skeleton



Dsa background
DSA Background

  • Annex E of the Ada 95 Language Specification

  • Distributed systems created through extension of existing language features

  • Features:

    • Availability of many of Ada’s constructs

    • Compilation and execution with or without distributed features

Dsa the heart
DSA: The Heart

  • Partitions

    • Each distributed “piece” of a program is represented by a partition

    • Distributed communication occurs between these partitions

    • A partition exists on a physical node, and a node may contain many partitions

    • Each partition has different packages with different capabilities, depending on how the developer has designated them

Dsa package pragmas
DSA: Package Pragmas

  • Remote_Call_Interface

    • Receives remote procedure calls from other partitions

  • Shared_Passive

    • Shared storage throughout the system

  • Remote_Types

    • Defines types to be used across the system

Dsa communication
DSA: Communication

  • Partition Communication Subsystem (PCS)

    • How each partition communicates

    • Specification defined by Ada Language Specification

    • Implementation left up to developer

    • Allows freedom to choose appropriate protocol

Dsa assembling the pieces
DSA: Assembling the Pieces

  • After program creation, assembly is done with a configuration tool

    • Decides packages in partitions, and nodes

Sample dsa configuration file
Sample DSA Configuration File

configuration distprime is Starter : Partition := (PrimeFinderStarter, PrimeFinderServer); procedure PrimeFinderStarter is in Starter; Client_1 : Partition := (PrimeFinderClient); for Client_1'Host use "illinoiscentral"; for Client_1'Directory use "/usr/distributed/ada"; Client_2 : Partition := (PrimeFinderClient); for Client_2'Host use "pennsylvania"; for Client_2'Directory use "/usr/distributed/ada"; procedure PrimeFinderClient; for Client_1'Main use PrimeFinderClient; for Client_2'Main use PrimeFinderClient;

end distprime;

Dsa all together
DSA: All Together

Physical Node 1


Partition 1


Physical Node 2



Partition 2

Partition 3

Software tools
Software Tools

  • CORBA: Wide Availability

    • Many ORB implementations exist – both for Ada and other languages, such as Java and C++

    • Here, chose to use AdaCore’s PolyORB

  • DSA: Limited Availability

    • A very limited selection of DSA implementations

    • Here, chose to use AdaCore’s GLADE

Findings qualitative
Findings: Qualitative

  • Easy to Learn: DSA

    • No need to worry about IDL

    • Easy to understand program paradigm

Findings qualitative1
Findings: Qualitative

  • Program Creation: DSA

    • Much less “overhead”

    • Static partitions, however

Findings qualitative2
Findings: Qualitative

  • Language Interoperability: CORBA

    • Built for language interoperability

Findings qualitative3
Findings: Qualitative

  • Documentation: CORBA

    • Quite popular in many languages

    • A large number of vendor implementations available

Findings qualitative4
Findings: Qualitative

  • Design and Development: DSA

    • Allows programs to run distributed or non-distributed transparently

    • Compiling allowed on any compiler


  • DSA is not inadequate when compared with CORBA

  • Seems to be a lot of untapped potential

    • Ada’s strong real-time embedded systems appeal

    • Ease of distribution after program creation