Report on: Workshop on Process Modeling Technologies Lee Osterweil University of Massachusetts Sue Koolmanojwong USC-CSSE.

Slides:



Advertisements
Similar presentations
Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., All rights reserved Armstrong Process Group,
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Department of Computer Science Key UMass Amherst Resources for SERC Collaboration Leon J. Osterweil Lori A. Clarke
® IBM Software Group © 2014 IBM Corporation Innovation for a smarter planet MBSE for Complex Systems Development Dr. Bruce Powel Douglass, Ph.D. Chief.
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE1 LiGuo Huang Computer Science Department.
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
Department of Computer Science and Engineering Southern Methodist University 03/17/081 LiGuo Huang Department of Computer Science.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
® IBM Software Group © 2007 IBM Corporation Modeling Software Engineering Processes using Eclipse Process Framework Composer (EPFC) / Rational Method Composer.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 3/18/08 (Systems and) Software Process Dynamics Ray Madachy USC.
Copyright L. Osterweil, all rights reserved USC CSSE 17 March 2008 The Little-JIL Process Definition Language Leon J. Osterweil Lab.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
1 SWE Introduction to Software Engineering Lecture 5.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
SwE 313 Introduction to Rational Unified Process (RUP)
Iterative development and The Unified process
SE 555 – Software Requirements & Specifications Introduction
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
SE 555 Software Requirements & Specification Requirements Analysis.
Using the Essential Unified Process with Visual Studio Team System Ian Spence and Craig Lucia.
Architecture Description Markup Language (ADML) What does it mean? Why should a tools vendor care?
Object Oriented Analysis and Design Using the UML
Enterprise Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Efficient BI Solution Presented by: Leo Khaskin, PowerCubes Lab Value of Information as Business Asset.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
Requirements Expression and Modelling
Twelfth Lecture Hour 10:30 – 11:20 am, Saturday, September 15 Software Management Disciplines Project Organization and Responsibilities (from Part III,
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
Chapter 1 Information Management In A Global Economy.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
L ECTURE 1 Introduction Getting started with software engineering.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Systems Development Process and Methodologies Dr. T. Ravichandran.
Process 4 Hours.
Introduction to Eclipse Process Framework: EPF Composer and OpenUP
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software engineering -1
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

Report on: Workshop on Process Modeling Technologies Lee Osterweil University of Massachusetts Sue Koolmanojwong USC-CSSE

Problem: How to Sort Through a Profusion of Approaches to Software Process?

Monday’s Workshop Presentation of four approaches Discussion of how to sort through the alternatives

Phase 1: Presentation of Four Different Technologies Eclipse Process Framework Composer (EPFC) / Rational Method Composer System Dynamics Object Petri-Nets Little-JIL

Modeling Software Engineering Processes using Eclipse Process Framework Composer (EPFC) / Rational Method Composer (RMC) Molly Phongpaibul, Sue Koolmanojwong March 17, 2008

Professional Desires: - Simplicity - Templates - Examples - Guidance Who Uses EPFC/RMC? Process Author Produces: - Base methods - Plug ins Management Requires: - Realistic consistency - Viable governance - Improved ROI Service Provider Provides: - Training - Consulting - Mentoring - Adoption services Wants to: - Build tools - Sell tools - Sell services Tool Provider Needs: - Teachable material - Teach process development - Use in student projects - Bring research to mainstream Academia Process Coach Performs: - Tailoring - Publishing - Support - Training Source:

Process Representation

Process Elements Representation

Form-based Editor

One Key advantage: Scalability Method content repository approximately contains –100s Work products –30-50 roles –1,000+ tasks –Around 100 delivery processes Commercial Extension Company Proprietary Extension RUP OpenSourcePractices IBM Global Services

Other Advantages Reusability Compatibility Universality

Modeling System and Software Engineering Processes with System Dynamics Ray Madachy USC Center for Systems and Software Engineering Annual Research Review March 17, 2008

System Dynamics Notation System represented by x’(t)= f(x,p). x: vector of levels (state variables), p: set of parameters Legend: Example system:

Dynamic ODC COQUALMO Portion Portion for Requirements Completeness defects only:

Dynamic ODC COQUALMO Sample Outputs Example of applying increased V&V for Execution Testing and Tools at 18 months:

Some Advantages Rests on established, respected work –Jay Forrester (1950s) Is a Macro approach Can address the highest level issues Yields nice analytic answers

System Diagram

03/17/0818 LiGuo Huang Department of Computer Science & Engineering Southern Methodist University Modeling Value-Based Process with Object Petri-Nets

03/17/0819 VBSQA-OPN System Net – VBSQA Process Framework

03/17/0820 Developer’s Object Net System Acquirer’s Object Net VBSQA-OPN Object Nets – Stakeholders ’ Process Instances

03/17/0821 VBSQA Process Generator – Based on VBSQA-OPN Model

03/17/0822 VBSQA Process Simulator – ROI of Synchronous Stakeholder Interaction Activities DIMS Top-Priority Q-attributes: Performance, Evolvability

Some Advantages Petri Nets have interesting well-defined properties Coordination of different views –Separation of concerns Graphical notation Particularly useful for concurrency

The Little-JIL Process Definition Language Leon J. Osterweil Lab. For Advanced SE Research University of Massachusetts USC Center for Software and Systems Engineering 17 March 2008

The “Step” is the central Little- JIL abstraction TheStepName Interface Badge (parameters, resources, agent) Prerequisite Badge Postrequisite Badge Substep sequencing Handlers X Artifact flows Exception type continuation

Trivial Example Elaboration of Design Step

Little-JIL Environment Architecture Process Definition Various Editors Resources Definition Artifacts Definition Execution Engine (Juliette) Agents Agendas Coordination Structure Resource Repository Artifact Repository Agenda Manager Analyzers Properties Flavers Simulator Fault Tree Analyzer User Interface Manager Process Programmer

Some Advantages Broad semantics Precise semantics Analysis Growing toolset

Phase 2: What to Make of All of This?

What to Make of All This? Which is good for what? What are we missing? What needs are not covered? Can we compare and contrast? Can we combine best features?

A Classification and Comparison Framework for Software Architecture Description Languages by Medvidovic and Taylor as a model? Comparison of Software Architecture technologies Technologies are rows Features are columns Lots of work to fill in the entries

The paper by Taylor and Medvidovic as a model? Comparison of Software Architecture technologies Technologies are rows Features are columns Lots of work to fill in the entries Can we do something like that for Process modeling technologies?

A Possible Approach What should we be doing? –What goals do stakeholders have? –Columns of a matrix (??) What are we currently doing? –What do we say our goals are? What are we really doing? –What do our technologies address? –Rows of a matrix (??)

Process Stakeholders Process performer Process engineer Manager Customer End user Educator/trainer Tool provider Researcher Union representative Regulator Standardizer (e.g. OMG) Domain specific stakeholder …….. MORE?

Stakeholder Goals for Process Technology Ambiguity tolerance Analysis Automation Compliance Composability Cost effectiveness / save money Coverage Efficiency Evolvability Implementability / doable Interchangability Learnability Maintainability manager’s satisfaction Marketability Minimum cost of the product No job loss Non-interference (with other standards) Optimal time of the product / speed Precision Prepare negotiation stance Process analysis Process management Profit Purpose fulfillment Quality Reasoning Reinvention Repeatability Reusability Risk mitigation Satisfiability Satisfy high value stakeholders Scalability Tailorability Teachability Understandability Usability Verifiability/ conformance Work rule MORE

Goals Technologies seem to be addressing Comprehension Coordination Automation Education and training Continuous improvement Deep understanding Planning and control Reinvention Strategic management Communication Standardization Analysis Risk mitigation Agility These don’t match the previous list very well

First Attempt to Structure and Organize the Goals Survey some example stakeholder communities Top level goals Some decomposition into subgoals

Goals for Researchers, Educators Understanding, comprehension –Understanding, comprehension –Education –Training –Dissemination –Radical reinvention Improvement –Of workforce More (,) better workers Better management Better resource allocation –Of process itself Faster, better, cheaper –Of product More better ilities in the product

Possible Research roadmap Refine and organize list of goals Turn it into a list of desired capabilities –The columns of a matrix Identify a list of technologies –The four presented here are only a start –Some come from other disciplines E.g. business process, workflow, service architecture Study which technologies do what well Identify gaps in coverage Suggest syntheses

Something for CSSE to Lead?