8.1 Terminology
Core FrameworkThe Core Framework is the essential (“core”) set of open application-layer interfaces and services to provide an abstraction of the underlying software and hardware layers for software application designers.
CORBA (Common Object Request Broker Architecture)
CORBA provides platform-independent programming interfaces and models for portable distributed-oriented computing applications. CORBA is the middleware of the SCA OE. Its independence from programming languages, computing platforms, and networking protocols makes it highly suitable for the development of new applications and their integration into existing distributed systems. CORBA has associated with it some unique terminology; the most important of which is explained in the following list.
− A CORBA object is a “virtual” entity capable of being located by an ORB and having client requests invoked on it. It is virtual in the sense that it does not really exist unless it is made concrete by an implementation written in a programming language.
− A target object, within the context of a CORBA request invocation, is the CORBA object that is the target of that request.
− A client is an entity that invokes a request on a CORBA object. − A server is an application in which one or more CORBA objects exist. − A request is an invocation of an operation on a CORBA object by a client.
− An object reference, also known as an IOR (Interoperable Object Reference) is a handle used to identify, locate, and address a CORBA object.
− A servant is a programming language entity that realizes (i.e., implements) one or more CORBA objects. Servants are said to be incarnate CORBA objects because they provide bodies, or implementations, for those objects. Servants exist within the context of a server application. In C++, servants are object instances of a particular class.
CORBA Component
A software component that implements CORBA interfaces (facets). A CORBA component is described by a Software Component Descriptor. A CORBA component encapsulates its internal representation and implementation; it provides a well-defined interface (operations, attributes, exceptions, and events) to component clients via CORBA IDL.
Device (SCA Device)
1. Hardware device refers to a physical hardware element (typically a module performing a function or set of functions identified in its Device Profile).
2. The SCA defines a Device interface class. This logical Device interface is an abstraction of a hardware device that defines the capabilities, attributes, and interfaces for that device.
IDL (Interface Definition Language)
The OMG IDL is CORBA’s fundamental abstraction mechanism for separating object interfaces from their implementations. OMG IDL establishes a contract between client and server that describes the types and object interfaces used by an application. This description is independent of the implementation language, so it does not matter whether the client is written in the same language as the server. IDL Definitions are compiled for a particular implementation language by an IDL compiler. The compiler translates the language-
independent definitions into language-specific type definitions and APIs (Application Program Interface). These type definitions and APIs are used by the developer to provide application functionality and to interact with the ORB. The translation algorithms for various
implementation languages are specified by CORBA and are known as language mappings. CORBA defines a number of language mappings including those for C++, Ada, and Java (along with many others). An IDL compiler produces source files that must be combined with application code to produce client and server executables1. Details, such as the names and numbers of generated source files, vary from ORB to ORB. However, the concepts are the same for all ORBs and implementation languages. The outcome of the development process is a client executable and a server executable.
OMG (Object Management Group)
In 1989, the OMG was formed to address the problems of developing portable distributed applications for heterogeneous systems. It is now the world’s largest software consortium, with more than 800 members. Two key specifications produced by the OMG, the OMA (Object Management Architecture) and its core, the CORBA specification, provide a flexible architectural framework that accommodates a wide variety of distributed systems.
Real-Time CORBA
Real-Time CORBA is an emerging specification that provides additional interfaces to support typical real-time controls such as priorities, thread pools, and guaranteed message transfer times.
Real-Time CORBA does not guarantee necessarily high-performance speed of operations.
Waveform (SCA definition)
A Waveform is the set of transformations applied to information that is transmitted over the air and the corresponding set of transformations to convert received signals back to their information content.
XML (eXtensible Markup Language)
XML is a markup language designed specifically for delivering information over the World Wide Web. XML is used within the SCA to define a profile for the domain in which waveform applications can be managed. XML’s definition consists of only a bare-bones syntax.When you create an XML document, rather than use a limited set of predefined elements, you create your own elements and assign them any names you like – hence the term extensible. You can therefore use XML to describe virtually any type of document, from a musical score to a digitally-programmable radio.
However, for an SCA compliant environment, this extensibility is limited to the SCA-defined Document Type Definitions (DTDs). A DTD provides a list of the elements, attributes, notations, and entities contained in a document, as well as their relationship to one another. DTDs specify a set of rules for the structure of a document. The DTD defines exactly what is allowed to appear inside a document.