Concurrent Programming with Distributed Objects.pdf

(1061 KB) Pobierz
Concurrent Programming with Distributed Objects
Table of Contents
q
q
q
Introduction
r
Object Technology
s
Object-Oriented
s
C++
r
Distributed Processing
r
Undergraduate Research
s
Optical System Design
r
Work Experience
s
1.4.1
s
Airport Traffic Incursion Detection
r
Graduate Research
s
Object Frameworks
s
Hughes Class Library
r
Thesis Topic
s
The Search for the Better Framework
s
ORBeline
r
Research Schedule
Object Frameworks
r
Acceptance of Object Frameworks
r
The Divided Framework Camp
r
Run Time Type Information (RTTI)
r
Serializing the Object
r
Framework and Object Requirements
r
National Institute of Health Class Library (NIHCL)
s
RTTI
s
Object Comparison
s
Collections and Iterators
s
Object Narrowing (safe downcast)
s
Copying Objects (Shallow and Deep)
s
Object I/O
s
Writing NIHCL Classes
r
Hughes Class Library (HCL)
s
Introduction
s
HObject ìthe Hughes version of NIHCL
Objectî
s
RTTI
s
Object I/O
s
Containers
s
Using HCL
s
Example
s
Distributed Programming with HCL
Interprocess Communication
r
PostModern's NetClasses
s
Reuse
s
Features
s
Design
s
Using the NetClasses Framework
s
Success of the Single Rooted Tree
Framework
r
Adaptive Communication Environment
(!!w2wpACE!!http://www.cs.wustl.edu/~schmidt!pe!)
Object Request Broker (ORB)
r
OMG Concrete Object Model
Introduction
This is an investigation into the application of concurrent programming and
object technology in developing distributed systems with specific interest in
concurrent scheduling and planning algorithms. The research paper begins
with a brief presentation of the concepts of object technology and C++. Then,
as a preface to the presentation of the concepts of concurrent programming
and object frameworks, the investigation of the Common Object Request
Broker Architecture (CORBA), and the prototyping results, the next section
gives some background information to set the tone for this research and to
support the following statement.
Distributed object technology and concurrent/parallel processing are part of
an abrupt evolution in information systems. Object technology will be the
vehicle that allows information system providers to reap the benefits of
distributed processing. Distributed object technology will affect the IS
industry at all levels of hardware, operating system and software design.
This page was last updated on February 18, 1997
Please send comments or questions to
Matthew Stevens.
http://www.ece.villanova.edu/user/matt/thesisbody/ (1 of 2) [20/02/04 05:40:51 p.m.]
Concurrent Programming with Distributed Objects
Request
s
Values
s
Object Interface
s
Object Operations
r
The ORB Structure
s
Static IDL ORB Interface
s
Language Mapping
s
Interface Repository (IR) and the Dynamic
Invocation Interface (DII)
s
Implementation Repository
s
Object Adapter
s
CORBA Standard
r
PostModern Computing (now Visigenic)'s ORBeline
s
ORBeline's Architecture
s
The ORBeline Framework
s
ORBeline's ORB Objects
s
Advanced Features
Distributed Object Application Prototype
r
Hardware Platforms
s
Multicomputer
r
Parallel Programming with Objects
s
Data Partitioning and Domain/Functional
Decomposition
s
Manager-Worker Paradigm and Load
Balancing
r
Classic Complex Problems
s
Matrix Chain Multiplication
s
Catalan Numbers
r
Dynamic Programming
r
Prototype
s
Data Decomposition
s
Corners
s
Limitations
s
CORBA Implementation
s
Calculation Algorithm
s
Results
r
Conclusions
Footnotes
s
q
q
http://www.ece.villanova.edu/user/matt/thesisbody/ (2 of 2) [20/02/04 05:40:51 p.m.]
Concurrent Programming with Distributed Objects: Object Oriented Frame... Algorithms, and the Common Object Request Broker Architecture (CORBA)
Introduction
This is an investigation into the application of concurrent programming and object technology in
developing distributed systems with specific interest in concurrent scheduling and planning algorithms.
The research paper begins with a brief presentation of the concepts of object technology and C++. Then,
as a preface to the presentation of the concepts of concurrent programming and object frameworks, the
investigation of the Common Object Request Broker Architecture (CORBA), and the prototyping results,
the next section gives some background information to set the tone for this research and to support the
following statement.
Distributed object technology and concurrent/parallel processing are part of an abrupt evolution in
information systems. Object technology will be the vehicle that allows information system providers to
reap the benefits of distributed processing. Distributed object technology will affect the IS industry at all
levels of hardware, operating system and software design.
This page was last updated on February 18, 1997
Please send comments or questions to
Matthew Stevens.
http://www.ece.villanova.edu/user/matt/thesisbody/thesis.html [20/02/04 05:40:53 p.m.]
Object Technology
Object Technology
The fundamental characteristic of object oriented technology is the combination of data structure and
behavior.1 This combination of data and function is more understandable to people and most resembles
real life. As operating systems, programming languages, and frameworks evolve through object
technology to allow a more efficient coupling between processing and networking, distributed processing
will be as common place as simple data structures like linked lists.
Many of the sections in this paper do not require the reader to have an in depth knowledge of object
technology and C++; an understanding of C programming is required. However, to fully understand the
topics on object frameworks,
CORBA,
and the prototyping results, the reader would benefit from an
introduction to object oriented design and implementation in C++. The experienced C++ programmer
may skip to the next section.
This page was last updated on February 18, 1997
Please send comments or questions to
Matthew Stevens.
http://www.ece.villanova.edu/user/matt/thesisbody/thesis_Object_Technology_.html [20/02/04 05:40:55 p.m.]
Object-Oriented
Object-Oriented
Object-Oriented refers to the design and implementation of information systems which, as mentioned
before, combines data structure with the behavior relevant to the data structure. More specifically, object-
oriented exhibits the following characteristics: encapsulation; classification; inheritance; and
polymorphism.
Encapsulation
Encapsulation is the technique of separating the implementation details of an object from the external
interface. The external interface is available for use by other objects. Another name for encapsulation is
"information hiding". Information hiding is not restricted to object-oriented but it is available in most
object implementations. The concept of external or "public" interfaces on objects is crucial to distributing
objects in a system. We will see that it is really the "public" interfaces of objects that are distributed in a
system. The actual object implementations are hidden by these distributed interfaces.
Classification
Classification refers to the difference between an "object" and a "class" in an object-oriented system. An
"object" is a unique, identifiable instance of information such as a named employee. Classification is the
grouping of objects with like attributes (data) and operations (behavior). These groupings are called
"classes". Objects are instances of classes. Classes are types whereas objects are identities (e.g.
STUDENT is a class and JOE_SMITH is an object which is of type STUDENT). Using the OMT
notation
1,
classes are diagrammed as a titled box with two sections for the attributes and behaviors. See
Diagrams in Appendix.
Inheritance
Classes can be organized such that specialized classes can inherit from more general classes. This
technique is called inheritance and it is more easily demonstrated by an example. The classes
car,
airplane, train,
and
bus
could all inherit from the general class
vehicle.
The attributes (data)
and operations (behavior) are inherited from one class to a more specialized class. Inheritance is
represented in an object model as in Diagrams in Appendix .
Polymorphism
A more abstract object-oriented characteristic is polymorphism. Polymorphism describes the capability
of applying the same operation to different objects and having the resulting behavior vary depending on
http://www.ece.villanova.edu/user/matt/thesisbody/thesis_Object_Oriented_.html (1 of 2) [20/02/04 05:40:56 p.m.]
Zgłoś jeśli naruszono regulamin