410 likes | 730 Views
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.
E N D
What isObject-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. 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).
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.
Major shortcomings of current OO methodologies • 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.
Object-Process Methodology (OPM) Principles • Objects and processes are the two types of equally important things (entities) required to describe a system in a single, unifyingmodel. • Processes transform objects by changing their state. Transformation includes creation and elimination. • Scaling can be applied recursively and selectively to both objects and processes.
OPM 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.
B1 P1 T1 Objects, Processes, Things Object: that which has the potential of persistentunconditionalexistence 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:
,Universe, Domain, System, Environment, Interaction Universe Domain (World) legend Object System Interaction Process Environment
System, Environment, Interaction • An artificialsystem 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 exchangesmaterial 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.
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.
A Generic Object-Process Diagram Universe Legend m Object Domain Process Transformation link 1..m Aggregation Many m Interaction System Environment
Structure • 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: an association that holds between two or more things (objects and/or processes) in the system for some non-negligible time.
Structural relations are divided into two groups:1. General structural relations bi-directional structural link: unidirectional structural link: 2. Fundamental structural relations
Fundamental Structural Relation • 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
Aggregation-Particulation: a structural relation that defines the relation between the whole and its parts. Symbol: • OPL: • Object Image consists of Foreground and Background. • Aggregation exists between things of the same kind: • An object aggregates objects and process - processes.
Featuring-Characterization a structural relation that defines the relation between the thing and its features. Symbol: 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). Display • OPL: • Object Image features Name,Situation andProcess Display.
B is in front of A D C Instantiation-Materialization: a structural relation that defines the relation between a class of things and its instances. Symbol: • 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.
Generalization-Specialization: • a structural relation that defines the relation between a general things and its specializations. • Also known as gen-spec; • induces inheritance • Symbol: An object generalizes objects and process - processes.
Structural links: an example Camera uses Case Capturing- Medium holds Lens is attached-to Analog- Camera Electronic- Camera uses Focal- length Operation- mode Photographic Film Magnetic Tape uses • Case, Lens and Capturing-Medium are parts of the object Camera. • “uses” is a structural relation (association). It has specializations.
Procedural links • Procedural linkis 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 linkis a procedural link that connects a process with an Enabler of that process. • Transformationlinkis a procedural link that connects a process with a Transformed object of that process. • OPL: Procedural link generalizes Enabling link and Transformationlink.
Enablers • 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.
Enabler Examples • 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
Transformation links • Effectlinkis a transformation link that connects a process with its affected object or with the affected object states. • Consumptionlinkis a transformation link that connects a process with a consumed object of that process. • Resultlinkis a transformation link that connects a process with a resulting object of that process.
Imaging Object-Process Diagram (OPD) • 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. Scene Imaging- Device Image The Imaging System: Top-level OPD
Imaging The Imaging System: Imaging-Device unfolded Scene Imaging- Device Image Camera Range- Sensor Case Film Lens • Camera and Range Sensor are specializations of the object Imaging Device. • Case, Lens and Film are parts of the object Camera.
Imaging Photography Range- Sensing The Imaging System: Imaging unfolded Scene • Photography and Range-Sensing are specializations of the process Imaging. Imaging- Device Camera Range- Image Sensor
Imaging Photography Range- Sensing The Imaging System: Image unfolded Scene Imaging- Device • The OPD shows both the static structure and the dynamic behavior of the system in one model. Camera Range- Sensor Image Range- Photographic- Image Image
Status and State • 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 Representations Implicit Status Representation Explicit Status Representation
The effect of Process on Object OPD • 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. OPL
Scaling: a complexity management tool • 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.
P1 P1 P1.1 B1.1 B1.1 P1.2 P1.1 P1.2 Two Types of Scaling Unfolding - uses , , or , any general structural link, or state expression. Reverse direction:Folding. Blow-up - the frame of the thing is blown up and inner details are exposed. Reverse direction:Shrinking. P1 Blow-up of P1 Unfolding of P1
Two Types of Scaling: scaling of an object B1 B1 B1.1 B1 P1.1 B1.2 P1.1 B1.1 B1.2 Unfolding of B1 Blow-up of B1
Drilling The Flange Drilling System Legend Computerized Numeric Control (CNC) Machine Object Process Transformation link Flange Operator Agent link Instrument link Disk
Control Drilling Structural Links:aggregation as an example CNC Machine Legend Controller Metal Object Cutting Unit Process Transformation link Agent link Flange Operator Instrument link Aggregation Disk
Command Generation Drilling Blow-up of Control CNC Machine Legend Object Process Transformation link Controller Agent link Control Metal Instrument link Command Cutting Unit Aggregation Command Blow-up frame Control Transfer Flange Operator Disk
on CNC on CNC Feed Make Holes Remove The time line flows from top to bottom Disk Legend Flange Object Metal Cutting Unit Process Location Transformation link Location on in stack Agent link on out stack Instrument link Drilling Characterization Blow-up frame Attribute value Initial state Operator Final state