a comparison of corba and ada s distributed systems annex
Download
Skip this Video
Download Presentation
A Comparison of CORBA and Ada’s Distributed Systems Annex

Loading in 2 Seconds...

play fullscreen
1 / 27

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


  • 135 Views
  • 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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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
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
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
ad