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
New System Properties Basic Advancel Meta Libraries 品 System Name: 9 stem C8a满0rr Dov Dor Creation Date Mon Dec:58-57 IBT 2006 Model Type: System ok☐Cancel Figure 3.The New System Properties dialog box 3.3 The System Diagram(SD) The System Diagram(SD)is the first,top-level Object-process Diagram(OPD)of our system. SD expresses clearly the main system's function-what it is designed to do,the beneficiary,the main objects that are consumed,created,and/or affected by that function,the main human and non-human enablers of the system,and the objects which interact with our system(called environmental,as opposed to systemic). 3.4 Defining the system main function We now start to actually model the OnStar system.We do this by drawing model elements processes,objects,and links-on the graphic screen,the top right pane marked as SD, short for System Diagram.As we model,we inspect the translation in real-time of our graphic editing into OPL-Object-Process Language-to make sure we have done the right thing. The first thing we need to do when modeling a new system is to define the system's major function.This is going to be the central process which we will draw in the center of the SD.The major function of the OnStar system is Driver Rescuing
6 Figure 3. The New System Properties dialog box 3.3 The System Diagram (SD) The System Diagram (SD) is the first, top-level Object-process Diagram (OPD) of our system. SD expresses clearly the main system's function – what it is designed to do, the beneficiary, the main objects that are consumed, created, and/or affected by that function, the main human and non-human enablers of the system, and the objects which interact with our system (called environmental, as opposed to systemic). 3.4 Defining the system main function We now start to actually model the OnStar system. We do this by drawing model elements – processes, objects, and links – on the graphic screen, the top right pane marked as SD, short for System Diagram. As we model, we inspect the translation in real-time of our graphic editing into OPL – Object-Process Language – to make sure we have done the right thing. The first thing we need to do when modeling a new system is to define the system's major function. This is going to be the central process which we will draw in the center of the SD. The major function of the OnStar system is Driver Rescuing
Opcat l-OnStar warning-not savedyrt 回N回 Help 口■x国马日XD日为心■凸回9图”@金◆回口 OnStar SD Things in OPD Things List OPL Generator Libraries Testing 口口9A△△△→-PP/PP多PXN Figure 4.OPCAT Screen after opening the new OnStar System model Sliding the mouse over the OPM symbols in the bottom toolbox shows their name.In Figure 4 the mouse is over the ellipse and we see that the ellipse is the symbol for a process.Click on the process icon(the ellipse,third from the bottom left toolbar,see Figure 24).You will get the dialog window shown in Figure 5.Type the process name. Since this process is physical,click on the physical essence radio button and click OK. 7
7 Figure 4. OPCAT Screen after opening the new OnStar System model Sliding the mouse over the OPM symbols in the bottom toolbox shows their name. In Figure 4 the mouse is over the ellipse and we see that the ellipse is the symbol for a process. Click on the process icon (the ellipse, third from the bottom left toolbar, see Figure 24). You will get the dialog window shown in Figure 5. Type the process name. Since this process is physical, click on the physical essence radio button and click OK
OPD Process Properties ☒ General Details Activation Time Roles Misc. Process Name Driver Rescuing Essence Origin Physical ○Erironmental ○nformational Systemic Scope: Public Addition Helper Enable ©Disable OK Cancel Figure 5.The Process Properties dialog box You should get the process as shown in Figure 6.Note that the process is shaded to denote that its essence attribute is physical(the default essence of OPM things- processes as well as objects-is informatical). Note also that the following OPL sentence appeared in the bottom right pane: Driver Rescuing is physical. To help distinguishing between objects and processes,the process name in the text is in blue,as it is in the OPD.Objects will be green. 8
8 Figure 5. The Process Properties dialog box You should get the process as shown in Figure 6. Note that the process is shaded to denote that its essence attribute is physical (the default essence of OPM things – processes as well as objects – is informatical). Note also that the following OPL sentence appeared in the bottom right pane: Driver Rescuing is physical. To help distinguishing between objects and processes, the process name in the text is in blue, as it is in the OPD. Objects will be green
Opcat ll OnStar 口回☒ System Edit View Notation Operation Generation Help 色取旧马面血由国自。XJ图Q只业2 OPD Hierarchy 日sD口'广☒ onStar 田SD Driver Rescuing 0- Driver Rescuing is physical. Things in OPD Things List Meta Models OPL Generator Testing ▣Oo ▲△△A→PPP☑P Figure 6.Driver Rescuing,the main function of the system, has been inserted as a physical process. 3.5 Defining and linking the system's main objects Having defined the major system function,we now turn to depicting the main objects in the system.We need to think first who is the beneficiary of the system,i.e.,who gets value from the systems.Obviously,it is the driver,so we insert Driver as a physical object.Since the driver is not part of the system,but interacts with it,its affiliation is environment rather than system,so we mark both radio buttons and get the OPL sentence: Driver is environmental and physical. Another vital object in the mode is the OnStar System,which we also add as a physical object.Figure 7 shows SD,the System Diagram,after the objects Driver and OnStar System were added. 9
9 Figure 6. Driver Rescuing, the main function of the system, has been inserted as a physical process. 3.5 Defining and linking the system's main objects Having defined the major system function, we now turn to depicting the main objects in the system. We need to think first who is the beneficiary of the system, i.e., who gets value from the systems. Obviously, it is the driver, so we insert Driver as a physical object. Since the driver is not part of the system, but interacts with it, its affiliation is environment rather than system, so we mark both radio buttons and get the OPL sentence: Driver is environmental and physical. Another vital object in the mode is the OnStar System, which we also add as a physical object. Figure 7 shows SD, the System Diagram, after the objects Driver and OnStar System were added
◆Opcat ll-OnStar 口▣函 System Edit View Notation Operation Generation Help ⑤白只四曲吕影血面品XJ图QQ69☑终 OPD Hierarchy 日sD OnStar SD Driver OnStar System Driver Rescuing OnStar System is physical. Driver is environmental and physical. Things in OPD Dniver Rescuing is physical. Things List Meta Models OPL Generator Testing ▣OOA△△△→PPP☑2P多 Figure 7.SD after adding the two objects As the beneficiary,Driver is affected by the Driver Rescuing process.To denote this, click on the effect link symbol -the bidirectional arrow at the bottom right,then click on the process and drag it from the process to the object.The result,shown in Figure 19,is expressed in a new OPL sentence: Driver Rescuing affects Driver. Opcat ll-OnStar 国回☒ 四口女D的图明m9母司时就口国线@省之8宁中图老 日50 Driver OnStar System 写wPD HraMedels ▣⊙⊙▲△△△→一P/PPXW Figure 8.SD after linking Driver and Driver Rescuing with an effect link 10
10 Figure 7. SD after adding the two objects As the beneficiary, Driver is affected by the Driver Rescuing process. To denote this, click on the effect link symbol – the bidirectional arrow at the bottom right, then click on the process and drag it from the process to the object. The result, shown in Figure 19, is expressed in a new OPL sentence: Driver Rescuing affects Driver. Figure 8. SD after linking Driver and Driver Rescuing with an effect link