Software, Process, Business Process and Software Process



Similar documents
Modeling Coordination as Resource Flow: An Object-Based Approach

Hybrid Development Methodology for Client-Server Applications

Software Engineering

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

7. Classification. Business value. Structuring (repetition) Automation. Classification (after Leymann/Roller) Automation.

Stock Trader System. Architecture Description

Semarchy Convergence for MDM The Next Generation Evolutionary MDM Platform

Introduction to Workflow

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Introduction to Embedded Systems. Software Update Problem

Chap 1. Introduction to Software Architecture

SOFTWARE DESIGN TECHNIQUES. Nagalaxmi Telkar CSCI 5828 Presentation Slides

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Supporting Workflow Overview. CSC532 Fall06

Process Diagram Technique for Business Processes Modeling

Dynamic Load Balancing in Charm++ Abhinav S Bhatele Parallel Programming Lab, UIUC

WebSphere Business Modeler

Meister Going Beyond Maven

Karunya University Dept. of Information Technology

Business Process Modeling Information Systems in Industry ( )

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Automotive System and Software Architecture

Chapter 3 Simulation Software. Simulation Modeling and Analysis Chapter 3 Simulation Software Slide 1 of 13

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

The Model Checker SPIN

Load DynamiX Storage Performance Validation: Fundamental to your Change Management Process

An Introduction to Software Engineering

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

The Workflow Management Coalition Specification Workflow Management Coalition Terminology & Glossary

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Industrial Adoption of Automatically Extracted GUI Models for Testing

Performance testing Web 2.0

Web Application Architectures

Introduction to Software Engineering. 9. Project Management

Solutions for Quality Management in a Agile and Mobile World

What is a life cycle model?

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville

Software Architecture

Keywords: Regression testing, database applications, and impact analysis. Abstract. 1 Introduction

Compliance and Requirement Traceability for SysML v.1.0a

Software Design Document (SDD) Template

Software Life-Cycle Management

Topics covered. An Introduction to Software Engineering. FAQs about software engineering Professional and ethical responsibility

Making Business Rules operational. Knut Hinkelmann

Copyright Soleran, Inc. esalestrack On-Demand CRM. Trademarks and all rights reserved. esalestrack is a Soleran product Privacy Statement

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

Software Quality Factors OOA, OOD, and OOP Object-oriented techniques enhance key external and internal software quality factors, e.g., 1. External (v

Using UML Part Two Behavioral Modeling Diagrams

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

SOFTWARE TESTING. A Craftsmcm's Approach THIRD EDITION. Paul C. Jorgensen. Auerbach Publications. Taylor &. Francis Croup. Boca Raton New York

Evading Android Emulator

The Role of the Software Architect

An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.

Umbrella: A New Component-Based Software Development Model

æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.

ALL-FLASH STORAGE ARRAY. A Hyper-Converged Infrastructure for High I/O Applications and Virtual Desktops

Business Process Modeling

Chapter 4 Software Lifecycle and Performance Analysis

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1

Time Monitoring Tool Software Development Plan. Version <1.1>

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville

PROJECT TIME MANAGEMENT

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

COURSE OUTLINE. Track 1 Advanced Data Modeling, Analysis and Design

Implementation Aspects of OO-Languages

Building a virtual marketplace for software development tasks

An Introduction to Software Engineering

specifications 15. Approaches to constructing The outline of this part:

Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes

IBM Rational DOORS Next Generation

Software Engineering talk

Use Cases for Target Management Eclipse DSDP-Target Management Project

Layered Approach to Development of OO War Game Models Using DEVS Framework

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

REQUIREMENTS FOR THE WORKFLOW-BASED SUPPORT OF RELEASE MANAGEMENT PROCESSES IN THE AUTOMOTIVE SECTOR

Aerospace Software Engineering

General Problem Solving Model. Software Development Methodology. Chapter 2A

Performance Testing Uncovered

Managing Agile Projects in TestTrack GUIDE

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Axiomatic design of software systems

Eclipse Visualization and Performance Monitoring

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

Cray: Enabling Real-Time Discovery in Big Data

>

CMSC 435: Software Engineering Course overview. Topics covered today

Transcription:

Software, Process, Business Process and Software Process Tao Xie Research work was done while being a summer intern at Software Technology Research Department Avaya Labs Research

Outline Process Conceptual Framework Software & Process Business Process & Software Process Process Program Design PASTA Process Modeling & Automation Conclusions 2

Background Leon J. Osterweil, Software Processes are Software Too, ICSE 9 (Awarded as Most Influential Paper 10 years later) Software Software Process Our approach: Business Process Software Process Software Process Using PASTA (Process and Artifact State Transition Abstraction) to model and automate FAST (Family-Oriented Abstraction, Specification, and Translation) SARB (Software Architecture Review Board) Business Processes (workflow) 3

Process Conceptual Framework Role Work On (Manual) Activity Control flow (Automated) Activity Data flow Artifact Data flow Process Abstraction 4

Software and Process Method/ Component (Manual) Activity Role I/O Work On Software, Process, Business Process and Software Process Method Call/ Connector Control flow Control flow in the end of method; Continuation Concurrency Data flow and control flow are relatively independent Method/ Component (Automated) Activity Data flow Data flow Inter-procedural dataflow Process Abstraction Artifact Data variable / Data structure 5

Process Program vs. Conventional Program High flexibility and customizability Process flow (control flow) is explicitly defined and enforced. Process flow instance (artifact instances) are explicitly distinguished and maintained automatically Process Automation Process Modeling Model Process Enactment Process-Centered Environment Process Modeling Tools Build time Model Process Flow Engine Runtime 6

Business Process vs. Software Process More iterations Higher organization flexibility More non-intrusive support More complex artifacts Different process instances need modification of process Few concurrent multiple process instances Artifact instance version control 7

Process Correctness Software, Process, Business Process and Software Process Are we building the right process? Are we building the process right? Are we building the process the participants are willing to follow? Process Definition Process Enactment 8

Modeling Language Design Principles Expressiveness vs. usability Activity decomposition Process vs. control abstraction Control flow Event-based vs. state-based Data flow Param passing vs. Artifact association 9

Process Design Principles Software, Process, Business Process and Software Process Guidance vs. non-intrusiveness Control constraints among activities Process abstraction level Artifact representation option Incremental top-down vs. bottom-up Information hiding- artifact abstraction Process evaluation Process language & process 10

More on Process Design Software, Process, Business Process and Software Process Modeling is Not Enough Model checking/analysis Process enactment or simulation Support What Can Be Supported Preparation meeting Different forms of software artifacts - Integrator 11

PASTA (Process and Artifact State Transition Abstraction) Role (S) Process/Activity (V) Artifact (O) 12

PASTA Conceptual Framework Role in hierarchy GUI Form Artifact Role list for P-state Entrance Cond P-state (fill) Exit Cond State-of(A) = empty State-of(A) = filled Entrance Exit Cond Cond P-state (check) State-of(A) = filled State-of(A) = checked Artifact List for P-state Artifact A Referenced Artifact List for P-state empty fill filled check A-state machine checked 13

P-State Machine -> Petri Net Software, Process, Business Process and Software Process state-of(economic_model)=referenced. A-state as place Domain_Engineer Gather_Data Operation as transition state-of(economic_model)=started Role as triggering of transition Domain_Manager Analyze_Data state-of(economic_model)=reviewed Domain_Manager Reject Accept Domain_Manager state-of(family_artifact:1)=domain_rejected state-of(family_artifact:1)=domain_qualified 14

SARB PASTA Role Hierarchy 15

SARB PASTA Artifact Hierarchy 16

SARB PASTA Artifact State Machine 17

SARB PASTA P-state Hierarchy 18

SARB PASTA P-state Machine 19

Analogy between PASTA and Software PASTA Process Traditional Software P-state P-state hierarchy Artifact Artifact hierarchy Artifact-state (control state) Component/Subsystem/Method System decomposition hierarchy Data variable/data structure Data structure hierarchy Actual value of data variable P-state machine Transition in P-state machine A-state machine Petri-Net like executable state transition abstraction Runtime dynamic state transition Software architecture with different scope and abstraction Connector in architecture/ Method call between methods Inter-procedural program slicing for certain data variable Static function call graph Dynamic function call graph 20

PASTA Main System Components 21

PASTA Agent GUI 22

Conclusion Software and Process Process Program and Conventional Program Business Process and Software Process Process Program Design PASTA Modeling and Automation 23