Glossary

3GL

See Third generation language.

4GL

See Fourth generation language.

abstraction

The result of emphasizing certain features of a thing while de-emphasizing other features that are not relevant. An abstraction is defined relative to the perspective of the viewer.

accessors

Expressions that read or write specific analysis data atoms.

action

Made up of zero or more action language statements attached to an operation, state, or transition.

A fundamental unit of behavior specification that represents some transformation or processing in the modeled system, be it a computer system or a real-world system. Actions are contained in activities, which provide their context. See Activity.

action implementation

Analysis actions translated into the target language.

action sequence

An expression that resolves to a sequence of actions.

activation

The initiation of an action execution.

activity

A specification of parameterized behavior that is expressed as a flow of execution via a sequencing of subordinate units (whose primitive elements are individual actions). See Action.

actual parameter

Synonym: Argument.

aggregate

A class that represents the whole in an aggregation or whole-part relationship. See Aggregation.

aggregation

A special form of association that specifies a whole-part relationship between the aggregate or whole and a component part. See Composition.

ALU

See Arithmetic Logic Unit.

analysis

Development of a platform-independent UML model for the analyzed problem domains in the system. Analysis results in a model of the problem domain that is independent of implementation considerations. Analysis focuses on what to do; design focuses on how to do it. Contrast: Design.

analysis actions

Model specified action language associated with states, transitions, or operations.

argument

A binding for a parameter that is resolved later. An independent variable.

Arithmetic Logic Unit

The hardware where core computation is done in a computer. The term has largely replaced Central Processing Unit (CPU) because of the complexity of modern computers such that multiple discrete hardware units now interact to handle core computation.

association

A relationship that may occur between instances of classifiers.

association class

A model element that qualifies an association. It is a placeholder for complex resolution of references in *:* associations. It can also capture additional problem space information about associations.

association end

The endpoint of an association, which connects the association to a classifier.

association link

Establishes a connection between the specified class instances.

attribute

In UML terms, a structural feature of a classifier that characterizes instances of the classifier. An attribute relates an instance of a classifier to a value or values through a named relationship.

In OOA/D terms, an attribute is a knowledge responsibility of an object or subsystem.

Attribute-Value

A mechanism for associating a particular value with a mnemonic identifier.

A-V Pair

A descriptor containing and attribute identifier and corresponding attribute value.

behavior

The observable effects of an operation or event, including its results. It specifies the computation that generates the effects of the behavioral feature.

behavior responsibility

A behavior responsibility represents an obligation on the part of an object or subsystem to do something. Behavior responsibilities typically capture problem space rules and policies that must be executed to solve the problem in hand.

binary association

An association between two classes. A special case of an n-ary association. It defines how objects of the classes may be logically connected.

boolean

An enumeration whose values are true and false.

boolean expression

An expression that evaluates to a boolean value.

bridge

A logical connection between subsystems that supports communication during collaborations.

build

The process of compiling and linking the translated implementation code, realized code, and implementation libraries into the deliverable system.

call

A synchronous invocation of a behavior responsibility.

cardinality

The explicit number of elements in a set. Contrast: Multiplicity.

child

In a generalization relationship, the specialization of another element, the parent. Contrast: Parent.

class

A classifier that describes of a set of objects that share the same specifications of features, constraints, and semantics.

class diagram

A diagram that shows a collection of classes, their responsibilities, and their relationships.

client

An object that requests a service in a DbC contract for a collaboration. Contrast: Service.

collaboration

An interaction between objects or subsystems manifested by a message passed between them. In an OO context, the message announces a state change in the message sender. Usually some behavior responsibility of the receiver will be invoked when the message is consumed.

compile time

Refers to something that occurs during the compilation of a software module.

component

An independent unit of processing with a well-defined interface that can be used with other components to build a system. A modular part of a system.

composite

A class that is related to one or more classes by a composition relationship.

composite state

Any state with nested states (sometimes called a superstate).

A state that consists of either concurrent (orthogonal) substates or sequential (disjoint) substates. See Substate.

A technique for creating hybrid objects through generalization. The object inherits responsibilities that are logically orthogonal to its primary responsibilities in the problem space.

concurrency

The occurrence of two or more activities during the same time interval. Concurrency can be achieved by interleaving or simultaneously executing two or more threads. See Thread.

conditionality

Specifies whether there must always be at least one participant in an association or not. Contrast: Multiplicity.

context

A view of a set of related modeling elements for a particular purpose, such as specifying an operation.

deliverable system

The set of executable elements that constitute the software product to be verified and delivered.

dependency

A dependency relationship indicates that one class refers to another class. One class might, for example, use the definitions in another class. A dependency is always unidirectional.

In a subsystem, Component diagram dependencies represent the flow of requirements from a client to a service subsystem.

deployment

One possible implementation of a PIM on a target platform and target system topology.

design

The process of defining the high-level structure of a software solution. For example, OOA and OOD represent different aspects of design for a given problem solution.

eXtensible Markup Language (XML)

An open, extensible ASCII-based standard for describing data. It employs HTML-like markup tags and A-V descriptors.

Finite State Machine

A formalization of states (conditions of being), actions associated with those states, the valid transitions between them, the external triggers of the transitions, and the data that state actions use. FSMs provide a very disciplined mechanism for managing complex, asynchronous processes.

fire

To execute a state transition. See Transition.

Fourth Generation Language

There are many possible definitions, but the one employed in this book is a language that is independent of particular computing space environments. That is, the language describes a problem solution in customer terms and abstracts away computing space details.

FSM

See Finite State Machine.

generate event

To create an instance of the specified event and queue it for dispatch to the specified instance.

handle

A pointer that enables a program to access some resource, such as a library function.

A handle is a data type. It is a generic reference without a specific type. The user of a handle cannot invoke specific responsibilities of the entity being referenced.

IDE

See Integrated development environment.

implementation libraries

Realized system components supporting a specific compiler, language, or operating system environment.

Integrated Development Environment

A suite of discrete programs that are integrated seamlessly in a common framework and presenting a single UI.

JVM (Java Virtual Machine)

The runtime system responsible for the execution of Java bytecodes produced by compiling Java source code.

KLOC; KNCLOC

Thousand Lines Of Code; Thousand Non-Comment Lines of Code.

knowledge responsibility

An obligation for an object or subsystem to know something. Note that such an obligation does not require a concrete and persistent data implementation, such as a memory register. In OOA/D the object simply needs to provide a value when queried.

link

Instantiate an association between instances of two objects from diffent classes.

LOC

Lines Of Code

marking

A name-value pair that is applied to one of the elements of the PIM. A marking is a property that has a name-value pair assigned.

MBD

See Model-based software development.

MDA

See Model-driven architecture.

MDD

See Model-driven development.

metamodel

A model that describes the constructs of another model.

method

Encapsulates a cohesive behavior responsibility so that it has well-defined scope with respect to software execution.

MLOC

Million Lines of Code

model

For software, an abstract view of a software solution that provides simplification and tailoring of various views (e.g., static structure versus dynamic).

Model-Based Software Development (MBD

A particular approach to software development that employs the OO paradigm and a translation-based version of MDA. MBD is the primary subject matter of this book.

Model-Driven Architecture (MDA)

An architectural standard for a framework based on models. In particular, MDA uses metamodels to formalize semantics that enables unambiguous transformation between models that are different views of the same software.

Model-Driven Development (MDD)

A generic description of a wide variety of approaches to software development that are based on abstract modeling. MBD is one approach. MDD is defined within the OMG framework as a container for UML, MDA, and other specific modeling standards.

multiplicity

The number of participants in an association. In MBD this is limited to 1 or * (many). Contrast: Cardinality, Conditionality.

nested state

Any state within a composite state (sometimes called a substate).

Object Oriented Development

A software design paradigm that emphasizes problem space abstraction to ensure that large applications are maintainable in the face of volatile requirements over time. A key notion of OO development is the use of encapsulation and interfaces to decouple (eliminate dependencies among) disparate program modules or units.

OOA (Object Oriented Analysis)

A design technique that results in a problem solution that is described purely in customer terms and is independent of any particular computing environment. Generally OOA resolves only functional requirements. Contrast: OOD.

OOD (Object Oriented Design)

A design technique that elaborates on an OOA to address nonfunctional requirements and provide design strategies that are dependent on a particular computing environment.

OOP (Object Oriented Programming)

A design technique for elaborating OOA and OOD to resolve tactical design issues in an OOPL.

OOPL (Object Oriented Programming Language)

A third-generation, text-based computing language that provides specific constructs in support of OOA and OOD.

operation

The UML term for an object or subsystem behavior responsibility.

OTS

Off The Shelf.

package

In UML, a general container of a set of model elements that are related. Packages are primarily intended to manage the configuration of the model elements to support things like version control. Contrast: Subsystem.

parent

In a generalization relationship, the generalization of one or more elements, the children.

pattern

A formal description of an abstract solution that can be tailored to a fairly wide variety of different but related problems.

PIM

See Platform Independent Model.

platform

An abstraction of a particular computing environment. It includes things like hardware, 3GL implementation language, operating system, realized libraries, and various computing space technologies used (e.g., J2EE, CORBA, XML, etc.).

Platform Independent Model

An MDA concept: Complete specification of a problem solution in terms of the problem space itself. It is independent of specific computing space technologies like implementation language, operating system, hardware, and so forth. Maps to a traditional OOA model.

Platform Specific Model

A complete specification of a problem solution that is dependent on the specific computing environment. A PSM is an elaboration of a PIM or a more general PSM that provides additional computing space detail. Examples of PSMs are a UML OOD model or a 3GL program.

property

In an OOA/D/P context, a characteristic of some problem space entity. That property is abstracted in terms of a responsibility to either know something or to do something. In UML a property is synonymous with a knowledge attribute of an object.

PSM

See Platform Specific Model

realized elements

System components that have not been analyzed and are typically handwritten code generated from a specific environment (like a GUI builder or math algorithm environment) or purchased from a third party.

RDM (Relational Data Model)

A specialized branch of relational theory within set theory mathematics. It applies relational theory specifically to persistent data storage where the dominant data collection entity is a table.

service

An object or subsystem that provides a service in a DbC contract for a collaboration. Contrast: Client.

simple state

A state with no nested states.

software architecture

The organization of software, usually at the physical or executable level, which describes how the components interact to achieve the system requirements. We define logical, deployment, and physical views of the architecture.

STD (State Transition Diagram)

A graphical representation of states and transitions in a finite state machine. It is the graphical equivalent of an STT. In UML, an STD is represented as a Statechart.

State Transition Table

A tabular representation of the various valid transitions between states in a finite state machine and the events that trigger them.

statement block

A sequence of statements with single entry and exit points.

stereotype

An extension or modification of a UML modeling element beyond that defined by UML.

STT

See State Transition Table.

substate

In a Harel finite state machine, a subdivision of a state triggered by a single event. Actions associated with both the parent state and the substate will execute when the event is consumed. Substates provide a form of generalization for state machines.

In MBD notation, substates are pure notation artifacts used solely to simpify the STD by coalescing multiple transitions to the same state into a single transition, so only a single state’s action responds to an event.

subsystem

A logical unit of application partitioning that captures a single, cohesive subject matter and level of abstraction. Subsystems are related by dependencies in an directed, acyclic graph where the dependencies represent flows of requirements in roughly a client/service relation. Subsystems are encapsulated behind interfaces to decouple their implementations. In UML a subsystem is a stereotype of Component.

task

An independently running program.

Third Generation Language

A large set of programming languages that were defined from the late 1950s onwards. Those languages were text based, and their common characteristics were abstraction of procedural block structuring, procedural message passing, and stack-based scope.

thread

An independently running process within a task.

transformation

The process of executing the Transformation Engine to generate the complete implementation code for all analysis models. In an MBD context, transformation is the act of producing an executable from a PIM.

transformation engine

Transforms platform-independent UML models into 3GL or Assembly code.

transformation rules

Rules used to transform platform-independent models into compilable code or executables.

transition

A path between states in a statechart diagram.

Type I, Type II

In probability, a Type I error is rejecting a true hypothesis, while a Type II error is accepting a false hypothesis.

UML (Unified Modeling Language)

A modeling language used to specify, visualize, construct, and document the artifacts of an object-oriented software system. The Unified Modeling Language is primarily a graphical notation. When combined with a platform-independent action language (text-based) and an appropriate UML profile, it becomes a complete fourth generation language.

unlink

To break the connection between the specified class instances.

XML

See eXtensible Markup Language.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.0.85