OPCAT Version 3.0 Getting Started Guide June 2007 Table of Contents 1. Intrudction to the Guide... Brief Formal Introduction to OPM..... Starting to Model with OPCAT................................... 3.1 Install OPCAT......... 3.2 Open a new system.… 555 3.3 The System Diagram (SD)...................... 3.4 Defining the system main function.... 6 3.5 Defining and linking the system's main objects................... 3.6 Quick Summary................................ 4. The OPM symbols.............................. 16 3.7 Entities.......................... 16 3.8 Structural Links.… 17 3.9 Procedural Links... 18 3.10 Using structural relations......... 20 Zooming into the main process .................. 25 Basic Conditional Flow........... 3 1 Consistency.… 5 Marking Initial States....................... 38 In-zooming into the next level ............ 10. Summary.… 40
OPCAT Version 3.0 Getting Started Guide June 2007 Table of Contents 1. Intrudction to the Guide.................................................................................................. 2 2. Brief Formal Introduction to OPM ..................................................................................... 2 3. Starting to Model with OPCAT ...................................................................................... 5 3.1 Install OPCAT............................................................................................................. 5 3.2 Open a new system .................................................................................................... 5 3.3 The System Diagram (SD)........................................................................................... 6 3.4 Defining the system main function................................................................................ 6 3.5 Defining and linking the system's main objects .............................................................. 9 3.6 Quick Summary ....................................................................................................... 15 4. The OPM symbols ..................................................................................................... 16 3.7 Entities ................................................................................................................... 16 3.8 Structural Links........................................................................................................ 17 3.9 Procedural Links....................................................................................................... 18 3.10 Using structural relations........................................................................................... 20 5. Zooming into the main process .................................................................................. 25 6. Basic Conditional Flow............................................................................................... 33 7. Consistency ............................................................................................................. 35 8. Marking Initial States................................................................................................ 38 9. In-zooming into the next level ................................................................................... 39 10. Summary ................................................................................................................ 40
1.Intrudction to the Guide The purpose of this Guide is to help OPCAT user to start modeling with OPCAT 3.0.The Guide focuses on the Object Process Methodology which serves as the basis for OPCAT advanced features.After reading the guide the user is encouraged to continue to the advanced lessons which could be obtained by contacting us at consulting@opcat.com. This Guide is divided into sections;each section describes another aspect of the OPM language or the OPCAT program and contains a summary at the end. 2. Brief Formal Introduction to OPM Object Process Methodology (OPM)is a holistic approach for Object conceptual modeling of complex systems.The OPM model Stete 1 State 2 integrates the functional,structural,and behavioral aspects of a system in a single,unified view,expressed bi-modally in equivalent graphics and text with built-in refinement- abstraction mechanism. Processing Two semantically equivalent modalities,one graphic and the other textual,jointly express the same OPM model.A set of inter-related hierarchically organized Object-Process Diagrams (OPDs),showing portions of the system at Figure 1:An Object-Process various levels of detail,constitute the graphical,visual OPM Diagram (OPD)showing the three OPM entities:Object, formalism.The OPM ontology comprises entities and links. Process,and State,and the Each OPM element (entity or link)is denoted in an OPD by a input/output procedural link symbol,and the OPD syntax specifies correct and consistent pair,which expresses that Processing changes Object ways by which entities can be connected via structural and from State 1 to State 2. procedural links,such that each legal entity-link-entity combination bears specific,unambiguous semantics(see Figure 1 for example).There are three different types of entities:objects,processes (collectively referred to as "things"),and states.These entities are shown in Figure 1. Objects are the(physical or informatical)things in the system that exist,and if they are stateful(i.e.,have states),then at any point in time they are at some state or in transition between states.Processes are the things in the system that transform objects: they generate and consume objects,or affect stateful objects by changing their state. Links can be structural or procedural.Structural links express static,time-independent relations between pairs of entities.The four fundamental structural relations are aggregation-participation,generalization-specialization,exhibition-characterization,and classification-instantiation.General tagged structural links provide for creating additional "user-defined"links with specified semantics.Procedural links connect processes with objects or object states to describe the behavior of a system.System behavior is manifested in three ways:(1)a processes can transform(generate,consume,or change the state of)one or more objects;(2)an object can enable one or more processes without being transformed by them,in which case it acts as an agent(if it is human)or an 2
2 1. Intrudction to the Guide The purpose of this Guide is to help OPCAT user to start modeling with OPCAT 3.0. The Guide focuses on the Object Process Methodology which serves as the basis for OPCAT advanced features. After reading the guide the user is encouraged to continue to the advanced lessons which could be obtained by contacting us at consulting@opcat.com. This Guide is divided into sections; each section describes another aspect of the OPM language or the OPCAT program and contains a summary at the end. 2. Brief Formal Introduction to OPM Object Process Methodology (OPM) is a holistic approach for conceptual modeling of complex systems. The OPM model integrates the functional, structural, and behavioral aspects of a system in a single, unified view, expressed bi-modally in equivalent graphics and text with built-in refinementabstraction mechanism. Two semantically equivalent modalities, one graphic and the other textual, jointly express the same OPM model. A set of inter-related hierarchically organized Object-Process Diagrams (OPDs), showing portions of the system at various levels of detail, constitute the graphical, visual OPM formalism. The OPM ontology comprises entities and links. Each OPM element (entity or link) is denoted in an OPD by a symbol, and the OPD syntax specifies correct and consistent ways by which entities can be connected via structural and procedural links, such that each legal entity-link-entity combination bears specific, unambiguous semantics (see Figure 1 for example). There are three different types of entities: objects, processes (collectively referred to as "things"), and states. These entities are shown in Figure 1. Objects are the (physical or informatical) things in the system that exist, and if they are stateful (i.e., have states), then at any point in time they are at some state or in transition between states. Processes are the things in the system that transform objects: they generate and consume objects, or affect stateful objects by changing their state. Links can be structural or procedural. Structural links express static, time-independent relations between pairs of entities. The four fundamental structural relations are aggregation-participation, generalization-specialization, exhibition-characterization, and classification-instantiation. General tagged structural links provide for creating additional "user-defined" links with specified semantics. Procedural links connect processes with objects or object states to describe the behavior of a system. System behavior is manifested in three ways: (1) a processes can transform (generate, consume, or change the state of) one or more objects; (2) an object can enable one or more processes without being transformed by them, in which case it acts as an agent (if it is human) or an Figure 1: An Object-Process Diagram (OPD) showing the three OPM entities: Object, Process, and State, and the input/output procedural link pair, which expresses that Processing changes Object from State 1 to State 2
instrument;and(3)an object can trigger an event that invokes a process if some conditions are met.Accordingly,a procedural link can be a transformation link,an enabling link,or an event link.A transformation link expresses object transformation,i.e., object consumption,generation,or state change.Figure 1 shows a pair of transformation links,the input/output link.It expresses in OPL that Processing changes Object from State 1 to State 2.An enabling (agent or instrument)link expresses the need for a(possibly state-specified)object to be present in order for the enabled process to occur.The enabled process does not transform the enabling object.An event link connects a triggering entity (object,process,or state)with a process that it invokes. The System Diagram,SD,is the topmost diagram in a model.It presents the most abstract view of the system,typically showing a single process as the main function of the system,along with the most significant objects that enable it and the ones that are transformed by it.The further from the root the OPD is,the more detailed it is.Each OPD, except for the SD,is obtained by refinement-in-zooming or unfolding-of a thing (object or process)in its ancestor OPD.This refined thing is described with additional details.The abstraction-refinement mechanism ensures that the context of a thing at any detail level is never lost and the "big picture"is maintained at all times. A new thing (object or process)can be presented in any OPD as a refineable(part, specialization,feature,or instance)of a thing at a higher abstraction level (a more abstract OPD).It is sufficient for some detail to appear once in some OPD for it to be true for the system in general even though it is not shown in any other OPD.Accordingly, copies of a thing can appear in other diagrams,where some or all the details(such as object states or thing relations)that are unimportant in the context of a particular diagram need not be shown. The Object-Process Language (OPL)is the textual counterpart modality of the graphical OPD set.OPL is a dual-purpose language,oriented towards humans as well as machines. Catering to human needs,OPL is designed as a subset of English,which serves domain experts and system architects,jointly engaged in modeling a complex system.Every OPD construct is expressed by a semantically equivalent OPL sentence or phrase that is generated automatically by OPCAT in response to the user's input.According to the modality principle of the cognitive theory of multimodal learning,this dual graphic/text representation of the OPM model increases the human processing capability.It has indeed been our experience that humans enhance their understanding of the model as they conveniently draw upon the graphic and/or the textual model representation to complement what they missed in the other modality. A major problem with most graphic modeling approaches is their scalability:As the system complexity increases,the graphic model becomes cluttered with symbols and links that connect them.The limited channel capacity is a cognitive principle which states that there is an upper limit on the amount of detail a human can process before being overwhelmed.This principle is addressed by OPM and implemented in OPCAT with three abstraction/refinement mechanisms.These enable complexity management by providing for the creation of a set of interrelated OPDs(along with their corresponding OPL paragraphs)that are limited in size,thereby avoiding information overload and enabling comfortable human cognitive processing.The three refinement/abstraction mechanisms 3
3 instrument; and (3) an object can trigger an event that invokes a process if some conditions are met. Accordingly, a procedural link can be a transformation link, an enabling link, or an event link. A transformation link expresses object transformation, i.e., object consumption, generation, or state change. Figure 1 shows a pair of transformation links, the input/output link. It expresses in OPL that Processing changes Object from State 1 to State 2. An enabling (agent or instrument) link expresses the need for a (possibly state-specified) object to be present in order for the enabled process to occur. The enabled process does not transform the enabling object. An event link connects a triggering entity (object, process, or state) with a process that it invokes. The System Diagram, SD, is the topmost diagram in a model. It presents the most abstract view of the system, typically showing a single process as the main function of the system, along with the most significant objects that enable it and the ones that are transformed by it. The further from the root the OPD is, the more detailed it is. Each OPD, except for the SD, is obtained by refinement—in-zooming or unfolding—of a thing (object or process) in its ancestor OPD. This refined thing is described with additional details. The abstraction-refinement mechanism ensures that the context of a thing at any detail level is never lost and the "big picture" is maintained at all times. A new thing (object or process) can be presented in any OPD as a refineable (part, specialization, feature, or instance) of a thing at a higher abstraction level (a more abstract OPD). It is sufficient for some detail to appear once in some OPD for it to be true for the system in general even though it is not shown in any other OPD. Accordingly, copies of a thing can appear in other diagrams, where some or all the details (such as object states or thing relations) that are unimportant in the context of a particular diagram need not be shown. The Object-Process Language (OPL) is the textual counterpart modality of the graphical OPD set. OPL is a dual-purpose language, oriented towards humans as well as machines. Catering to human needs, OPL is designed as a subset of English, which serves domain experts and system architects, jointly engaged in modeling a complex system. Every OPD construct is expressed by a semantically equivalent OPL sentence or phrase that is generated automatically by OPCAT in response to the user's input. According to the modality principle of the cognitive theory of multimodal learning, this dual graphic/text representation of the OPM model increases the human processing capability. It has indeed been our experience that humans enhance their understanding of the model as they conveniently draw upon the graphic and/or the textual model representation to complement what they missed in the other modality. A major problem with most graphic modeling approaches is their scalability: As the system complexity increases, the graphic model becomes cluttered with symbols and links that connect them. The limited channel capacity is a cognitive principle which states that there is an upper limit on the amount of detail a human can process before being overwhelmed. This principle is addressed by OPM and implemented in OPCAT with three abstraction/refinement mechanisms. These enable complexity management by providing for the creation of a set of interrelated OPDs (along with their corresponding OPL paragraphs) that are limited in size, thereby avoiding information overload and enabling comfortable human cognitive processing. The three refinement/abstraction mechanisms
are:(1)unfolding/folding,which is used for refining/abstracting the structural hierarchy of a thing and is applied by default to objects;(2)in-zooming/out-zooming,which exposes/hides the inner details of a thing within its frame and is applied primarily to processes;and(3)state expressing/suppressing,which exposes/hides the states of an object. The software environment embodied in the OPCAT 3 product supports OPM-based system development,evolution,lifecycle engineering,and lifecycle management.This software package implements the bimodal expression of the OPM model along with many new model-based capabilities.In addition to OPM-based systems modeling,the OPCAT platform supports such features as requirements engineering,information layers management,model repository,simulation and validation of the model,and automatic document generation and management. OPM Basics:A Quick Summary ● OPM is a modeling language based on the paradigm that views processes and objects as equally important in the system model. OPM uses Objects and Processes in order to model the structural and behavioral aspects of a system. ● Objects are things that exist over time.Object can be stateful(i.e.,have states). Processes are things that transform Objects by creating them,destroying them, or changing their states. Procedural links connect processes to objects to express these transformations. Structural relations connect objects to express static,long-term between them. 4
4 are: (1) unfolding/folding, which is used for refining/abstracting the structural hierarchy of a thing and is applied by default to objects; (2) in-zooming/out-zooming, which exposes/hides the inner details of a thing within its frame and is applied primarily to processes; and (3) state expressing/suppressing, which exposes/hides the states of an object. The software environment embodied in the OPCAT 3 product supports OPM-based system development, evolution, lifecycle engineering, and lifecycle management. This software package implements the bimodal expression of the OPM model along with many new model-based capabilities. In addition to OPM-based systems modeling, the OPCAT platform supports such features as requirements engineering, information layers management, model repository, simulation and validation of the model, and automatic document generation and management. OPM Basics: A Quick Summary • OPM is a modeling language based on the paradigm that views processes and objects as equally important in the system model. • OPM uses Objects and Processes in order to model the structural and behavioral aspects of a system. • Objects are things that exist over time. Object can be stateful (i.e., have states). • Processes are things that transform Objects by creating them, destroying them, or changing their states. • Procedural links connect processes to objects to express these transformations. • Structural relations connect objects to express static, long-term between them
3.Starting to Model with OPCAT The OnStar System,specified in Annex A in free text,is used as a running example throughout this guide. A detailed,step-by-step OPM-based model construction of the OnStar System is used to explain how to do the modeling with OPCAT by describing almost each mouse-click,so you,as a new user,can closely follow each step and reproduce the model as you proceed with following the model while it is being constructed in the pages below. 3.1 Install OPCAT OPCAT is standalone software.Press Setup file and install OPCAT.Note that you are required to select directory in which OPCAT models will be saved.You are also required to restart your computer after installation.Note that Java 6JRE is required. 3.2 Open a new system Double clicking the green OPCAT icon application,a blank screen is opened,as shown in Figure 2. 回O⊙▲鱼△鱼→PP/PPN Figure 2.A blank OPCAT opening screen Clicking System->New we get the New System Properties dialog box shown in Figure 3. Fill in the details and click OK.At this point you may also want to save the system in a designated folder. Next we start modeling the system in the System Diagram. 5
5 3. Starting to Model with OPCAT The OnStar System, specified in Annex A in free text, is used as a running example throughout this guide. A detailed, step-by-step OPM-based model construction of the OnStar System is used to explain how to do the modeling with OPCAT by describing almost each mouse-click, so you, as a new user, can closely follow each step and reproduce the model as you proceed with following the model while it is being constructed in the pages below. 3.1 Install OPCAT OPCAT is standalone software. Press Setup file and install OPCAT. Note that you are required to select directory in which OPCAT models will be saved. You are also required to restart your computer after installation. Note that Java 6JRE is required. 3.2 Open a new system Double clicking the green OPCAT icon application, a blank screen is opened, as shown in Figure 2. Figure 2. A blank OPCAT opening screen Clicking System -> New we get the New System Properties dialog box shown in Figure 3. Fill in the details and click OK. At this point you may also want to save the system in a designated folder. Next we start modeling the system in the System Diagram