a comparison of corba and ada s distributed systems annex n.
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


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