What is Object-Process Methodology

36
1 1998 © Dr. Dov Dori, Technion, Israel Institute of Technology The Object-Process Methodology (OPM) is an integrated approach to the study and development of systems in general and information systems in particular. OPM unifies the system’s structure and behavior throughout the analysis, design and implementation of the system within one frame of reference using a single diagramming tool – the Object-Process Diagram (OPD) and a corresponding, English-like language – the Object-Process Language (OPL). What is Object-Process Object-Process Methodology Methodology

description

What is Object-Process Methodology. The Object-Process Methodology (OPM) is an integrated approach to the study and development of systems in general and information systems in particular. - PowerPoint PPT Presentation

Transcript of What is Object-Process Methodology

Page 1: What is Object-Process Methodology

11998 © Dr. Dov Dori, Technion, Israel Institute of Technology

The Object-Process Methodology (OPM) is an integrated approach to the study and development of systems in general and information systems in particular. OPM unifies the system’s structure and behavior throughout the analysis, design and implementation of the system within one frame of reference using a single diagramming tool –the Object-Process Diagram (OPD) and a corresponding, English-like language –the Object-Process Language (OPL).

What is Object-Process MethodologyObject-Process Methodology

Page 2: What is Object-Process Methodology

21998 © Dr. Dov Dori, Technion, Israel Institute of Technology

•The basic premise of OPM is that objects and processes are two types of equally important classes of things, that together faithfully describe both the structure and the behavior of systems in a single model in virtually any domain. •At any point in time, each object is at some state, and object states are transformed through the occurrence of a process. •Complexity is controlled through recursive and selective scaling (zooming) of objects and/or processes to any desired level of detail.

Page 3: What is Object-Process Methodology

31998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Major shortcomings of current OO Major shortcomings of current OO methodologiesmethodologies

The Model Multiplicity Problem:Lack of integration between the static-structural

(“object”) model and dynamic-behavioral, functional, and other models.

The Complexity Management Problem:Lack of tools for seamless scaling to manage the

complexity of real-life systems.

Page 4: What is Object-Process Methodology

41998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Object-Process Methodology (OPM) Object-Process Methodology (OPM) PrinciplesPrinciples

Objects and processes are the two types of equally important things (entities) required to describe a system in a single, unifying model.

Processes transform objects by changing their state. Transformation includes creation and elimination.

Scaling can be applied recursively and selectively to both objects and processes.

Page 5: What is Object-Process Methodology

51998 © Dr. Dov Dori, Technion, Israel Institute of Technology

OPM BenefitsOPM Benefits Unification of the system’s structure and behavior within

one intuitive model throughout the system lifecycle: The same concepts are carried on throughout the entire development life cycle.

No need for mental transformations and integration across different models – no model multiplicity problem.

Objects and processes are dual and complement each other in the system’s specification – no object supremacy.

Encapsulation is relative and flexible – objects can encapsulate processes and vice versa.

Page 6: What is Object-Process Methodology

61998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Object: that which has the potential of persistent unconditional existence for some positive duration of time. Symbol:

Process: the pattern of changing that transforms one or more objects by changing their state or by creating or destroying them. Symbol:

Thing: a generalization of an object and a process. Meta-symbol:

Objects, Processes, ThingsObjects, Processes, Things

BB11

TT11

PP11

Page 7: What is Object-Process Methodology

71998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Universe

Domain (World)

System

Environment

legend

Object

ProcessInteraction

,,Universe, Domain, Universe, Domain, System, Environment, InteractionSystem, Environment, Interaction

Page 8: What is Object-Process Methodology

81998 © Dr. Dov Dori, Technion, Israel Institute of Technology

System, Environment, InteractionSystem, Environment, Interaction

An artificial system is an object consisting of inter-related things in the world, which are in the focus of a certain human research and development effort.

The environment of a system is an object that consists of things in the world that are not in the system.

Interaction is a set of one or more things through which the system exchanges material and/or energy and/or information with the environment.

The environment is the subset of things in the universe whose interaction with the system is significant.

Page 9: What is Object-Process Methodology

91998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Object-Process Diagrams (OPDs)Object-Process Diagrams (OPDs)

A visual formalism (Harel) that captures both objects and processes in the system along with the structural and procedural relations among them.

The entire system is fully defined by the OPD set—a set of inter-related and consistent OPDs.

Page 10: What is Object-Process Methodology

101998 © Dr. Dov Dori, Technion, Israel Institute of Technology

A Generic Object-Process DiagramA Generic Object-Process Diagram

InteractionSystem Environment

Domain

Legend

Object

Process

Transformation link

Aggregation

Many m

Universe

mm

1..m1..m

Page 11: What is Object-Process Methodology

111998 © Dr. Dov Dori, Technion, Israel Institute of Technology

StructureStructure• The static, relatively stable aspect of the system

• Non-transient, long-term relationships among objects in the system

• A snapshot of the system at a given time point that describes the state of the system - the state of each of its object

• Structure is about the static aspect of the system, while behavior is about its dynamics.

Structural Relation:Structural Relation:an association that holds between two or more things (objects and/or processes) in the system for some non-negligible time.

Page 12: What is Object-Process Methodology

121998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Structural relations are divided into two groups:Structural relations are divided into two groups:

1. General structural relations

bi-directional structural link:

Disk stores

File

Disk storesis stored in

File

(a)

(b)

unidirectional structural link:

2. Fundamental structural relations

Page 13: What is Object-Process Methodology

131998 © Dr. Dov Dori, Technion, Israel Institute of Technology

one of the following structural relations:

• Aggregation-Particulation

• Featuring-Characterization

• Generalization-Specialization

• Classification-Instantiation

Since those relations are so widespread, special symbols are assigned for their corresponding links

Fundamental Structural RelationFundamental Structural Relation

Page 14: What is Object-Process Methodology

141998 © Dr. Dov Dori, Technion, Israel Institute of Technology

a structural relation that defines the relation between the whole and its parts. Symbol:

Aggregation-Particulation:Aggregation-Particulation:

OPL:Object Image consists of Foreground and Background.

Aggregation exists between things of the same kind:An object aggregates objects and process - processes.

Page 15: What is Object-Process Methodology

151998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Feature: a thing that characterizes a thing.Attribute: a feature which is an object.Operation: a feature which is a process

(also known as method or service).

OPL:Object Image features Name, Situation and Process Display.

a structural relation that defines the relation between the thing and its features.

Symbol:

Featuring-CharacterizationFeaturing-Characterization

Display

Page 16: What is Object-Process Methodology

161998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Object Cylinder instantiates Cylinder A and Cylinder B.Object Box instantiates Box C and Box D.Box C is in front of Box D.Box D is in front of Cylinder B.Box D is right of Cylinder A.Cylinder A is left of Cylinder B.

a structural relation that defines the relation between a class of things and its instances.

Symbol:

Instantiation-Materialization:Instantiation-Materialization:

A

B

C

D

is in front of

Page 17: What is Object-Process Methodology

171998 © Dr. Dov Dori, Technion, Israel Institute of Technology

a structural relation that defines the relation between a general things and its specializations.

• Also known as gen-spec;

•induces inheritance

Symbol:

Generalization-Specialization:Generalization-Specialization:

An object generalizes objects and process - processes.

Page 18: What is Object-Process Methodology

181998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Case, Lens and Capturing-Medium are parts of the object Camera.

“uses” is a structural relation (association). It has specializations.

Structural links: an exampleStructural links: an example

Lens Case

Camera

Capturing-Medium

Electronic-Camera

Analog-Camera

is attached-to

MagneticTape

PhotographicFilm

uses

uses

uses

Operation-mode

Focal-length

holds

Page 19: What is Object-Process Methodology

191998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Procedural link is a link that connects a process with an object that is involved in the occurrence of that process.

There are two types of procedural links: Enabling link is a procedural link that connects a

process with an Enabler of that process. Transformation link is a procedural link that connects

a process with a Transformed object of that process. OPL: Procedural link generalizes Enabling link and

Transformation link.

Procedural linksProcedural links

Page 20: What is Object-Process Methodology

201998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Enabler of a process is an object that must be present in order for that process to occur but is not transformed by the process.

An enabler is a role that an object assumes with respect to a particular process.

Two Enabler types:

OPL: Enabler generalizes Agent and Instrument.– Agent: an intelligent enabler, which can control the

process it enables by exercising common sense or goal-oriented considerations.

– Instrument: any non-agent enabler.

EnablersEnablers

Page 21: What is Object-Process Methodology

211998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Agents: human, organization, a unit within a man-made organization, such as department, city council, government, team, company, brigade.

Not any human or organization is necessarily an agent.

Instruments: machines, tools, computers, robots, hardware, software, documents, orders, recipes, algorithms, files, information, data and commands

Enabler ExamplesEnabler Examples

Page 22: What is Object-Process Methodology

221998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Effect link is a transformation link that connects a process with its affected object or with the affected object states.

Consumption link is a transformation link that connects a process with a consumed object of that process.

Result link is a transformation link that connects a process with a resulting object of that process.

Transformation linksTransformation links

Page 23: What is Object-Process Methodology

231998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Object-Process Diagram (OPD)Object-Process Diagram (OPD)

Scene

Imaging

Image

Imaging-Device

An OPD is a diagram showing the objects and processes in the system, or part of it, at some level of detail, along with the structural and procedural relations among them.

The Imaging System: Top-level OPD

Page 24: What is Object-Process Methodology

241998 © Dr. Dov Dori, Technion, Israel Institute of Technology

The Imaging System: Imaging-Device unfoldedThe Imaging System: Imaging-Device unfolded

Scene

Imaging

Image

Imaging-

Device

Range-

Sensor

Lens Case

Camera

Film

Camera and Range Sensor are specializations of the object Imaging Device.

Case, Lens and Film are parts of the object Camera.

Page 25: What is Object-Process Methodology

251998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Scene

Imaging

Image

Imaging- Device

Photography

Range-Sensing

Camera Range-Sensor

Photography and Range-Sensing are specializations of the process Imaging.

The Imaging System: Imaging unfoldedThe Imaging System: Imaging unfolded

Page 26: What is Object-Process Methodology

261998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Scene

Imaging

Image

Imaging- Device

Photography

Range-Sensing

Camera Range-Sensor

Photographic-Image

Range-Image

The Imaging System: Image unfoldedThe Imaging System: Image unfolded

The OPD shows both the static structure and the dynamic behavior of the system in one model.

Page 27: What is Object-Process Methodology

271998 © Dr. Dov Dori, Technion, Israel Institute of Technology

State is a situation at which the object can exist for some time. Status is an attribute of an object whose values are states.

Status and StateStatus and State

Page 28: What is Object-Process Methodology

281998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Status RepresentationsStatus Representations

Implicit Status Representation

Explicit Status Representation

Page 29: What is Object-Process Methodology

291998 © Dr. Dov Dori, Technion, Israel Institute of Technology

The effect of Process on ObjectThe effect of Process on Object

Left: Object Lamp has states off and on.Process Lighting affects Lamp from on to of.

Right: Object Lamp features Status.Object Status has states off and on.

Process Lighting affects Status of Lamp from off to on.

OPD

OPL

Page 30: What is Object-Process Methodology

301998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Scaling (zooming) - the mechanism of exposing more or less details of the system. This enables shifting the focus of interest from one thing to another without loosing the “big picture”.

Each scaling yields a new OPD. The entire system is represented by the OPD set, in which

each OPD is some view emphasizing part of the system. Scaling up: zooming in; detailing; showing more details of

a thing. Scaling down: zooming out; abstracting; showing less

details of a thing.

Scaling: Scaling: a complexity management toola complexity management tool

Page 31: What is Object-Process Methodology

311998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Two Types of ScalingTwo Types of ScalingUnfoldingUnfolding - uses , , or , any general - uses , , or , any general structural link, or state expression. structural link, or state expression. Reverse direction:Reverse direction: Folding.Folding.Blow-upBlow-up - the frame of the thing is blown up and inner - the frame of the thing is blown up and inner details are exposed. details are exposed. Reverse direction:Reverse direction: ShrinkingShrinking..

P1

P1

P1.1

P1.2

B1.1

P1

P1.1 P1.2 B1.1

Blow-up of P1 Unfolding of P1

Page 32: What is Object-Process Methodology

321998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Two Types of Scaling: Two Types of Scaling: scaling of an objectscaling of an object

B1

B1

B1.1

B1.2

P1.1

B1

B1.1 B1.2 P1.1

Blow-up of B1 Unfolding of B1

Page 33: What is Object-Process Methodology

331998 © Dr. Dov Dori, Technion, Israel Institute of Technology

The Flange Drilling SystemThe Flange Drilling System

Computerized Numeric Control (CNC) Machine

Drilling Flange

Disk

Operator

Legend

Transformation link

Agent link

Instrument link

Object

Process

Page 34: What is Object-Process Methodology

341998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Structural Links:Structural Links:aggregation as an exampleaggregation as an example

Drilling Flange

Disk

Operator

Legend

Transformation link

Agent link

Instrument link

Object

Process

CNC Machine

ControlController Metal Cutting Unit

Aggregation

Page 35: What is Object-Process Methodology

351998 © Dr. Dov Dori, Technion, Israel Institute of Technology

Blow-up of ControlBlow-up of Control

Drilling Flange

Disk

Operator

Control

CNC Machine

Controller

Metal Cutting Unit

Legend

Transformation link

Agent link

Instrument link

Object

Process

Aggregation

Blow-up frame

Command Generation

Command

Command Transfer

Control

Page 36: What is Object-Process Methodology

361998 © Dr. Dov Dori, Technion, Israel Institute of Technology

The time line flows from top to bottomThe time line flows from top to bottom

Drilling

FlangeDisk

Operator

Legend

Transformation linkAgent link

Instrument link

Object

Process

Characterization

Attribute value

Location

on in stack

on CNC

Feed

Location

on out stack

Make Holes

on CNC

Remove

Initial state

Final state

MetalCuttingUnit

Blow-up frame