A comparison of corba and ada s distributed systems annex
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

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


  • 97 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

A Comparison of CORBA and Ada’s Distributed Systems Annex

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


A comparison of corba and ada s distributed systems annex

A Comparison of CORBA and Ada’s Distributed Systems Annex

By Andrew Berns


Corba vs dsa

CORBA vs DSA

  • Introduction/Background

  • CORBA Overview

  • DSA Overview

  • Paper Findings

  • Conclusion

  • Questions


Background

Background

  • 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

Client

Client

IDL Stub

IDL Stub

ORB

Portable Object Adapter

IDL Skeleton

Implementation

(Servant)


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

Shared_Passive

Partition 1

Network

Physical Node 2

Remote_Call_Interface

Remote_Call_Interface

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


Findings quantitative

Findings: Quantitative


Findings quantitative1

Findings: Quantitative


Conclusion

Conclusion

  • 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


Questions

Questions


  • Login