chapter 5 Process Modeling By Muna Shabaneh Objectives • • • • • What is a Model? What is a process? What is a Process modeling? What are the Perspectives in process representation ? Issues in process modeling. What is a model? • It is a simplification of reality • It is an abstract representation of reality that excludes much of the world’s infinite detail. [1] Why it is important to create a model? • To reduce complexity • It is a way to understand or predict What is a process? Humphery and Feiler [1] A process “ a set of partially ordered steps intended to reach a goal” Process modeling “It is an abstract description of an actual or proposed process that represents selected process elements that are considered important to the purpose of the model and can be enacted by a human or a machine.” [1] Process script Process program Process modeling Modeling of Information systems: • Traditionally: analyzing data flows and transformations • Recently: It extended to coordination and communication. So we needed process modeling to integrate these systems together Applications on process modeling • Business process reengineering the redesign of a business • Coordination technology managing dependencies among the agents • Process-driven software development creating automated system for integrating all of the SW-related management and staff • • • • 1) 2) 3) Software life cycle descriptions are they a useful model ?????? NO, since they don’t correspond to the actual processes performed during SW development. They are “DREAMS” !!! They represent high level plans without stating HOW-TO reach there. The reasons behind this problem are: High-level perspective processes Imprecise, ambiguous, incomprehensible, or unusable descriptions of process to be performed. Failure to update the documentation. Perspectives in process representation • People want to extract from a process model some answers for: What is going to be done, who is going to do it, when and where it will be done, how and why will it be done. • Process modeling represents different perspectives related to the previous questions the most common ones: • Functional: What (process elements, data flows) • Behavioral: When (process elements) How (process elements) • Organizational: Where and By Whom (process elements) • Informational: (informational entities) Its structure and the relationships among them • Although the different perspective processes are separated the interrelated among them is essential for analyzing and presenting process information. • Hypothesize that when combined they will produce an integrated, consistent, and complete model of the process analyzed. Process Modeling Paradigms • Process-modeling languages can be evaluated by their ability to provide a model that represents and possible to reason about for various aspects of a process. • The source for modeling languages is programming languages. • Osterweil pointed out chicken-and-egg problem: “ In order to find out what languages features we need, we need to write process programs; in order to write process programs, we need the appropriate language features” The breadth of process modeling • • • • • Programming models-process programming Functional models-HFSP Plan-based models-GRAPPLE Petri-net models-role interaction nets Quantitative models-system dynamics. • Programming models: - Osterweil “software processes are software, too” - process descriptions can be modeled as algorithms and can be analyzed accordingly. - Examples: APPL/A, Aspen - APPL/A provides both procedural and declarative capabilities so it is also supports multiple representational paradigms. • Functional models: - The Hierarchical and Functional Software Process (HFSP) description and enact ion language was developed by Katayama and his colleagues. Its goals are: 1. aid process understanding 2. support hierarchical process decomposition 3. describe concurrent processes and backtracking 4.provide a flexible and dynamic execution mechanism • Plan based models: - Huff and Lesser argue that modeling process execution in the real world is difficult because of all the contingencies that must be considered (Do you agree) - Example: GRAPPLE which has emerged from artificial intelligence research. It models SW development as a set of goals, sub goals, preconditions, constraints, and effects. - Requires the ability of the designer to code the knowledge about the environment. • Petri-Net Models: - The structure of roles and their interaction. - Analto Holt’s work in applying Petri nets to modeling coordination in the work place - Example: RADDLE - this kind of models are highly used in commercial products. - This model of coordination among role structure is difficult to use if an organization did not give basic description for its process • Quantitative Models: - Example: system dynamic, which applies feedback and control system techniques to social and industrial phenomena - When applied to project, it improved the productivity and reduced the cost by providing a feedback and dynamic system that responds to changes. Issues in process Modeling • Formality depend on the purpose served by the process model and the agent. That is, process programs enacted by machine should be quite formal, while the ones performed by humans may require less formality. • Granularity and Precision It involves the process elements represented in the model and the degree to which a defined process specifies all the process steps needed to produce accurate results • Scriptiveness and Fitness - Fitness: the degree to which the agents performing the process can faithfully follow the process steps it specifies. 1. prescriptive modeling Implies the process should be performed a particular way 2. descriptive modeling try to determine the actual processes currently used to get work done 3. prospective modeling delineate behavior that is not allowed Referances • 1. Bill Curtis, Marc I. Kellner and Jim Over Process Modeling. 1992/vol. 35, No. 9./communications of the ACM.