Click on our Sponsors to help Support SunWorld
|
By Mike Aube and Leslie Newberry
|
|
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
|
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:
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.