Click on our Sponsors to help Support SunWorld
By Mike Aube and Leslie Newberry

SunWorld
April  1996
[Next story]
[Table of Contents]
[Search]
Subscribe to SunWorld, it's free!

Mail this
article to
a friend

Glossary of Object-Oriented Terminology for Business

Compiled by Mike Aube and Leslie Newberry
In collaboration with the Object Technology Staff of The Technical Resource Connection, Inc.

Acknowledgment

This glossary has been adapted from Next Generation Computing: Distributed Objects for Business by Peter Fingar, Dennis Read, Jim Stikeleather, SIGS Books & Multimedia, New York. © Copyright 1996 SIGS Publications Inc. (6,300 words)

The Technical Resource Connection gratefully acknowledges the contributions to this glossary from the Object Management Group, Inc. (OMG), a non-profit consortium dedicated to the creation of standards for object-oriented computing environments of the future.

A Glossary of Object-Oriented Terminology for Business is designed to foster a standard vocabulary for business and technology professionals and will be helpful to readers of The Technical Resource Connection's white papers and anyone who is studying merging information technologies. Definitions contributed by the Object Management Group are noted by [OMG].

You can learn more about Next Generation Computing : Distributed Objects for Business and buy the book at Amazon.com Books.

Term
Definition

4GL
An acronym meaning Fourth Generation Language. A 4GL is typically non-procedural and designed so that end users can specify what they want without having to know how computer processing is to be accomplished.

Abstract Class
A specialized class used solely for subtyping. It defines a common set of behaviors to be inherited by its subtypes. It has no instances. (Synonymous with Virtual Class in C++)

Abstract Data Type (ADT)
A data type defined to model the data characteristics of real-world objects. An ADT provides a public interface via its permitted operations, but the internal representation and implementation of this interface are private.

Abstraction
The act of concentrating the essential or general qualities of an object or objects. The resulting concept embodies the "essence" of the objects under consideration.

Accessibility
The ability or permission to invoke a service provided by a particular object. Object-oriented programming languages implement both public and private methods of accessibility. (Synonymous with Visibility)

Accessor
A method or member function that provides a public interface to allow the "setting" or "getting" of an object's private instance variables or data members.

Activation
Copying the persistent form of methods and stored data into an executable address space to allow execution of the methods on the stored data. [OMG]

Actor
An external agent that interacts with an application or system. This is also a model for concurrent programming.

Agent
An entity that performs operations on behalf of other objects, systems and agents.

Analysis
The process of developing a specification of what a system does and how it interacts with its environment.

Application
A program or a set of programs that provides functionality to the end user.

Application Facilities
Common facilities that are useful within a specific application domain. [OMG]

Application Objects
Applications and their components that are managed within an object-oriented system. Example operations on such objects are "Open," "Install," "Move" and "Re-move." [OMG]

Application Program Interface (API)
The programming interface used to access and control a library or program.

Architecture
A high-level description of the organization of functional responsibilities within a system. Many different levels of architectures are involved in developing software systems, from physical hardware architecture through the logical architecture of an application framework.

Assertion
An expression that evaluates to either true or false. Generally used to protect the integrity of a system or component.

Assignment
The activity of copying the values of one object into another object. The details of such an assignment vary according to the implementation language used.

Association
Meaningful links between objects. A person associated with a company creates the concept of employment.

Asynchronous Message Communication
Asynchronous message communication provides the capability for objects to send messages, even without the existence of the receiving object at the instant the message is sent. The receiving object can retrieve messages at its convenience. There is no blocking or synchronization required between objects. Asynchronous message communication is a foundation for constructing concur-rent computing environments.

Asynchronous Request
A request in which the client object does not pause or wait for delivery of the request to the recipient; nor does it wait for the results. [OMG]

Atomicity
The property that ensures an operation either changes the state associated with all participating objects consistent with the request, or changes none at all. If a set of operations is atomic, then multiple requests for those operations are serializable. [OMG]

Attribute
An identifiable association between an object and a value. An attribute A is made visible to clients as a pair of operations: get_A and set_A. Read only attributes only generate a get operation. [OMG] A characteristic or property of an object. Usually implemented as a simple data member or as an association with another object or group of objects.

Audience
The kind of consumer (caller) of an interface. An interface might be intended for use by the ultimate user of the service (functional interface), by a system management function within the system (system management interface) or by other participating services in order to construct the service from disparate objects (construction interface). [OMG]

Base Class
A class that has one or more derived classes that inherit its attributes and methods. (Synonymous with Superclass)

Bearer
The kind of object that presents an interface. An object might be fundamentally characterized by the fact that it has a given interface (a specific object bears an interface), or an object can have an interface that is ancillary to its primary purpose in order to provide certain other capabilities (a generic object bears the interface). [OMG]

Behavior
The behavior of a request is the observable effects of performing the requested service (including its results). [OMG]

Behavior Consistency
Ensures that the behavior of an object maintains its state consistency. [OMG]

Binding
The selection of the method to perform a requested service and of the data to be accessed by that method. (See also Dynamic Binding and Static Binding) [OMG]

Block
A class primarily consisting of a compound statement made up of a series of operations and control structures. Block objects are used in control structures, usually as arguments for repeated or conditional execution. In-stances of this class essentially allow language constructs and operations to be bundled into an object.

Browser
A software facility used to view and modify classes, attributes and methods.

Built-In Type
An abstract data type that is provided as a part of the language. Also provided are the operators used to manipulate instances of built-in types.

Class
An implementation that can be instantiated to create multiple objects with the same behavior. An object is an instance of a class. Types classify objects according to a common interface; classes classify objects according to a common implementation. [OMG]

Class Attribute
A characteristic or property that is the same for all instances of a class. This information is usually stored in the class type definition.

Class Hierarchy
Embodies the inheritance relationships between classes.

Class Inheritance
The construction of a class by incremental modification of other classes. [OMG]

Class Member
A method or an attribute of a class.

Class Method
A class method defines the behavior of the class. Such a method performs tasks that cannot or should not be done at the instance level, such as providing access to class attributes or tracking class usage metrics.

Class Object
An object that serves as a class. A class object serves as a factory. (See Factory) [OMG]

Classification
The act of determining which class or type applies to a specific object.

Client
An object that requests a service from a server object in a client/server relationship. The code or process that invokes an operation on an object. [OMG]

Client/server
A relationship between a client that requests services and servers that provide services. This relationship is paralleled in an O-O environment by message senders and receivers.

Cognition
The act or process of knowing; perception. O-O technology is intricately tied to how people think, act and interact while accomplishing work.

Collaboration
Two or more objects that participate in a client/server relationship in order to provide a service.

Common Facilities
Provides facilities useful in many application domains and which are made available through Object Management Architectures (OMA)-compliant class interfaces. (See also Application Facilities) [OMG]

Common Object Request Broker Architecture (CORBA, CORBA 2)
A specification for objects to locate and activate one another through an object request broker. CORBA 2 extends the specification to facilitate object request brokers from different vendors to interoperate.

Component
A conceptual notion. A component is an object that is considered to be part of some containing object. [OMG] Classes, systems or subsystems that can be designed as reusable pieces. These pieces can then be assembled to create various new applications.

Composition
The creation of an object that is an aggregation of one or more objects.

Compound Object
A conceptual notion. A compound object is an object that is viewed as standing for a set of related objects. [OMG]

Computed Characteristic
An attribute derived from the values of other attributes.

Computer Aided Software Engineering (CASE)
A collection of software tools that support and automate the process of analyzing, designing and coding software systems.

Concrete Class
A class or type that can have instances. (Contrast with Abstract Class).

Configuration Management (CM)
The discipline of identifying a system and its component parts at discrete points in time. Monitoring throughout versions and revisions enables CM to systematically control changes to maintain integrity and traceability of the system throughout a product's lifecycle. This includes hardware, environment, code, documents and objects.

Conformance
A relation defined over types such that type x conforms to type y if any value that satisfies type x also satisfies type y. [OMG]

Constraint
A relational or behavioral restriction or limit. Usually regarded as a property that must always hold true.

Construction Interfaces
Interfaces that define the operations used to communicate between the core of an Object Service and related objects that must participate in providing the service. They are typically defined by the service, and inherited and implemented by participants in the service. Objects that participate in a service must support these interfaces. An Object Service Definition. [OMG]

Constructor
A method that is called when a new instance is created. Constructor methods are used to initialize the new instance.

Container Class
A class designed to hold and manipulate a collection of objects.

Context-Independent Operation
An operation in which all requests that identify the operation have the same behavior. (In contrast, the effect of a context-dependent operation might depend upon the identity or location of the client object issuing the request.) [OMG]

Contract
Defines the services provided by a server, along with the pre-conditions and post-conditions that apply to the use of those services.

Coupling
A dependency between two or more classes, usually resulting from collaboration between the classes to provide a service. Loose coupling is based on generic behavior and allows many different classes to be coupled in the same way. Tight coupling is based on more specific implementation details of the participating classes and is not as flexible as loose coupling.

Data Member
The named variables defined and used to hold the values of the attribute of a class. (Synonymous with Attribute)

Data Model
A collection of entities, operators and consistency rules. [OMG]

Data Type
A categorization of values, operations and arguments, typically covering both behavior and representation (e.g., the traditional non-OO programming language notion of type). [OMG]

Declassification
The act of removing an object from a specific set of objects of a given type.

Deferred Synchronous Request
A request where the client does not wait for completion of the request, but does intend to accept results later. Contrast with synchronous request and one-way request. [OMG]

Delegation
The ability of a method to issue a request in such a way that self-reference in the method performing the request returns the same object(s) as self-reference in the method issuing the request. (See Self-Reference) [OMG] The ability of an object to issue a request to another object in response to a request. The first object therefore delegates the responsibility to the second object.

Derivation
The act of subclassing an existing class to define a new subclass. (See Inheritance)

Derived Class
The class created through inheritance. A derived class inherits the methods and attributes of its superclass(es) and usually adds its own to distinguish its capabilities or services.

Design
A process that uses the products of analysis to produce a specification for implementing a system. Design Pattern (See Pattern)

Destructor
A method involved whenever an object is ready to be destroyed. It is usually implemented to revise the actions that were performed during initialization, such as recovery of allocated resources.

Distributed Object Computing (DOC)
A computing paradigm that distributes cooperating objects across a heterogeneous network and allows the objects to interoperate as a unified whole.

Domain
A formal boundary that defines a particular subject or area of interest.

Domain Expert
A person who has special skill or knowledge of a particular domain.

Dynamic Binding
Binding that is performed after a request is issued. (See Binding) [OMG]

Dynamic Classification
Classification of an object at runtime. This implies that an object's classification can change over time.

Dynamic Invocation
Constructing and issuing a request whose signature is not known until runtime. [OMG]

Dynamic Link Library (DLL)
A dynamically loaded run-time library.

Dynamic Object-Based Application
The end-user functionality provided by one or more programs consisting of interoperating objects. [OMG]

Embedding
Creating an object out of a non-object entity by wrapping it in an appropriate shell. [OMG]

Encapsulation
The technique used to hide the implementation details of an object. The services provided by an object are defined and accessible as stated in the object contract. (Often used interchangeably with Information Hiding)

Enterprise Modeling
A technique for modeling an entire business enterprise from the business manager's point of view. An enterprise model is composed of the objects, events and business rules that describe the enterprise. Separate but related business systems can be built from this model to enhance the efficiency and consistency of the operation of the enterprise.

Event
A significant change in the environment or the state of an object that is of interest to another object or system.

Exchange Format
The form of a description used to import and export objects. [OMG]

Expectation Management
The process of guiding the user's expectations regarding the functionality and characteristics of any proposed system or technology.

Expert System
A rule-based program that implements the domain knowledge of a human domain expert. It is usually able to "reason" through new problems by applying its rules.

Export
To transmit the description of an object to an external entity. [OMG]

Extension of a Type
The sets of values that satisfy the type. [OMG]

Externalized Object Reference
An object reference expressed as an ORB-specific string. Suitable for storage in files or other external media. [OMG]

Factoring
The process of extracting the common properties or behavior from a group of objects so that the common elements can be propagated to a common subclass. Factoring eliminates duplication.

Factory
A concept that provides a service for creating new objects. [OMG]

Fault-Tolerance
The characteristic of a system that allows it to handle the loss of a particular component without interrupting normal operations.

Formal Parameter
A named local object used as an argument to an operation. The value of the object (actual parameter) is assigned by the client who runs the method.

Framework
A set of collaborating abstract and concrete classes that may be used as a template to solve a specific domain problem.

Functional Decomposition
The process of refining a problem solution by repeatedly decomposing a problem into smaller and smaller steps. The resulting steps are then programmed as separate modules.

Functional Interface
Interfaces that define the operations invoked by users of an object service. The audience for these interfaces is the service consumer, the user of the service. These interfaces present the functionality (the useful operations) of the service. An Object Service Definition. [OMG]

Fusion
A second generation object-oriented development method that provides a systematic approach to O-O software development. It

integrates and extends other methods

OMT/ Rumbaugh, Booch, CRC and Formal Methods.

Garbage Collection
The recovery of memory occupied by unreferenced objects, usually implemented by the language or environment.

Generalization
The inverse of the specialization relation. [OMG]

Generic Object
An object (relative to some given Object Service) whose primary purpose for existence is unrelated to the Object Service whose interface it carries. The notion is that the Object Service is provided by having (in principle) any type of object inherit that object service interface and provide an implementation of that interface. An Object Service Domain. [OMG]

Generic Operation
The concept that an operation is generic if it can be bound to more than one method. [OMG]

Graphical User Interface (GUI)
Any interface that communicates with the user, primarily through graphical icons.

Handle
A value that identifies an object. [OMG]

Heuristic
A rule of thumb or guideline used in situations where no hard and fast rules apply. An empirical rule, or educated guess based upon past experiences.

Implementation
A definition that provides the information needed to create an object and allow the object to participate in providing an appropriate set of services. An implementation typically includes a description of the data structure used to represent the core state associated with an object, as well as definitions of the methods that access that data structure. It will also typically include information about the intended interface of the object. [OMG]

Implementation Definition Language
A notation for describing implementations. The implementation definition language is currently beyond the scope of the ORB standard. It may contain vendor-specific and adapter-specific notations. [OMG]

Implementation Inheritance
The construction of an implementation by incremental modification of other implementations. The ORB does not provide implementation inheritance. Implementation inheritance may be provided by higher level tools. [OMG]

Implementation Object
An object that serves as an implementation definition. Implementation objects reside in an implementation repository. [OMG]

Implementation Repository
A storage place for object implementation information. [OMG]

Import
Creating an object based on a description of an object transmitted from an external entity. [OMG]

In-Line Method
A mechanism that allows the compiler to replace calls to the method with an expansion of the method code.

Incomplete Partition
A partition composed of some, but not all, of its partitioned subtypes. Information Hiding (See Encapsulation)

Inheritance
The construction of a definition by incremental modification of other definitions. (See also Implementation Inheritance) [OMG]

Initialization
Setting the initial attribute values of a new object.

Instance
An object created by instantiating a class. An object is an instance of a class. [OMG]

Instance Variable
A variable that contains a value specific to an object instance.

Instantiation
Object creation. [OMG]

Integrated Project Support Environment (IPSE)
An environment that specifies the processes for systematically managing development projects to minimize costs, increase productivity, and build quality software products.

Interface
A description of a set of possible uses of an object. Specifically, an interface describes a set of potential requests in which an object can meaningfully participate. (See also Object Interface, Principal Interface and Type Interface) [OMG]

Interface Definition Language (IDL )
When used in conjunction with an ORB, IDL statements describe the properties and operations of an object.

Interface Inheritance
The construction of an interface by incremental modification of other interfaces. The IDL provides interface inheritance. [OMG]

Interface Type
A type that is satisfied by any object (literally, by any value that identifies an object) that satisfies a particular interface. (See also Object Type) [OMG]

Interoperability
The ability for two or more ORBs to cooperate to deliver requests to the proper object. Interoperating ORBs appear to a client to be a single ORB. [OMG]

Invariant Relation
A relation that cannot be changed so long as it has instances.

ISO 9000 Certification/Standards
The International Organization for Standardization (ISO) issues the ISO-9000 guidelines for the selection and use of the series of standards on quality systems.

Language Binding or Mapping
The means and conventions by which a programmer writing in a specific programming language accesses ORB capabilities. [OMG]

Legacy System
A previously existing system or application.

Leveling
The process of grouping information or concepts at various levels of increasing detail. The top-most level is general in nature and each successive level adds more detail until all aspects of the given subject matter have been explained in detail.

Life-Cycle Service
The Object Life-Cycle Service provides operations for managing object creation, deletion, copying and equivalence. An Object Service Definition. [OMG]

Link
Relation between two objects (a concept). [OMG]

Literal
A value that identifies an entity that is not an object. (See also Object Name) [OMG]

Managed Object
Clients of System Management services, including the installation and activation service and the operational control service (dynamic behavior). These clients may be application objects, common facilities objects, or other object services. The term is used for compatibility with system management standards (the X/Open GDMO specification and ISO/IEC 10164 System Management Function, Parts 1 to 4). An Object Service Definition. [OMG]

Mapping
A rule or process, the O-O equivalent of a mathematical function. Given an object of one set, a mapping applies its associative rules to return another set of objects. Member Function (See Method)

Message
The mechanism by which objects communicate. A message is sent by a client object to request the service provided by the server object.

Meta-Model
A model that defines other models.

Meta-Type
A type whose instances are also types. [OMG]

Meta-Object
An object that represents a type, operation, class, method or object model entity that describes objects. [OMG]

Method
Code that can be executed to perform a requested service. Methods associated with an object are structured into one or more programs. [OMG]

Method Resolution
The selection of the method to perform a requested operation. [OMG]

Method (Systems Development)
A cohesive set of rules, methods and principles used to guide the modeling and development of software systems.

Multiple Classification
Ability of an object to belong to more than one type.

Multiple Inheritance
The construction of a definition by incremental modification of more than one other definition. [OMG]

Object
A combination of a state and a set of methods that explicitly embodies an abstraction characterized by the behavior or relevant requests. An object is an instance of a class. An object models a real world entity and is implemented as a computational entity that encapsulates state and operations (internally implemented as data and methods) and responds to requests for services. [OMG] An object is a self-contained software package consisting of its own private information (data), its own private procedures (private methods), which manipulate the object's private data, and a public interface (public methods) for communicating with other objects.

Object Adapter
The ORB component that provides object reference, activation and state-related services to an object implementation. There may be different adapters provided for different implementations. [OMG]

Object Creation
An event that causes an object to exist that is distinct from any other object. [OMG]

Object Data Base Management System (ODBMS)
These systems provide for long-term, reliable storage, retrieval and management of objects. Object Destruction An event that causes an object to cease to exist and its associated resources to become available for reuse. [OMG] Object Identity (See Handle)

Object Interface
A description of a set of possible uses of an object. Specifically, an interface describes a set of potential requests in which an object can meaningfully participate as a parameter. It is the union of the object's type interfaces. [OMG]

Object Library/Repository
A central repository established expressly to support the identification and reuse of software components, especially classes and other software components.

Object Management Group
A non-profit industry group dedicated to promoting object-oriented technology and the standardization of that technology. [OMG]

Object Modeling Technique (OMT)
An object-oriented systems development life cycle developed by General Electric.

Object Name
A value that identifies an object. (See Handle) [OMG]

Object Reference
A value that precisely identifies an object. Object references are never reused to identify another object. [OMG]

Object Request Broker (ORB)
Provides the means by which objects make and receive requests and responses. [OMG] The middleware of distributed object computing that provides a means for objects to locate and activate other objects on a network, regardless of the processor or programming language used to develop and implement those objects.

Object Services
The basic functions provided for object lifecycle management and storage such as creation, deletion, activation, passivation, identification and location. [OMG]

Object State
The current information about an object that determines its behavior.

Object Type
A type the extension of which is a set of objects (literally, a set of values that identify objects). In other words, an object type is satisfied only by (values that identify) objects. (See also Interface Type) [OMG]

Object Wrapper
The result of encapsulating a set of services provided by a non O-O application or program interface in order to treat the encapsulated application or interface as an object.

Object-Based
A programming language or tool that supports the object concept of encapsulation, but not inheritance or polymorphism.

Object-Based Architecture for Integration (OBAI)
An architecture developed to facilitate legacy application migration to open systems, client/server and object-based computing. The primary function of OBAI is to allow new systems to be developed without having to abandon existing information systems and to allow the new systems to take advantage of the knowledge, information and data contained in the old systems.

Object-Oriented
Any language, tool or method that focuses on modeling

real world systems using the three pillars of objects
encapsulation, inheritance and polymorphism.

Object-Oriented Analysis
The process of specifying what a system does by identifying domain objects and defining the behavior and relationships of those objects.

Object-Oriented Business Engineering (OOBE)
A framework and discipline used to effectively model business processes. It involves identifying business objects, processes, structures, rules, policies, organizational structure and authority, location and logistics, technology and applications. Its goal is to produce precise descriptive models of business objects that can be converted into reusable and easily modifiable software components.

Object-Oriented Design
The process of developing an implementation specification that incorporates the use of classes and objects. It encourages modeling the real world environment in terms of its entities and their interactions.

Object-Oriented Programming Language (OOPL)
A programming language that supports the concepts of encapsulation, inheritance and polymorphism.

One-Way Request
A request in which the client does not wait for completion of the request, nor does it intend to accept results. Contrast with deferred synchronous request and synchronous request. [OMG]

Operation
A service that can be requested. An operation has an associated signature, which may restrict which actual parameters are possible in a meaningful request. [OMG]

Operation Name
A name used in a request to identify an operation. [OMG]

ORB Core
The ORB component that moves a request from a client to the appropriate adapter for the target object. [OMG]

Overloaded Operation
Multiple methods of the same name, each having a unique signature. This allows the methods of the same name to be invoked with various argument types.

Paradigm
A broad framework for thinking about and perceiving reality. A theoretical, philosophical model composed of identifiable theories, laws and generalizations used in defining and solving problems.

Parallel Processing
The simultaneous execution or computation of two or more programs or operations.

Parameter Passing Mode
Describes the direction of information flow for an operation parameter. The parameter passing modes are IN, OUT and INOUT. [OMG]

Parameterized Class
A class that allows users to declare member functions and data members of "Some Type," which can be used as a template for declaring specialized subclasses that supply the "Missing" types.

Participate
An object participates in a request when one or more actual parameters of the request identifies the object. [OMG]

Partition
Decomposing a type into its disjoint subtypes.

Pattern
A pattern describes a problem, a solution to a problem, and when to apply the solution. Patterns may be categorized as design patterns, business process patterns and analysis patterns.

Persistent Object
An object that can survive the process or thread that created it. A persistent object exists until it is explicitly deleted. [OMG]

Pointer
A variable that can hold a memory address of an object.

Polymorphic Operation
The same operation implemented differently by two or more types.

Polymorphism
The concept that two or more types of objects can respond to the same request in different ways.

Post-Condition
A constraint that must hold true after the completion of an operation.

Pre-Condition
A constraint that must hold true before an operation is requested.

Principal Interface
The interface that describes all requests in which an object is meaningful. [OMG]

Private
A scoping mechanism used to restrict access to class members so that other objects cannot see them.

Property
A conceptual notion. An attribute, the value of which can be changed. [OMG]

Protected
A scoping mechanism used to restrict access to class members.

Protection
The ability to restrict the clients for which a requested service will be performed. [OMG]

Public
A scoping mechanism used to make member access available to other objects.

Query
An activity that involves selecting objects from implicitly or explicitly identified collections based on a specific predicate. [OMG]

Rapid Prototyping
The iterative process of quickly developing a prototype of an application, usually with the aid of specific GUI-building tools. This process is used to help uncover unknown details of the system under consideration, and to build the system in small increments.

Referential Integrity
The property that ensures that a handle which exists in the state associated with another object reliably identifies a single object. [OMG]

Relation
An object type that associates two or more object types. A relation is how associations are formed between two or more objects.

Repository
Usually a central location used to store and organize software components and related definitions, rules, etc. (See Object Library/Repository)

Request
An event consisting of an operation and zero or more actual parameters. A client issues a request to cause a service to be performed. Also associated with a request are the results that can be returned to the client. A message can be used to implement (carry) a request and/ or a result. [OMG]

Requirements
A document describing what a software system does from a user's point of view. This document is input into the object-oriented analysis process, where it will be transformed into a much more precise description.

Responsibility
A service or group of services provided by an object; a responsibility embodies one or more of the purposes of an object.

Result
The information returned to the client, which can include values as well as status information, indicating that exceptional conditions were raised in attempting to perform the requested service. [OMG]

Reuse
Reuse is the process of locating, understanding and incorporating existing knowledge, design and components into a new system. Reuse should occur at all levels of system development analysis, design, implementation, testing, documentation and user training.

Role
A sequence of activities performed by an agent.

Rule
Rules exist in two types: constraints and generic functions.

Scalability
The ability of a system to grow without sacrificing performance.

Schema
A formal presentation with a defined set of symbols and rules that govern the formation of a representation using the symbols. There are many different kinds of schema, including object, event and activity schemas.

Security Domain
A subset of computational resources used to define a security policy. [OMG]

Self-Reference
The ability for a method to identify the target object for which it was invoked. This notion is referred to by the key words "self " in Smalltalk and "this" in C++. [OMG]

Semantics
The meaning -- the essence -- of the definition.

Server Object
An object providing response to a request for a service. A given object might be a client for some requests and a server for other requests. (See also Client Object) [OMG]

Service
A computation that can be performed in response to a request. [OMG]

Signature
Defines the parameters of a given operation including their number order, data types and passing mode; the results, if any; and the possible outcomes (normal vs. exceptional) that might occur. [OMG]

Single Inheritance
The construction of a definition by incremental modification of one definition. (See also Multiple Inheritance) [OMG]

Skeleton
The object-interface-specific ORB component that assists an object adapter in passing requests to particular methods. [OMG]

Software Engineering Institute (SEI)
The SEI is located at Carnegie Mellon University. Originally a U.S. Air Force project, the SEI objective was to provide guidance to the military services when selecting capable software contractors. The resulting method for evaluating the strengths and weaknesses of contractors proved valuable for assessing other software organizations. Since the late 1980s, SEI has been addressing the maturity of software within commercially developed applications.

Specialization
A class x is a specialization of a class y if x is defined to directly or indirectly inherit from y. [OMG]

Specific Object
An object (relative to a given Object Service) whose purpose for existence is to provide a part of the Object Service whose interface it carries. The concept is that a limited number of implementations (and potentially a limited number of instances) of these objects exist in the system, commonly as "servers." An Object Service Definition. [OMG]

State
The information about the history of previous requests needed to determine the behavior of future requests. [OMG]

State Consistency
Ensures that the state associated with an object conforms to the data model. [OMG]

State Integrity
Requires that the state associated with an object is not corrupted by external events. [OMG]

State-Modifying Request
A request that by performing the service alters the results of future requests. [OMG]

Static Binding
Binding that is performed prior to the actual issuing of a request. (See also Binding)

Static Member Function
In C++, a function declared part of a class declaration. These functions can be invoked independent of any instances of the class. [OMG]

Static Invocation
Constructing a request at compile time.

Strong Typing
A language characteristic that requires an explicit type declaration for every value or expression. Strong typing makes static binding feasible. [OMG]

Stub
A local procedure corresponding to a single operation that invokes that operation when called. [OMG] Subclass (See Subtype)

Subtype
A specialized or specific object type.

Superclass
A class that provides its methods and attributes to another class derived from it via inheritance.

Synchronous Request
A request in which the client object pauses to wait for completion of the request. [OMG]

System Object Model/ Distributed System Object Model (SOM/DSOM)
SDM is a class library, and DSOM is an ORB. Both provided by IBM.

Target Object
An object that receives a request. (Synonymous with Server Object)

Transient Object
An object whose existence is limited by the lifetime of the process or thread that created it. [OMG]

Trigger Rule
A cause-and-effect relationship. When a certain event type occurs, a specific operation will be performed.

Type
A predicate (Boolean function) defined over values that can be used in a signature to restrict a possible parameter or characterize a possible result. Types classify objects according to a common interface; classes classify objects according to a common implementation. [OMG]

Type Interface
Defines the requests in which instances of this type can meaningfully participate as a parameter. Example: If given document type and product type in which the interface to document type comprises "edit" and "print," and the interface to product type comprises "set price" and "check inventory," then the object interface of a particular document that is also a product comprises all four requests. [OMG]

Use Case/Scenario
A description of the sequence of actions that occurs when a user participates in a dialogue with a system. It describes the behavior that is invoked by a system function.

Value-Dependent Operation
An operation in which the behavior of the corresponding request depends upon which names are used to identify object parameters (if an object can have multiple names). [OMG] Virtual Class (See Abstract Class)

Virtual Member Function
A member function that can be overridden by derived classes in order to implement a general behavior in a specific manner. Dynamic binding is used at run time to determine which of these functions to actually invoke.

Visibility
(See Accessibility)

Weak Typing
A language characteristic that does not require an explicit type declaration for each value or expression. Weak typing makes dynamic binding feasible.

Workflow
The structured flow of information through the well-defined steps of a business process where tasks are performed on elements of the information. Typical workflows have both sequential and concurrent tasks.

You can learn more about Next Generation Computing: Distributed Objects for Business and buy the book at Amazon.com Books.

If you have problems with this magazine, contact webmaster@sunworld.com


URL: http://www.sunworld.com/swol-04-1996/swol-04-oobook.glossary.html
Last update: 23 April 1996


Click on our Sponsors to help Support SunWorld

What did you think of this article?
-Very worth reading
-Worth reading
-Not worth reading
-Too long
-Just right
-Too short
-Too technical
-Just right
-Not technical enough
 
 
 
    

SunWorld
[Table of Contents]
Subscribe to SunWorld, it's free!
[Search]
Feedback
[Next story]
Sun's Site

[(c) Copyright  Web Publishing Inc., and IDG Communication company]

If you have technical problems with this magazine, contact webmaster@sunworld.com

URL: http://www.sunworld.com/swol-04-1996/swol-04-oobook.glossary.html
Last modified:

SidebarBack to story

Glossary of Object-Oriented Terminology for Business

Compiled by Mike Aube and Leslie Newberry
In collaboration with the Object Technology Staff of The Technical Resource Connection, Inc.

Acknowledgment

This glossary has been adapted from Next Generation Computing: Distributed Objects for Business by Peter Fingar, Dennis Read, Jim Stikeleather, SIGS Books & Multimedia, New York. © Copyright 1996 SIGS Publications Inc. (6,300 words)

The Technical Resource Connection gratefully acknowledges the contributions to this glossary from the Object Management Group, Inc. (OMG), a non-profit consortium dedicated to the creation of standards for object-oriented computing environments of the future.

A Glossary of Object-Oriented Terminology for Business is designed to foster a standard vocabulary for business and technology professionals and will be helpful to readers of The Technical Resource Connection's white papers and anyone who is studying merging information technologies. Definitions contributed by the Object Management Group are noted by [OMG].

[Amazon.com Books] You can learn more about Next Generation Computing : Distributed Objects for Business and buy the book at Amazon.com Books.


Term
Definition

4GL
An acronym meaning Fourth Generation Language. A 4GL is typically non-procedural and designed so that end users can specify what they want without having to know how computer processing is to be accomplished.

Abstract Class
A specialized class used solely for subtyping. It defines a common set of behaviors to be inherited by its subtypes. It has no instances. (Synonymous with Virtual Class in C++)

Abstract Data Type (ADT)
A data type defined to model the data characteristics of real-world objects. An ADT provides a public interface via its permitted operations, but the internal representation and implementation of this interface are private.

Abstraction
The act of concentrating the essential or general qualities of an object or objects. The resulting concept embodies the "essence" of the objects under consideration.

Accessibility
The ability or permission to invoke a service provided by a particular object. Object-oriented programming languages implement both public and private methods of accessibility. (Synonymous with Visibility)

Accessor
A method or member function that provides a public interface to allow the "setting" or "getting" of an object's private instance variables or data members.

Activation
Copying the persistent form of methods and stored data into an executable address space to allow execution of the methods on the stored data. [OMG]

Actor
An external agent that interacts with an application or system. This is also a model for concurrent programming.

Agent
An entity that performs operations on behalf of other objects, systems and agents.

Analysis
The process of developing a specification of what a system does and how it interacts with its environment.

Application
A program or a set of programs that provides functionality to the end user.

Application Facilities
Common facilities that are useful within a specific application domain. [OMG]

Application Objects
Applications and their components that are managed within an object-oriented system. Example operations on such objects are "Open," "Install," "Move" and "Re-move." [OMG]

Application Program Interface (API)
The programming interface used to access and control a library or program.

Architecture
A high-level description of the organization of functional responsibilities within a system. Many different levels of architectures are involved in developing software systems, from physical hardware architecture through the logical architecture of an application framework.

Assertion
An expression that evaluates to either true or false. Generally used to protect the integrity of a system or component.

Assignment
The activity of copying the values of one object into another object. The details of such an assignment vary according to the implementation language used.

Association
Meaningful links between objects. A person associated with a company creates the concept of employment.

Asynchronous Message Communication
Asynchronous message communication provides the capability for objects to send messages, even without the existence of the receiving object at the instant the message is sent. The receiving object can retrieve messages at its convenience. There is no blocking or synchronization required between objects. Asynchronous message communication is a foundation for constructing concur-rent computing environments.

Asynchronous Request
A request in which the client object does not pause or wait for delivery of the request to the recipient; nor does it wait for the results. [OMG]

Atomicity
The property that ensures an operation either changes the state associated with all participating objects consistent with the request, or changes none at all. If a set of operations is atomic, then multiple requests for those operations are serializable. [OMG]

Attribute
An identifiable association between an object and a value. An attribute A is made visible to clients as a pair of operations: get_A and set_A. Read only attributes only generate a get operation. [OMG] A characteristic or property of an object. Usually implemented as a simple data member or as an association with another object or group of objects.

Audience
The kind of consumer (caller) of an interface. An interface might be intended for use by the ultimate user of the service (functional interface), by a system management function within the system (system management interface) or by other participating services in order to construct the service from disparate objects (construction interface). [OMG]

Base Class
A class that has one or more derived classes that inherit its attributes and methods. (Synonymous with Superclass)

Bearer
The kind of object that presents an interface. An object might be fundamentally characterized by the fact that it has a given interface (a specific object bears an interface), or an object can have an interface that is ancillary to its primary purpose in order to provide certain other capabilities (a generic object bears the interface). [OMG]

Behavior
The behavior of a request is the observable effects of performing the requested service (including its results). [OMG]

Behavior Consistency
Ensures that the behavior of an object maintains its state consistency. [OMG]

Binding
The selection of the method to perform a requested service and of the data to be accessed by that method. (See also Dynamic Binding and Static Binding) [OMG]

Block
A class primarily consisting of a compound statement made up of a series of operations and control structures. Block objects are used in control structures, usually as arguments for repeated or conditional execution. In-stances of this class essentially allow language constructs and operations to be bundled into an object.

Browser
A software facility used to view and modify classes, attributes and methods.

Built-In Type
An abstract data type that is provided as a part of the language. Also provided are the operators used to manipulate instances of built-in types.

Class
An implementation that can be instantiated to create multiple objects with the same behavior. An object is an instance of a class. Types classify objects according to a common interface; classes classify objects according to a common implementation. [OMG]

Class Attribute
A characteristic or property that is the same for all instances of a class. This information is usually stored in the class type definition.

Class Hierarchy
Embodies the inheritance relationships between classes.

Class Inheritance
The construction of a class by incremental modification of other classes. [OMG]

Class Member
A method or an attribute of a class.

Class Method
A class method defines the behavior of the class. Such a method performs tasks that cannot or should not be done at the instance level, such as providing access to class attributes or tracking class usage metrics.

Class Object
An object that serves as a class. A class object serves as a factory. (See Factory) [OMG]

Classification
The act of determining which class or type applies to a specific object.

Client
An object that requests a service from a server object in a client/server relationship. The code or process that invokes an operation on an object. [OMG]

Client/server
A relationship between a client that requests services and servers that provide services. This relationship is paralleled in an O-O environment by message senders and receivers.

Cognition
The act or process of knowing; perception. O-O technology is intricately tied to how people think, act and interact while accomplishing work.

Collaboration
Two or more objects that participate in a client/server relationship in order to provide a service.

Common Facilities
Provides facilities useful in many application domains and which are made available through Object Management Architectures (OMA)-compliant class interfaces. (See also Application Facilities) [OMG]

Common Object Request Broker Architecture (CORBA, CORBA 2)
A specification for objects to locate and activate one another through an object request broker. CORBA 2 extends the specification to facilitate object request brokers from different vendors to interoperate.

Component
A conceptual notion. A component is an object that is considered to be part of some containing object. [OMG] Classes, systems or subsystems that can be designed as reusable pieces. These pieces can then be assembled to create various new applications.

Composition
The creation of an object that is an aggregation of one or more objects.

Compound Object
A conceptual notion. A compound object is an object that is viewed as standing for a set of related objects. [OMG]

Computed Characteristic
An attribute derived from the values of other attributes.

Computer Aided Software Engineering (CASE)
A collection of software tools that support and automate the process of analyzing, designing and coding software systems.

Concrete Class
A class or type that can have instances. (Contrast with Abstract Class).

Configuration Management (CM)
The discipline of identifying a system and its component parts at discrete points in time. Monitoring throughout versions and revisions enables CM to systematically control changes to maintain integrity and traceability of the system throughout a product's lifecycle. This includes hardware, environment, code, documents and objects.

Conformance
A relation defined over types such that type x conforms to type y if any value that satisfies type x also satisfies type y. [OMG]

Constraint
A relational or behavioral restriction or limit. Usually regarded as a property that must always hold true.

Construction Interfaces
Interfaces that define the operations used to communicate between the core of an Object Service and related objects that must participate in providing the service. They are typically defined by the service, and inherited and implemented by participants in the service. Objects that participate in a service must support these interfaces. An Object Service Definition. [OMG]

Constructor
A method that is called when a new instance is created. Constructor methods are used to initialize the new instance.

Container Class
A class designed to hold and manipulate a collection of objects.

Context-Independent Operation
An operation in which all requests that identify the operation have the same behavior. (In contrast, the effect of a context-dependent operation might depend upon the identity or location of the client object issuing the request.) [OMG]

Contract
Defines the services provided by a server, along with the pre-conditions and post-conditions that apply to the use of those services.

Coupling
A dependency between two or more classes, usually resulting from collaboration between the classes to provide a service. Loose coupling is based on generic behavior and allows many different classes to be coupled in the same way. Tight coupling is based on more specific implementation details of the participating classes and is not as flexible as loose coupling.

Data Member
The named variables defined and used to hold the values of the attribute of a class. (Synonymous with Attribute)

Data Model
A collection of entities, operators and consistency rules. [OMG]

Data Type
A categorization of values, operations and arguments, typically covering both behavior and representation (e.g., the traditional non-OO programming language notion of type). [OMG]

Declassification
The act of removing an object from a specific set of objects of a given type.

Deferred Synchronous Request
A request where the client does not wait for completion of the request, but does intend to accept results later. Contrast with synchronous request and one-way request. [OMG]

Delegation
The ability of a method to issue a request in such a way that self-reference in the method performing the request returns the same object(s) as self-reference in the method issuing the request. (See Self-Reference) [OMG] The ability of an object to issue a request to another object in response to a request. The first object therefore delegates the responsibility to the second object.

Derivation
The act of subclassing an existing class to define a new subclass. (See Inheritance)

Derived Class
The class created through inheritance. A derived class inherits the methods and attributes of its superclass(es) and usually adds its own to distinguish its capabilities or services.

Design
A process that uses the products of analysis to produce a specification for implementing a system. Design Pattern (See Pattern)

Destructor
A method involved whenever an object is ready to be destroyed. It is usually implemented to revise the actions that were performed during initialization, such as recovery of allocated resources.

Distributed Object Computing (DOC)
A computing paradigm that distributes cooperating objects across a heterogeneous network and allows the objects to interoperate as a unified whole.

Domain
A formal boundary that defines a particular subject or area of interest.

Domain Expert
A person who has special skill or knowledge of a particular domain.

Dynamic Binding
Binding that is performed after a request is issued. (See Binding) [OMG]

Dynamic Classification
Classification of an object at runtime. This implies that an object's classification can change over time.

Dynamic Invocation
Constructing and issuing a request whose signature is not known until runtime. [OMG]

Dynamic Link Library (DLL)
A dynamically loaded run-time library.

Dynamic Object-Based Application
The end-user functionality provided by one or more programs consisting of interoperating objects. [OMG]

Embedding
Creating an object out of a non-object entity by wrapping it in an appropriate shell. [OMG]

Encapsulation
The technique used to hide the implementation details of an object. The services provided by an object are defined and accessible as stated in the object contract. (Often used interchangeably with Information Hiding)

Enterprise Modeling
A technique for modeling an entire business enterprise from the business manager's point of view. An enterprise model is composed of the objects, events and business rules that describe the enterprise. Separate but related business systems can be built from this model to enhance the efficiency and consistency of the operation of the enterprise.

Event
A significant change in the environment or the state of an object that is of interest to another object or system.

Exchange Format
The form of a description used to import and export objects. [OMG]

Expectation Management
The process of guiding the user's expectations regarding the functionality and characteristics of any proposed system or technology.

Expert System
A rule-based program that implements the domain knowledge of a human domain expert. It is usually able to "reason" through new problems by applying its rules.

Export
To transmit the description of an object to an external entity. [OMG]

Extension of a Type
The sets of values that satisfy the type. [OMG]

Externalized Object Reference
An object reference expressed as an ORB-specific string. Suitable for storage in files or other external media. [OMG]

Factoring
The process of extracting the common properties or behavior from a group of objects so that the common elements can be propagated to a common subclass. Factoring eliminates duplication.

Factory
A concept that provides a service for creating new objects. [OMG]

Fault-Tolerance
The characteristic of a system that allows it to handle the loss of a particular component without interrupting normal operations.

Formal Parameter
A named local object used as an argument to an operation. The value of the object (actual parameter) is assigned by the client who runs the method.

Framework
A set of collaborating abstract and concrete classes that may be used as a template to solve a specific domain problem.

Functional Decomposition
The process of refining a problem solution by repeatedly decomposing a problem into smaller and smaller steps. The resulting steps are then programmed as separate modules.

Functional Interface
Interfaces that define the operations invoked by users of an object service. The audience for these interfaces is the service consumer, the user of the service. These interfaces present the functionality (the useful operations) of the service. An Object Service Definition. [OMG]

Fusion
A second generation object-oriented development method that provides a systematic approach to O-O software development. It

integrates and extends other methods

OMT/ Rumbaugh, Booch, CRC and Formal Methods.

Garbage Collection
The recovery of memory occupied by unreferenced objects, usually implemented by the language or environment.

Generalization
The inverse of the specialization relation. [OMG]

Generic Object
An object (relative to some given Object Service) whose primary purpose for existence is unrelated to the Object Service whose interface it carries. The notion is that the Object Service is provided by having (in principle) any type of object inherit that object service interface and provide an implementation of that interface. An Object Service Domain. [OMG]

Generic Operation
The concept that an operation is generic if it can be bound to more than one method. [OMG]

Graphical User Interface (GUI)
Any interface that communicates with the user, primarily through graphical icons.

Handle
A value that identifies an object. [OMG]

Heuristic
A rule of thumb or guideline used in situations where no hard and fast rules apply. An empirical rule, or educated guess based upon past experiences.

Implementation
A definition that provides the information needed to create an object and allow the object to participate in providing an appropriate set of services. An implementation typically includes a description of the data structure used to represent the core state associated with an object, as well as definitions of the methods that access that data structure. It will also typically include information about the intended interface of the object. [OMG]

Implementation Definition Language
A notation for describing implementations. The implementation definition language is currently beyond the scope of the ORB standard. It may contain vendor-specific and adapter-specific notations. [OMG]

Implementation Inheritance
The construction of an implementation by incremental modification of other implementations. The ORB does not provide implementation inheritance. Implementation inheritance may be provided by higher level tools. [OMG]

Implementation Object
An object that serves as an implementation definition. Implementation objects reside in an implementation repository. [OMG]

Implementation Repository
A storage place for object implementation information. [OMG]

Import
Creating an object based on a description of an object transmitted from an external entity. [OMG]

In-Line Method
A mechanism that allows the compiler to replace calls to the method with an expansion of the method code.

Incomplete Partition
A partition composed of some, but not all, of its partitioned subtypes. Information Hiding (See Encapsulation)

Inheritance
The construction of a definition by incremental modification of other definitions. (See also Implementation Inheritance) [OMG]

Initialization
Setting the initial attribute values of a new object.

Instance
An object created by instantiating a class. An object is an instance of a class. [OMG]

Instance Variable
A variable that contains a value specific to an object instance.

Instantiation
Object creation. [OMG]

Integrated Project Support Environment (IPSE)
An environment that specifies the processes for systematically managing development projects to minimize costs, increase productivity, and build quality software products.

Interface
A description of a set of possible uses of an object. Specifically, an interface describes a set of potential requests in which an object can meaningfully participate. (See also Object Interface, Principal Interface and Type Interface) [OMG]

Interface Definition Language (IDL )
When used in conjunction with an ORB, IDL statements describe the properties and operations of an object.

Interface Inheritance
The construction of an interface by incremental modification of other interfaces. The IDL provides interface inheritance. [OMG]

Interface Type
A type that is satisfied by any object (literally, by any value that identifies an object) that satisfies a particular interface. (See also Object Type) [OMG]

Interoperability
The ability for two or more ORBs to cooperate to deliver requests to the proper object. Interoperating ORBs appear to a client to be a single ORB. [OMG]

Invariant Relation
A relation that cannot be changed so long as it has instances.

ISO 9000 Certification/Standards
The International Organization for Standardization (ISO) issues the ISO-9000 guidelines for the selection and use of the series of standards on quality systems.

Language Binding or Mapping
The means and conventions by which a programmer writing in a specific programming language accesses ORB capabilities. [OMG]

Legacy System
A previously existing system or application.

Leveling
The process of grouping information or concepts at various levels of increasing detail. The top-most level is general in nature and each successive level adds more detail until all aspects of the given subject matter have been explained in detail.

Life-Cycle Service
The Object Life-Cycle Service provides operations for managing object creation, deletion, copying and equivalence. An Object Service Definition. [OMG]

Link
Relation between two objects (a concept). [OMG]

Literal
A value that identifies an entity that is not an object. (See also Object Name) [OMG]

Managed Object
Clients of System Management services, including the installation and activation service and the operational control service (dynamic behavior). These clients may be application objects, common facilities objects, or other object services. The term is used for compatibility with system management standards (the X/Open GDMO specification and ISO/IEC 10164 System Management Function, Parts 1 to 4). An Object Service Definition. [OMG]

Mapping
A rule or process, the O-O equivalent of a mathematical function. Given an object of one set, a mapping applies its associative rules to return another set of objects. Member Function (See Method)

Message
The mechanism by which objects communicate. A message is sent by a client object to request the service provided by the server object.

Meta-Model
A model that defines other models.

Meta-Type
A type whose instances are also types. [OMG]

Meta-Object
An object that represents a type, operation, class, method or object model entity that describes objects. [OMG]

Method
Code that can be executed to perform a requested service. Methods associated with an object are structured into one or more programs. [OMG]

Method Resolution
The selection of the method to perform a requested operation. [OMG]

Method (Systems Development)
A cohesive set of rules, methods and principles used to guide the modeling and development of software systems.

Multiple Classification
Ability of an object to belong to more than one type.

Multiple Inheritance
The construction of a definition by incremental modification of more than one other definition. [OMG]

Object
A combination of a state and a set of methods that explicitly embodies an abstraction characterized by the behavior or relevant requests. An object is an instance of a class. An object models a real world entity and is implemented as a computational entity that encapsulates state and operations (internally implemented as data and methods) and responds to requests for services. [OMG] An object is a self-contained software package consisting of its own private information (data), its own private procedures (private methods), which manipulate the object's private data, and a public interface (public methods) for communicating with other objects.

Object Adapter
The ORB component that provides object reference, activation and state-related services to an object implementation. There may be different adapters provided for different implementations. [OMG]

Object Creation
An event that causes an object to exist that is distinct from any other object. [OMG]

Object Data Base Management System (ODBMS)
These systems provide for long-term, reliable storage, retrieval and management of objects. Object Destruction An event that causes an object to cease to exist and its associated resources to become available for reuse. [OMG] Object Identity (See Handle)

Object Interface
A description of a set of possible uses of an object. Specifically, an interface describes a set of potential requests in which an object can meaningfully participate as a parameter. It is the union of the object's type interfaces. [OMG]

Object Library/Repository
A central repository established expressly to support the identification and reuse of software components, especially classes and other software components.

Object Management Group
A non-profit industry group dedicated to promoting object-oriented technology and the standardization of that technology. [OMG]

Object Modeling Technique (OMT)
An object-oriented systems development life cycle developed by General Electric.

Object Name
A value that identifies an object. (See Handle) [OMG]

Object Reference
A value that precisely identifies an object. Object references are never reused to identify another object. [OMG]

Object Request Broker (ORB)
Provides the means by which objects make and receive requests and responses. [OMG] The middleware of distributed object computing that provides a means for objects to locate and activate other objects on a network, regardless of the processor or programming language used to develop and implement those objects.

Object Services
The basic functions provided for object lifecycle management and storage such as creation, deletion, activation, passivation, identification and location. [OMG]

Object State
The current information about an object that determines its behavior.

Object Type
A type the extension of which is a set of objects (literally, a set of values that identify objects). In other words, an object type is satisfied only by (values that identify) objects. (See also Interface Type) [OMG]

Object Wrapper
The result of encapsulating a set of services provided by a non O-O application or program interface in order to treat the encapsulated application or interface as an object.

Object-Based
A programming language or tool that supports the object concept of encapsulation, but not inheritance or polymorphism.

Object-Based Architecture for Integration (OBAI)
An architecture developed to facilitate legacy application migration to open systems, client/server and object-based computing. The primary function of OBAI is to allow new systems to be developed without having to abandon existing information systems and to allow the new systems to take advantage of the knowledge, information and data contained in the old systems.

Object-Oriented
Any language, tool or method that focuses on modeling

real world systems using the three pillars of objects
encapsulation, inheritance and polymorphism.

Object-Oriented Analysis
The process of specifying what a system does by identifying domain objects and defining the behavior and relationships of those objects.

Object-Oriented Business Engineering (OOBE)
A framework and discipline used to effectively model business processes. It involves identifying business objects, processes, structures, rules, policies, organizational structure and authority, location and logistics, technology and applications. Its goal is to produce precise descriptive models of business objects that can be converted into reusable and easily modifiable software components.

Object-Oriented Design
The process of developing an implementation specification that incorporates the use of classes and objects. It encourages modeling the real world environment in terms of its entities and their interactions.

Object-Oriented Programming Language (OOPL)
A programming language that supports the concepts of encapsulation, inheritance and polymorphism.

One-Way Request
A request in which the client does not wait for completion of the request, nor does it intend to accept results. Contrast with deferred synchronous request and synchronous request. [OMG]

Operation
A service that can be requested. An operation has an associated signature, which may restrict which actual parameters are possible in a meaningful request. [OMG]

Operation Name
A name used in a request to identify an operation. [OMG]

ORB Core
The ORB component that moves a request from a client to the appropriate adapter for the target object. [OMG]

Overloaded Operation
Multiple methods of the same name, each having a unique signature. This allows the methods of the same name to be invoked with various argument types.

Paradigm
A broad framework for thinking about and perceiving reality. A theoretical, philosophical model composed of identifiable theories, laws and generalizations used in defining and solving problems.

Parallel Processing
The simultaneous execution or computation of two or more programs or operations.

Parameter Passing Mode
Describes the direction of information flow for an operation parameter. The parameter passing modes are IN, OUT and INOUT. [OMG]

Parameterized Class
A class that allows users to declare member functions and data members of "Some Type," which can be used as a template for declaring specialized subclasses that supply the "Missing" types.

Participate
An object participates in a request when one or more actual parameters of the request identifies the object. [OMG]

Partition
Decomposing a type into its disjoint subtypes.

Pattern
A pattern describes a problem, a solution to a problem, and when to apply the solution. Patterns may be categorized as design patterns, business process patterns and analysis patterns.

Persistent Object
An object that can survive the process or thread that created it. A persistent object exists until it is explicitly deleted. [OMG]

Pointer
A variable that can hold a memory address of an object.

Polymorphic Operation
The same operation implemented differently by two or more types.

Polymorphism
The concept that two or more types of objects can respond to the same request in different ways.

Post-Condition
A constraint that must hold true after the completion of an operation.

Pre-Condition
A constraint that must hold true before an operation is requested.

Principal Interface
The interface that describes all requests in which an object is meaningful. [OMG]

Private
A scoping mechanism used to restrict access to class members so that other objects cannot see them.

Property
A conceptual notion. An attribute, the value of which can be changed. [OMG]

Protected
A scoping mechanism used to restrict access to class members.

Protection
The ability to restrict the clients for which a requested service will be performed. [OMG]

Public
A scoping mechanism used to make member access available to other objects.

Query
An activity that involves selecting objects from implicitly or explicitly identified collections based on a specific predicate. [OMG]

Rapid Prototyping
The iterative process of quickly developing a prototype of an application, usually with the aid of specific GUI-building tools. This process is used to help uncover unknown details of the system under consideration, and to build the system in small increments.

Referential Integrity
The property that ensures that a handle which exists in the state associated with another object reliably identifies a single object. [OMG]

Relation
An object type that associates two or more object types. A relation is how associations are formed between two or more objects.

Repository
Usually a central location used to store and organize software components and related definitions, rules, etc. (See Object Library/Repository)

Request
An event consisting of an operation and zero or more actual parameters. A client issues a request to cause a service to be performed. Also associated with a request are the results that can be returned to the client. A message can be used to implement (carry) a request and/ or a result. [OMG]

Requirements
A document describing what a software system does from a user's point of view. This document is input into the object-oriented analysis process, where it will be transformed into a much more precise description.

Responsibility
A service or group of services provided by an object; a responsibility embodies one or more of the purposes of an object.

Result
The information returned to the client, which can include values as well as status information, indicating that exceptional conditions were raised in attempting to perform the requested service. [OMG]

Reuse
Reuse is the process of locating, understanding and incorporating existing knowledge, design and components into a new system. Reuse should occur at all levels of system development analysis, design, implementation, testing, documentation and user training.

Role
A sequence of activities performed by an agent.

Rule
Rules exist in two types: constraints and generic functions.

Scalability
The ability of a system to grow without sacrificing performance.

Schema
A formal presentation with a defined set of symbols and rules that govern the formation of a representation using the symbols. There are many different kinds of schema, including object, event and activity schemas.

Security Domain
A subset of computational resources used to define a security policy. [OMG]

Self-Reference
The ability for a method to identify the target object for which it was invoked. This notion is referred to by the key words "self " in Smalltalk and "this" in C++. [OMG]

Semantics
The meaning -- the essence -- of the definition.

Server Object
An object providing response to a request for a service. A given object might be a client for some requests and a server for other requests. (See also Client Object) [OMG]

Service
A computation that can be performed in response to a request. [OMG]

Signature
Defines the parameters of a given operation including their number order, data types and passing mode; the results, if any; and the possible outcomes (normal vs. exceptional) that might occur. [OMG]

Single Inheritance
The construction of a definition by incremental modification of one definition. (See also Multiple Inheritance) [OMG]

Skeleton
The object-interface-specific ORB component that assists an object adapter in passing requests to particular methods. [OMG]

Software Engineering Institute (SEI)
The SEI is located at Carnegie Mellon University. Originally a U.S. Air Force project, the SEI objective was to provide guidance to the military services when selecting capable software contractors. The resulting method for evaluating the strengths and weaknesses of contractors proved valuable for assessing other software organizations. Since the late 1980s, SEI has been addressing the maturity of software within commercially developed applications.

Specialization
A class x is a specialization of a class y if x is defined to directly or indirectly inherit from y. [OMG]

Specific Object
An object (relative to a given Object Service) whose purpose for existence is to provide a part of the Object Service whose interface it carries. The concept is that a limited number of implementations (and potentially a limited number of instances) of these objects exist in the system, commonly as "servers." An Object Service Definition. [OMG]

State
The information about the history of previous requests needed to determine the behavior of future requests. [OMG]

State Consistency
Ensures that the state associated with an object conforms to the data model. [OMG]

State Integrity
Requires that the state associated with an object is not corrupted by external events. [OMG]

State-Modifying Request
A request that by performing the service alters the results of future requests. [OMG]

Static Binding
Binding that is performed prior to the actual issuing of a request. (See also Binding)

Static Member Function
In C++, a function declared part of a class declaration. These functions can be invoked independent of any instances of the class. [OMG]

Static Invocation
Constructing a request at compile time.

Strong Typing
A language characteristic that requires an explicit type declaration for every value or expression. Strong typing makes static binding feasible. [OMG]

Stub
A local procedure corresponding to a single operation that invokes that operation when called. [OMG] Subclass (See Subtype)

Subtype
A specialized or specific object type.

Superclass
A class that provides its methods and attributes to another class derived from it via inheritance.

Synchronous Request
A request in which the client object pauses to wait for completion of the request. [OMG]

System Object Model/ Distributed System Object Model (SOM/DSOM)
SDM is a class library, and DSOM is an ORB. Both provided by IBM.

Target Object
An object that receives a request. (Synonymous with Server Object)

Transient Object
An object whose existence is limited by the lifetime of the process or thread that created it. [OMG]

Trigger Rule
A cause-and-effect relationship. When a certain event type occurs, a specific operation will be performed.

Type
A predicate (Boolean function) defined over values that can be used in a signature to restrict a possible parameter or characterize a possible result. Types classify objects according to a common interface; classes classify objects according to a common implementation. [OMG]

Type Interface
Defines the requests in which instances of this type can meaningfully participate as a parameter. Example: If given document type and product type in which the interface to document type comprises "edit" and "print," and the interface to product type comprises "set price" and "check inventory," then the object interface of a particular document that is also a product comprises all four requests. [OMG]

Use Case/Scenario
A description of the sequence of actions that occurs when a user participates in a dialogue with a system. It describes the behavior that is invoked by a system function.

Value-Dependent Operation
An operation in which the behavior of the corresponding request depends upon which names are used to identify object parameters (if an object can have multiple names). [OMG] Virtual Class (See Abstract Class)

Virtual Member Function
A member function that can be overridden by derived classes in order to implement a general behavior in a specific manner. Dynamic binding is used at run time to determine which of these functions to actually invoke.

Visibility
(See Accessibility)

Weak Typing
A language characteristic that does not require an explicit type declaration for each value or expression. Weak typing makes dynamic binding feasible.

Workflow
The structured flow of information through the well-defined steps of a business process where tasks are performed on elements of the information. Typical workflows have both sequential and concurrent tasks.

SidebarBack to story