410 likes | 516 Views
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
E N D
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
Produces: - Base methods - Plug ins Requires: - Realistic consistency - Viable governance - Improved ROI Process Author Management Performs: - Tailoring - Publishing - Support - Training Provides: - Training - Consulting - Mentoring - Adoption services Service Provider Process Coach Needs: - Teachable material - Teach process development - Use in student projects - Bring research to mainstream Wants to: - Build tools - Sell tools - Sell services Professional Tool Provider Academia Who Uses EPFC/RMC? Desires: - Simplicity - Templates - Examples - Guidance Source: www.eclipse.org/epf
One Key advantage: Scalability Company Proprietary Extension • Method content repository approximately contains • 100s Work products • 30-50 roles • 1,000+ tasks • Around 100 delivery processes Commercial Extension Open Source Practices RUP 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 madachy@usc.edu 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
Modeling Value-Based Process with Object Petri-Nets LiGuo Huang lghuang@engr.smu.edu Department of Computer Science & Engineering Southern Methodist University 03/17/08 18
VBSQA-OPN System Net– VBSQA Process Framework 03/17/08 19
VBSQA-OPN Object Nets– Stakeholders’ Process Instances Developer’s Object Net System Acquirer’s Object Net 03/17/08 20
VBSQA Process Generator– Based on VBSQA-OPN Model 03/17/08 21
VBSQA Process Simulator– ROI of Synchronous Stakeholder Interaction Activities DIMS Top-Priority Q-attributes: Performance, Evolvability 03/17/08 22
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 (ljo@cs.umass.edu) 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 Interface Badge (parameters, resources, agent) Prerequisite Badge Postrequisite Badge TheStepName X Handlers Substep sequencing Exception type Artifact flows continuation
Little-JIL Environment Architecture Analyzers Process Programmer Flavers Properties Fault Tree Analyzer Simulator Process Definition Coordination Structure Resources Definition Execution Engine (Juliette) Various Editors Resource Repository Agenda Manager Artifacts Definition Artifact Repository Agendas User Interface Manager Agents
Some Advantages • Broad semantics • Precise semantics • Analysis • Growing toolset
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 Languagesby 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 MORE 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
Goals Technologies seem to be addressing These don’t match the previous list very well Comprehension Coordination Automation Education and training Continuous improvement Deep understanding Planning and control Reinvention Strategic management Communication Standardization Analysis Risk mitigation Agility
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