ISBN-13: 9783642629891 / Angielski / Miękka / 2013 / 455 str.
ISBN-13: 9783642629891 / Angielski / Miękka / 2013 / 455 str.
Object-Process Methodology (OPM) is a comprehensive novel approach to systems engineering. Integrating function, structure and behavior in a single, unifying model, OPM significantly extends the system modeling capabilities of current object-oriented methods. Founded on a precise generic ontology and combining graphics with natural language, OPM is applicable to virtually any domain of business, engineering and science. Relieved from technical issues, system architects can use OPM to engage in the creative design of complex systems.
The book presents the theory and practice of OPM with examples from various industry segments and engineering disciplines, as well as daily life.
I Foundations of Object-Process Methodology.- 1 A Taste of OPM.- 1.1 The Wedding Example: A Sneak Preview of OPM.- 1.2 OPM Building Blocks: Objects, Processes, and States.- 1.3 Specialization and Inheritance.- 1.4 Aggregation and the Result Link.- Summary.- Problems.- 2 Object-Process Diagrams.- 2.1 Objects and Aggregation.- 2.2 Structural Relations and Structural Links.- 2.3 Processes and Procedural Links.- 2.4 System Diagram: The Top-Level OPD.- 2.5 Zooming into the Transaction Executing Process.- 2.6 The OPD Set.- 2.7 How to Read an OPD.- 2.7.1 Flow of Control.- 2.7.2 The Timeline in OPDs.- 2.7.3 Object States and Conditions.- 2.8 Completing the In-Zoomed Transaction Executing OPD.- 2.8.1 Logical XOR, AND, and OR Operators.- 2.8.2 The System Map.- 2.8.3 The Ultimate OPD.- 2.8.4 Zooming Out of Transaction Executing.- Summary.- Problems.- 3 Object-Process Language.- 3.1 Motivation for a Language.- 3.1.1 Real-Time Textual Feedback.- 3.1.2 Closing the Requirements-Implementation Gap.- 3.2 Structural Links and Structure Sentences.- 3.2.1 The First OPL Sentence.- 3.2.2 The First OPL Aggregation Sentence.- 3.3 The OPL Paragraph and the Graphics-Text Principle.- 3.3.1 Extending the OPL Paragraph.- 3.3.2 Enabling Sentences.- 3.3.3 Transformation Sentences.- 3.3.4 The SD Paragraph.- 3.4 More OPL Sentence Types.- 3.4.1 State Enumeration and Condition Sentences.- 3.4.2 AND, XOR, and OR Logical Operators.- 3.4.3 The SD1 Paragraph.- 3.4.4 In-Zooming and Out-Zooming Sentences.- 3.5 Boolean Objects and Determination Sentence.- 3.5.1 Boolean Condition Sentences.- 3.5.2 Compound Condition Sentences.- 3.5.3 State-Specified Generation Sentence.- 3.5.4 Converting a Dual-State Object into a Boolean Object.- 3.6 OPD-OPL Item Pairs and Synergy.- Summary.- Problems.- 4 Objects and Processes.- 4.1 Existence, Things, and Transformations.- 4.1.1 Objects.- 4.1.2 Transformation and Processes.- 4.2 Processes and Time.- 4.2.1 Cause and Effect.- 4.2.2 Syntactic vs. Semantic Sentence Analysis.- 4.2.3 The Process Test.- 4.3 Things.- 4.3.1 Things and Entities.- 4.3.2 The Perseverance of Things.- 4.3.3 The Essence of Things.- 4.3.4 Symbolizing Physical Things.- 4.3.5 The Origin of Things.- 4.3.6 The Complexity of Things.- 4.3.7 Thing Types.- 4.3.8 The Relativity of Object and Process Importance.- 4.3.9 Object and Process Naming.- 4.4 Informatical Objects.- 4.4.1 Telling Informatical and Physical Objects Apart.- 4.4.2 Systems and Information Systems.- 4.4.3 Translation of Informatical Objects.- 4.4.4 Toward “Pure” Informatical Objects.- 4.5 Object Identity.- 4.5.1 Change of State or Change of Identity?.- 4.5.2 Classes and Instances of Objects and Processes.- Summary.- Problems.- II Concepts of OPM Systems Modeling.- 5Dynamics.- 5.1 States.- 5.1.1 Object States and Status.- 5.1.2 Change and Effect.- 5.1.3 Explicit and Implicit Status Representations.- 5.1.4 The Input, Output, and Effect Links.- 5.1.5 State Suppression and the Effect Link.- 5.1.6 State Expression.- 5.2 Existence and Transformation.- 5.2.1 Result and Consumption Links.- 5.2.2 Procedural Links, Enablers, and Transformées.- 5.2.3 Enablers.- 5.2.4 Agents.- 5.2.5 Instruments.- 5.2.6 Enabling Links.- 5.2.7 Transformées.- 5.2.8 Odd Man Out: The Invocation Linkt.- 5.3 Object Roles with Respect to a Process.- 5.3.1 Enablers and Affectees.- 5.3.2 The Involved, Preprocess, and Postprocess Object Sets.- 5.3.3 Condition and Agent Condition Links.- 5.3.4 Operator, Operand, and Transform?.- Summary.- Problems.- 6Structure.- 6.1 Structural Relations.- 6.1.1 Structural Links.- 6.1.2 Structural Relation Directions.- 6.1.3 Unidirectional Structural Link.- 6.1.4 OPD Sentences.- 6.1.5 The Reciprocity of a Structural Relation.- 6.1.6 Null Tags and Their Default OPL Reserved Phrases.- 6.1.7 Structural Relations as Static Verbs.- 6.2 Participation Constraints and Cardinality.- 6.2.1 Participation Constraints.- 6.2.2 Parameterized Participation Constraints.- 6.2.3 Range Participation Constraints.- 6.2.4 Shorthand Notations and Reserved Phrases.- 6.2.5 Cardinality.- 6.2.6 Participation Constraints in Procedural Relations.- 6.3 The Distributive Law and Forks.- 6.3.1 Forks.- 6.3.2 Fork Degree.- 6.3.3 Fork Comprehensiveness.- 6.4 The Transitivity of Structural Relations.- 6.5 The Four Fundamental Structural Relations.- Summary.- Problems.- 7Aggregation and Exhibition.- 7.1 Aggregation-Participation: Underlying Concepts.- 7.1.1 Aggregation-Participation as a Tagged Structural Relation.- 7.1.2 The Aggregation-Participation Symbol.- 7.1.3 Sets and Order.- 7.1.4 Aggregate Naming.- 7.1.5 Aggregating Processes.- 7.2 Aggregation Hierarchy and Comprehensiveness.- 7.2.1 Aggregation Hierarchy.- 7.2.2 Aggregation Comprehensiveness.- 7.2.3 Parameterized Participation Constraints.- 7.2.4 Participation Level and Aggregational Complexity.- 7.3 Exhibition-Characterization: Underlying Concepts.- 7.3.1 The Name Exhibition-Characterization.- 7.3.2 The Exhibition-Characterization Symbol.- 7.3.3 Attribute and Operation Are Features.- 7.3.4 Exhibition Complexity.- 7.4 Features in 00 vs. OPM.- 7.5 The Four Thing-Feature Combinations.- 7.5.1 The Object-Attribute Combination.- 7.5.2 The Object-Operation Combination.- 7.5.3 The Process-Attribute Combination.- 7.5.4 Process-Operation Combination.- 7.6 The Feature Hierarchy.- 7.7 Feature-Related Natural Language Issues.- 7.7.1 Attribute Naming Dilemmas.- 7.7.2 Reserved Objects and the Measurement Unit Reserved Object.- 7.7.3 Continuous Values and Multi-Valued Attributes.- 7.7.4 Mathematical Inequalities in OPM.- 7.8 Reflective Metamodeling of an Attribute.- 7.8.1 The Size of an Attribute.- 7.8.2 The Mode of an Attribute.- 7.8.3 The Touch of an Attribute.- 7.8.4 The Source of a Feature.- 7.8.5 The Operation a Feature Carries.- Summary.- Problems.- 8 Generalization and Instantiation.- 8.1 Generalization-Specialization: Introduction.- 8.1.1 Specialization Symbol and Sentence.- 8.1.2 Process Specialization.- 8.2 Inheritance.- 8.2.1 Feature Inheritance.- 8.2.2 Structural Relations Inheritance.- 8.2.3 Procedural Link Inheritance.- 8.2.4 State Inheritance.- 8.2.5 State Specialization.- 8.2.6 Process Specialization.- 8.2.7 Generalization Complexity.- 8.3 Qualification.- 8.3.1 Qualification Inheritance.- 8.3.2 Multiple Qualification Inheritance.- 8.4 Classification-Instantiation.- 8.4.1 Classes and Instances.- 8.4.2 The Relation Between Instantiation and Specialization.- 8.4.3 The Relativity of Instance.- 8.4.4 Instance Qualification.- 8.4.5 Process Instances.- 8.4.6 Classification Complexity.- 8.5 Modifiers and Instances.- 8.5.1 Natural Language Modifiers and Shortcuts.- 8.5.2 Adjectives and Attributes.- 8.5.3 Adverbs and Operations.- 8.6 Specializations of the Involved Object Set Members.- 8.7 Non-Comprehensiveness.- 8.7.1 Non-Comprehensiveness of Fundamental Structural Relations.- 8.7.2 Non-Comprehensiveness of States and Values.- Summary.- Problems.- 9 Managing Systems’ Complexity.- 9.1 The Need for Complexity Management.- 9.1.1 Middle-Out as the De-Facto Architecting Practice.- 9.1.2 Determining the Extent of Refinement.- 9.1.3 Towards Quantifying Complexity.- 9.2 Divide and Conquer: By Aspects or by Details?.- 9.2.1 Why is Detail Decomposition Good?.- 9.2.2 When Should a New OPD Be Created?.- 9.3 The Attributes of Scaling.- 9.3.1 The Purpose of Scaling.- 9.3.2 The Mode of Scaling.- 9.3.3 Controlling Visibility by In- and Out-Zooming.- 9.3.4 The Distributivity of Procedural Links.- 9.3.5 Unfolding and Folding.- 9.3.6 State Expressing and Suppressing.- 9.3.7 Primary and Secondary Operands.- 9.4 Abstracting.- 9.4.1 Consolidating.- 9.4.2 Zoom consolidating.- 9.4.3 Paths and Path Labels.- 9.4.4 Zoom Consolidating Pitfalls.- 9.4.5 Zoom Consolidating Conditions.- 9.4.6 Fold Consolidating.- 9.5 What Happens to Procedural Links During Abstracting?.- 9.5.1 Procedural Link Precedence.- 9.5.2 Semi-Folding and Semi-Unfolding.- 9.5.3 Selective Semi-Folding and Semi-Unfolding.- 9.6 Looking at the Big Picture: The System Map and the OPM Construct Pairs.- Summary.- Problems.- III Building Systems with OPM.- 10 Systems and Modeling.- 10.1 Defining Systems.- 10.1.1 Some Existing Definitions.- 10.1.2 Function.- 10.1.3 The Various Functions of Stone.- 10.2 System Defined.- 10.2.1 System as a Relative Term.- 10.2.2 System as a Subjective Term.- 10.2.3 The Function of Naturaland Artificial Systems.- 10.3 Goal, Concept, and Function.- 10.3.1 The Intent and Goal of Artificial Systems.- 10.3.2 Telling System Function and Dynamics Apart.- 10.3.3 Function, Structure, and Behavior.- 10.4 System Architecture.- 10.4.1 Function vs. Dynamics.- 10.4.2 The Concept Behind a System.- 10.4.3 The Origin and Essence of Systems.- 10.5 Objects, Systems, and Products.- 10.5.1 Product Defined.- 10.5.2 The Object-System-Product Hierarchy.- 10.5.3 Goods, Services, and Projects.- 10.6 Documenting Functions of the System Architecture.- 10.6.1 The Function Hierarchy.- 10.6.2 Function Boxes and Function Sentences.- 10.6.3 Functionality.- 10.7 From Systems to Models.- 10.7.1 Some Model Definitions.- 10.7.2 Model Defined.- 10.8 Modeling Paradigms.- 10.8.1 Natural Language as a Modeling Tool.- 10.8.2 Mathematical and Symbolic Modeling.- 10.8.3 Graphic Modeling and Knowledge Representation.- 10.9 Reflective Metamodeling.- Summary.- Problems.- 11 System Lifecycle and Evolution.- 11.1 System Lifecycle.- 11.1.1 Lifecycle of Artificial Systems.- 11.1.2 Software and Product Development Processes.- 11.2 Systems Analysis and the Scientific Method.- 11.3 Categorization vs. Interdisciplinarity.- 11.4 System Engineering and the Role of the System Architect.- 11.5 An OPM Model of System Lifecycle Phases.- 11.5.1 Top-Level Description of System Evolution.- 11.5.2 Initiating the System.- 11.5.3 Developing the System.- 11.5.4 Analyzing.- 11.5.5 The Refining-Abstracting Cycles.- 11.5.6 Designing.- 11.5.7 The Waterfall Model vs. Iterative and Incremental Development.- 11.5.8 Deploying the System.- 11.6 Zooming into Analyzing.- 11.7 Zooming into Designing and Implementing.- 11.8 From Design to Implementation.- Summary.- Problems.- 12 States and Values.- 12.1 State-specified Objects and Links.- 12.1.1 Initial, Ultimate and Default States.- 12.1.2 The Transformation Attribute of a Process.- 12.1.3 Object as a Role Player for State.- 12.1.4 State Maintaining Processes.- 12.1.5 Sentences and Phrases of States and Values.- 12.1.6 Single Value Sentence.- 12.2 Telling States Apart from Values.- 12.3 Metamodeling the Attributes of Value and Their States.- 12.3.1 Numeric and Symbolic Values.- 12.3.2 Mapping Object States onto Attribute Values.- 12.4 Compound States and State Space.- 12.4.1 The Attribute Feasibility Matrix.- 12.4.2 Logical Compound States.- Summary.- Problems.- 13 Advanced OPM Concepts.- 13.1 Real-Time Issues.- 13.1.1 Sequential vs. Parallel Process Execution.- 13.1.2 Process Synchronization.- 13.1.3 Events.- 13.1.4 Chronon and Event.- 13.1.5 Basic Triggering Event Types.- 13.2 Process and State Duration.- 13.3 Processing states.- 13.4 Probability in Procedural Relations.- 13.5 Scope and Name Disambiguation.- 13.5.1 The Fundamental DAG.- 13.5.2 Scope of an Object.- 13.6 The Reserved Words “of” and “which”.- 13.6.1 The Reserved Word “of” and the Dot Operator.- 13.6.2 Using “of” with Tagged Structural Relations.- 13.6.3 The Reserved Word “which”.- 13.6.4 Operation: A Process Without Side Effect.- 13.7 Structure-Related Issues.- 13.7.1 Transitivity Strength.- 13.7.2 Hamiltonian Distance.- 13.7.3 The Fractal Relation.- 13.7.4 Covariance and Contravariance.- 13.8 OPM Metamodeling Issues.- 13.8.1 AMetamodelofThing.- 13.8.2 The Specialization-Specification Hierarchy.- 13.8.3 A Refined Generic Processing Model.- 13.8.4 Time Exception Handling.- 13.9 The OPM Construct Hierarchy.- Summary.- Problems.- 14 Systems Theory.- 14.1 The Informatics Hierarchy.- 14.1.1 Computers Are Climbing the Informatics Hierarchy.- 14.1.2 Knowledge and Understanding.- 14.2 Ontology.- 14.3 General Systems Theory.- 14.3.1 A Brief History of General Systems Theory.- 14.3.2 The Hierarchy of System Levels.- 14.4 Autopoietic vs. Allopoietic Systems.- 14.5 Systems and Humans.- 14.6 Systems Theory Characteristics.- 14.6.1 Previously Defined Characteristics.- 14.6.2 System, Environment and Beneficiaries.- 14.6.3 Control and Feedback.- 14.7 Classical Physics vs. Quantum Theory.- 14.7.1 Visualization.- 14.7.2 Causality.- 14.7.3 Locality.- 14.7.4 Self-Identity.- 14.7.5 Objectivity.- 14.8 Objectifying: Converting a Process into an Object.- Summary.- Problems.- 15 Object-Oriented Modeling.- 15.1 The Evolution of System Analysis Methods.- 15.1.1 Data Flow Diagrams.- 15.1.2 Entity-Relationship Diagrams and Their Combination with DFD.- 15.1.3 The Object-Oriented Paradigm.- 15.2 Pre-UML Object-Oriented Methods.- 15.2.1 Object Modeling Technique.- 15.2.2 Object-Oriented Software Engineering.- 15.2.3 Object-Oriented Analysis and Object-Oriented Design.- 15.2.4 Object-Oriented Systems Analysis.- 15.2.5 Object-Oriented Analysis & Design.- 15.2.6 Object Life-Cycles.- 15.2.7 The Booch Method.- 15.2.8 MOSES.- 15.2.9 The Fusion Method.- 15.2.10 OPEN Modeling Language.- 15.3 Unified Modeling Language-UML.- 15.4 Metamodeling in OO Methods.- 15.5 OO Methods - A Summary.- 15.6 Software Development Approaches and Trends.- 15.6.1 Aspect-Oriented Programming.- 15.6.2 The Rational Unified Process.- 15.6.3 Extreme Programming.- 15.6.4 Agile Modeling.- 15.7 Challenges for OO Methods.- 15.7.1 A Historic Perspective.- 15.7.2 The Encapsulation Challenge.- 15.7.3 The Model Multiplicity Challenge.- 15.7.4 Empirical Evidence of the Model Multiplicity Problem.- 15.7.5 The Complexity Management Challenge.- 15.8 OPM and OO.- 15.8.1 The UML 2.0 Initiative.- 15.8.2 Systemantica: an OPM Supporting Tool.- 15.8.3 OPM Applications and Research: Present and Future.- Summary.- Problems.- Appendix A: The ATM System.- References.
Object-Process Methodology (OPM) is a comprehensive novel approach to systems engineering. Integrating function, structure and behavior in a single, unifying model, OPM significantly extends the system modeling capabilities of current object-oriented methods. OPM system specification consists of a set of interrelated Object-Process Diagrams and an equivalent Formal English - a subset of natural English. The resulting graphic and textual system specification serves not only for communicating among system architects, domain experts, and prospective customers, but also for automated application generation.
OPM is a generic, domain-independent approach founded on the very basic elements of any system: objects and processes. As such, it is applicable to virtually any domain of business, engineering and science. Being intuitive and easy to understand and use, OPM enables system architects to document their natural train of thought. Equipped with a powerful holistic systems paradigm and relieved from the technicalities of unnatural languages, developers engage in creativity and discovery as they design complex system architectures.
The book presents the theory and practice of OPM with examples from various industry segments and engineering disciplines, as well as daily life.
1997-2024 DolnySlask.com Agencja Internetowa