From Software Process to Workflow Process: the Workflow Lifecycle



Similar documents
Enterprise Integration: operational models of business processes and workflow systems *

From Object Oriented Conceptual Modeling to Automated Programming in Java

Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development

Challenges and Opportunities for formal specifications in Service Oriented Architectures

The Service Revolution software engineering without programming languages

Linking Object-Oriented Conceptual Modeling with Object-Oriented Implementation in Java

SERENITY Pattern-based Software Development Life-Cycle

How To Understand The Difference Between Business Process And Process Model In Java.Java.Org (Programming)

A Tool to Support Knowledge Based Software Maintenance: The Software Service Bay

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

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Title: Topic 3 Software process models (Topic03 Slide 1).

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

ForeverSOA: Towards the Maintenance of Service Oriented Software

The value of modeling

Generating Aspect Code from UML Models

1 Introduction. 2 The need for Engineering Workflow. 3 Example engineering workflow -3- NLR-TP

A Reference Model for Process-Oriented Software Development Organizations

To introduce software process models To describe three generic process models and when they may be used

An Automated Workflow System Geared Towards Consumer Goods and Services Companies

Some Methodological Clues for Defining a Unified Enterprise Modelling Language

Open S-BPM: Goals and Architecture

Business Process Modeling and Standardization

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

Mapping from Business Processes to Requirements Specification

Multi-Paradigm Process Management

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

A METHOD FOR REWRITING LEGACY SYSTEMS USING BUSINESS PROCESS MANAGEMENT TECHNOLOGY

Process Automation in Semiconductor Manufacturing: Issues and Solutions

The Design of an Agent-Based Production Scheduling Software Framework for Improving Planning-Scheduling Collaboration

Software Engineering Tools and Methods

Requirements Traceability. Mirka Palo

SOPLE-DE: An Approach to Design Service-Oriented Product Line Architectures

Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams

An Integrated Collection of Tools for Continuously Improving the Processes by Which Health Care is Delivered: A Tool Report

Chap 1. Introduction to Software Architecture

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

Software are Processes Too

Towards Collaborative Requirements Engineering Tool for ERP product customization

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

Business Process and Regulations Compliance Management Technology

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Turning Emergency Plans into Executable

THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE TECHNOLOGY AND ENVIRONMENTAL STUDIES BACHELOR OF SIENCE IN DATA MANAGEMENT

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Software Service Engineering Architect s Dream or Developer s Nightmare?

Informe Técnico / Technical Report

CS 565 Business Process & Workflow Management Systems

SOA Enabled Workflow Modernization

A Framework of Context-Sensitive Visualization for User-Centered Interactive Systems

Applying MDA and universal data models for data warehouse modeling

Chapter 4 Software Lifecycle and Performance Analysis

Workflow Access Control from a Business Perspective

The Role of Controlled Experiments in Software Engineering Research

Aspect Oriented Strategy to model the Examination Management Systems

A Comparison of SOA Methodologies Analysis & Design Phases

1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2

A Framework for Adaptive Process Modeling and Execution (FAME)

Cooperative Learning Method Based On Game Design and Visual Object Oriented Environment to Teach Object Oriented Programming Course

Using Provenance to Improve Workflow Design

Business Process Management Enabled by SOA

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development

A UML 2 Profile for Business Process Modelling *

Umbrella: A New Component-Based Software Development Model

GREAT Process Modeller user manual

Analysis and Implementation of Workflowbased Supply Chain Management System

Business Analyst Interview Questions And Answers

Incorporating database systems into a secure software development methodology

Nr.: Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg

Modeling the User Interface of Web Applications with UML

Business Process Management A Balance Between Process Efficiency & Business Agility

Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object

An Integrated Methodology for Implementing ERP Systems

Integration of Application Business Logic and Business Rules with DSL and AOP

Agile Techniques for Object Databases

A Multidatabase System as 4-Tiered Client-Server Distributed Heterogeneous Database System

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

A Model-Based Interface Development Environment

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Axiomatic design of software systems

Interoperability Challenges of ERP Implementation in a Collaborative Manufacturing Environment. Yongsheng Ma 1, a

A Framework for Database Evolution Management

TOWARDS AN AUTOMATED EVALUATION PROCESS FOR SOFTWARE ARCHITECTURES

Dynamic Project and Workflow Management for Design Processes in Chemical Engineering

A Contribution to Expert Decision-based Virtual Product Development

Healthcare, transportation,

Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment

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

An Agent-Based Concept for Problem Management Systems to Enhance Reliability

A Tool for Generating Partition Schedules of Multiprocessor Systems

Designing a Semantic Repository

Sistemi ICT per il Business Networking

Software engineering self-adaptive web-based information systems - Current research topics

Weighted Total Mark. Weighted Exam Mark

Process Mutation Models of Agile Project Management Methodologies

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

A Software process engineering course

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Transcription:

From Software Process to Workflow Process: the Workflow Lifecycle José H. Canós, Mª Carmen Penadés and José Á. Carsí Departament de Sistemes Informàtics i Computació Universitat Politècnica de València Camí de Vera s/n E-46071 València (Spain) {jhcanos mpenades pcarsi}@dsic.upv.es Abstract Despite the great effort devoted to the development of Workflow models and Workflow Management Systems during the last decade, a strong foundation about workflow development is still to come. Assuming that a workflow is a complex software product, in this paper we argue that the principles and techniques of software development in particular, methodological concerns can help in the development of high quality workflows. A unified view of the Workflow development process the Workflow Lifecycle is presented. Finally, we mention some topics coming from the Software Engineering field that may play a key role in the improvement of the Workflow Process. Keywords: Workflow Management Systems; Workflow Process; Software Engineering; Workflow Lifecycle. 1. Introduction and motivation Workflow Management Systems (MSs) are complex, large software systems that allow users to define, manage and execute workflows (). They provide support in three main functional areas, namely build-time, run-time control and run-time interactions [1]. Build-time features involve definition according to a meta-model including notions such as process, activity, task, actor, etc. Run-time control and interaction functionality consists of generating an executable version of the and supporting the execution of instances, including communication with external users and invoked applications as well as access to the process data usually stored in an external database management system (DBMS). In addition, some MSs provide prototyping and analysis of executions [2], the former to check specification and Business Process (BP) model semantics, and the latter to support debugging and BP reengineering (BPR). Most of the work done so far in the field has been tool-oriented and technological in nature; the main goal has been during years the definition and development of MS including models, modeling languages, execution environments, etc.; this effort has reached a reasonable success, with a number of both research prototypes and commercial systems currently available [3]. However, from our point of view, a strong foundation about development is still to come. As pointed out in [4], methodological issues have received little attention, and developers often have to face the problem of development with neither a methodological support nor a global view of the process. Quoting Osterweil s words, (...) the importance of orderly and systematic processes as the basis for assuring the quality of products and improving productivity in developing them (...) I was starting to see the creation of a software process 1

universe parallel to the universe of notions and tools surrounding application software development. The more I looked, the more similarities I saw. (...) Thus it seemed important to suggest that software process technology might not need to be invented from scratch (or reinvented), but that much of it might be borrowed from application software technology. ([5], page 1). These statements, originally referring to Software Processes (SP), can be applied to as well. Software Engineering (SE) research has been during years looking for methods, procedures and tools to develop quality software products; as a matter of fact, many topics have emerged which have become research areas themselves (analysis and design methodologies, project management, quality assurance, evolution, etc.). But wrapping all them a key concept governs all the SE practice: the software lifecycle (or, in a broader sense, the SP) understood as the systematic and time ordered application of different SE techniques. Assuming that a is a complex software product, in this position paper we introduce the Lifecycle (section 2) as the seed of an interesting research line that might be called the Process (P) by analogy with the notion of SP introduced years ago. The study of the P will undoubtedly lead to borrow methods, procedures and even tools from SE in order to build correct, complete and efficient ; some of them are outlined in section 3. 2. The Workflow Lifecycle A is a complex software product; during its development, all the activities mentioned above have to be performed in a given order. The Workflow Lifecycle (LC) defines both the way in which the different activities involved in the development and use of are ordered in time (the control or process flow), and the input and output of each activity (the information flow). It comprises three main processes: 1. Construction and stabilization (steps 2 and 3 of figure 1): starting from a business model (BM) produced at the BP Analysis phase 1, a (graphical) language is used to model the workflow using concepts such as process, activity, task, etc.; as it occurs with any software product, the construction process is not error free, so it is desirable to have means to detect errors prior to any further step; an iterative prototyping process permits to simulate executions in order to detect and correct specification mistakes, making the as close as possible to the BP model. 2. Debugging (steps 4, 5, 6 and 7 of figure 1): once a stable version of the BP is available as a specification, a full-featured, operational version is generated by mapping modeling concepts into an executable representation. As a result of the execution or enactment of the a log is created (Exec log) which collects information about the process execution (e.g., tasks executed, starting and ending of tasks execution, resources used, etc.) that can be analyzed a posteriori ( Analysis) in order to detect anomalous situations (deadlocks, bottlenecks, etc.) derived from a bad design; once an anomaly is detected, a revision of the model must be performed, i.e. a new stabilization process must be carried-out. Note that 2

(3) prototyping BP Analysis (1) (2) modeling (4) Business Model model implementation (7) (5) executable (9) enactment BPR (8) Analysis (6) Process flow Information flow Figure 1. The Workflow Lifecycle Exec Log the BP model remains fixed during all this process: the purpose of the debugging process is to improve the quality of the design only. 3. Business process reengineering: apart from -related data, the Exec log may also contain business-related data recorded during the enactment phase. Those data are used in order to check the adequacy of the BP model to the goals of the organization. If this is not the case, a revision of the BP model is mandatory. The BPR phase leads to the BP analysis, where the BP model is revised. The updated model is the starting point of a new iteration of the processes of stabilization and debugging. This process corresponds to steps 8, 9 and 1 in figure 1. 1 the separation between BP analysis and modeling is deliberate: the business model may already exist at the time a company decides to use a MS; however, if it is not the case, the BP Analysis and modeling phases could be drawn as a single one 3

This LC is inspired by the prototyping-based software lifecycle approach [6]. It represents an iterative process in which stages different methods and tools may be used. In the following section we enumerate some of them which can be taken from SE current practice. 3. The Software Engineering contributions to the Workflow Lifecycle As mentioned earlier, SE methods and tools can play a key role in the improvement of the P. From our experience in the last decade, we suggest now a number of SE topics whose application to development can result in a better P. Formal specification techniques. The use or formal specification languages in the early phases of the lifecycle allows rapid prototyping of requirements specifications and the early detection of analysis errors [7]; the operational semantics of such languages provide executablity to the specifications, having prototypes at low cost. Graphical specifications may be automatically translated to equivalent formal specifications which are animated in the prototyping phase of the LC, provided that the underlying formal model has the expressiveness needed to support concepts. Object-Oriented technology. The adoption of object-oriented (OO) technology in all the phases of the software lifecycle has proven to be very successful in the development of conventional software as developers handle a unique model during all the lifecycle. This reduces impedance mismatches between the different models used in the phases of modeling and enactment, and in the external DBMS. Moreover, the know-how acquired through the use of OO requirement analysis techniques (scenarios, use cases, etc.) may help BP analysts in the requirements elicitation process. Automatic code generation. A number of tools providing automatic code generation from requirements specifications are currently available. For instance, in OO-Method Case [8], a formal OO specification in OASIS is generated from a set of graphical models, and later an automatic process generates executable applications in C++, Java and other programming languages; persistence is provided by a relational DBMS. A formal, OO modeling language would enable the automatic generation of enactable models written in programming languages. Then, standard static and dynamic program analysis techniques [9] could be used to improve the quality of the models. Metalevel constructs and evolution. Many efforts have been devoted to cope with the problem of evolution in the fields of SE and the SP. Among them, those based in the dynamic evolution of meta-models [10,11,12] are of particular interest, due to the fact that a similar approach may be taken to define an evolvable meta-model whose dynamic properties must include support to both structural and behavioral consistency. 4. Conclusions and future work In this paper we have pointed out that Software Engineering and Software Process concepts can be applied to development in order to build better products. In particular, a unified view of the activities related with management has been introduced. The definition of the lifecycle as the composition of three main processes (namely construction and stabilization, debugging and business process reengineering) subsuming the well known 4

tasks of modeling and enactment plus prototyping and analysis is the first step in the development of new frameworks for development. Future work include the definition of a homogeneous model to be used along the whole LC in order to improve the traceability of specifications and reduce impedance mismatches. Moreover, this model should be expressive enough to integrate evolution aspects in a seamless way. 5. References [1] D. Hollingsworth. The Workflow Reference Model, Workflow Management Coalition, TC00-1003, December, 1994. [2] Geppert, A. and Tombros, D., Logging and Post-Mortem Analysis of Workflow Executions based on Event Histories. Proc. 3rd Intl. Conf. on Rules in Database Systems (RIDS), LNCS 1312, Springer Verlag, Heidelberg, Germany, pages 67-82, 1997. [3] Alonso, G., et al., Functionality and Limitations of Current Workflow Management Systems. IEEE Expert 12(5): 0- (1997). [4] Sheth, A. et al., Report from the NSF Workshop on workflow and Process Automation in Information Systems. Computer Science Department Technical Report, UGA-CS-TR-96-003, University of Georgia, October 1996. Available at http://lsdis.cs.uga.edu/activities/nsf-workflow/final-report.ps [5] Osterweil, L.J., Software Processes Are Software Too, Revisited. Proceedings of the Nineteenth International Conference on Software Engineering (ICSE 1997), pp. 540-548, May 17-23, 1997, Boston, MA. [6] Pressman, R., Software Engineering: a Practitioner s Approach,4 th edition. McGraw-Hill, 1997. [7] Balzer, R., et al., Software Technology in the 1990's: Using a New Paradigm, IEEE Computer, Nov. 1983, pp. 39-45. [8] Pastor,O.;Insfran,E. ;Pelechano,V. ;García,J. From Object Oriented Conceptual Modeling to Automated Programming in Java. Proc. of the Intl. Conference on Conceptual Modeling-ER 98. LNCS 1507, Springer- Verlag, 1998, pp. 183-197. [9] Marick, B., The Craft of Software Testing, Prentice Hall, 1995. [10] Warboys, B. (ed.), Meta-Process. In Derniame, J.C. el al. (ed.), Software Process: Principles, Methodology, and Technology, LNCS 1500, Springer-Verlag, 1998, Chapter 4. [11] Tresh M., Scholl M., Meta object management and its applications to database evolution. Proc. of the 11 th International Conference on the Entity-Relationship Approach, LNCS, Springer-Verlag, 1992. [12] Carsí J.A., et al, A DOOD System for Treating the Schema Evolution Problem, EDBT'98 Demo Session, VI Intl. Conference on Extending Database Technology, Valencia, March 1998. 5