Wenn Rules Prozesse malen

Similar documents
Sitecore Projects with GatherContent

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

JSR 358 Progress Report. June 11, 2013

Trello is a task and project management tool that s comprised of Boards, Lists, and Cards.

OODP Session 4. Web Page: Visiting Hours: Tuesday 17:00 to 19:00

Order Template Maintenance

The SD-WAN security guide

Prof. Jacques Pasquier

Bachelor s Thesis: Conceptualization and Implementation of a Rule-based Workbench for Textual Pattern Annotation

Doc. N. W4S-Drms

S1 Informatic Engineering

EGF Tutorial. Benoît Langlois Thales/EPM. EGF Tutorial by Thales; made available under the EPL v1.0

SE 1: Software Requirements Specification and Analysis

CQMS-MetricStream Responding to CAR Short Term and Long Term

Drive Traffic to your Store

Jan-Henrik Tiedemann IEC Community Manager. SESKO-IEC Training Workshop Helsinki, September 2017 INTERNATIONAL ELECTROTECHNICAL COMMISSION

The Experience of Prototyping. Jennifer Kalz, CBAP, CUA, CSM March 28, 2017

Enabling of AUTOSAR system design using Eclipse-based tooling

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Java Framework for Database-Centric Web Site Engineering

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1

The Process of Software Architecting

Chamberlin and Boyce - SEQUEL: A Structured English Query Language

Chapter 2 Web Development Overview

Systems software design

to pay for it) has been waning. The Internet further changed the game.

Software Engineering with Objects and Components Open Issues and Course Summary

The etrice Eclipse Project Proposal

JAVA An overview for C++ programmers

project in an industrial context

Prototyping. Readings: Dix et al: Chapter 5.8 Marc Rettig: Prototyping for tiny fingers, Communications of the ACM, April 1994.

Appending Variable-Structure to Modelica Models (WIP)

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45

NGMN Broadcast and Multicast Support

C++11: 10 Features You Should be Using. Gordon R&D Runtime Engineer Codeplay Software Ltd.

Introduction to EGF. Benoît Langlois / Thales Global Services.

Requirements Validation and Negotiation

Cosmology with python: Beginner to Advanced in one week. Tiago Batalha de Castro

CISC 322 Software Architecture

Best Practices for. Membership Renewals

DIRECTV Message Board

Designing with OpenSCAD

Requirements Validation and Negotiation

On the link between Architectural Description Models and Modelica Analyses Models

IT Best Practices. Empower your users with the right apps and services to do their best work

USB2 DIGITAL PCTV AND MOVIE EDITOR

Generating system documentation augmented with traceability information, using a central XML-based repository

CONFIGURING SAFE V4.0 IN THE IBM COLLABORATIVE LIFECYCLE MANAGEMENT

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

LCG Inc. Using the LCG Template and Design Theme in Microsoft Office Executive Blvd. Suite 410 Rockville, MD

Seminar report Software reuse

DVT Eclipse IDE. My First Verilog/SystemVerilog Project

EGF Tutorial Reuse and Customization

Wireless Sensor Networks: From Science to Reality. Kay Römer ETH Zurich

SYSPRO s Fluid Interface Design

Alisdair Menzies Editing Manager. IEC Academy Geneva INTERNATIONAL ELECTROTECHNICAL COMMISSION

DIONE. (DAML Integrated Ontology Evolution Tools) Ontology Versioning in Semantic Web Applications. ISX Corporation Lehigh University

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Autodesk REVIT (Architecture) Mastering

Sequence Diagram Generation with Model Transformation Technology

HOW TO MODIFY AN ASSIGNED COURSE PLAN

GUI Program Organization. Sequential vs. Event-driven Programming. Sequential Programming. Outline

Intro Winter Semester 2016/17

Collaborative Ontology Construction using Template-based Wiki for Semantic Web Applications

A Simulator for high level Petri Nets: Model based design and implementation

Moving from FrameMaker to Blaze: Best Practices

METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE

FeatureIDE in a Nutshell

CPSC 213. Introduction to Computer Systems. Winter Session 2017, Term 2. Unit 1c Jan 24, 26, 29, 31, and Feb 2

Introduction to Dependable Systems: Meta-modeling and modeldriven

Language engineering and Domain Specific Languages

Bull Fast Track/PDW and Big Data

Platform-Independent UI Models: Extraction from UI Prototypes and rendering as W3C Web Components

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Design Patterns Reid Holmes

Design Patterns: Template Method, Strategy, State, Bridge

Eclipse 4 Eclipse Day Toulouse 24 mai 2012

Variability Modeling and Resolution in Component-based Robotics Systems

Why and How We Should Use Graphiti to Implement PCM Editors

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Element: Relations: Topology: no constraints.

Sharing - introduction

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1

A Tool for Managing Evolving Security Requirements

USER GUIDEBOOK FOR MODEL CONFIGURATION

Tutorial 1 Answers. Question 1

Introduction to MDE and Model Transformation

One Identity Manager Administration Guide for Connecting to SharePoint

One Identity Manager 8.0. Administration Guide for Connecting to Azure Active Directory

COURSE LISTING. Courses Listed. with ABAP Dialog Programming. 25 December 2017 (08:57 GMT) NW001 - SAP NetWeaver - Overview

Modeling variability with UML

Wire Templates. Enhanced Business Online Banking WIRE TEMPLATES PAGE 1

Software Design and Analysis for Engineers

GMF Tooling 3.0 Vision, Architecture, Roadmap

1: Introduction to Object (1)

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout

Extensible Graphical Editors for Palladio

Wireless Technology Supported by SMBs

Seng310 Lecture 8. Prototyping

Ownership in Design Patterns. Master's Thesis Final Presentation Stefan Nägeli

Transcription:

Erfahrungsbericht Wenn Rules Prozesse malen dominique.gueniat@swisscom.com 14. SI-SE Fachtagung Business Rules 24 25. Jan. 2008 Universität Zürich 18 Januar 2008, dominique.gueniat@swisscom.com

Agenda Background Idea & Vision Evolution of the Process Engine Summary 2

What is OMS Order Management Swisscom Full automation of business processes in the retail business of Swisscom. Processes cover administrative and technical aspects. Products Wired Line Access Broadband Services (xdsl) Bluewin TV DSL@Mobile VoIP 18 Januar 2008, dominique.gueniat@swisscom.com 3

OMS Architecture Overview 4

Agenda Background Idea & Vision Evolution of the Process Engine Summary 5

The normal way to develop processes 6

The Vision 7

The Human Process Fulfillment Algorithm Humans know Which steps Conditions for each step Dependencies between steps evaluate iteratively what to do react on changed conditions can obtain facts on demand There is no process which can t be fulfilled by humans 18 Januar 2008, dominique.gueniat@swisscom.com 8

Agenda Background Idea & Vision Evolution of the Process Engine Summary 9

Solution Concept I Provide process knowledge no need to define a process 10

Proof of Concept I 11

Rules for Example Process The rules define when to start which step 12

Problem 1: Loops Technical problem not a requirement 13

Problem 2: Dependencies Rules have to determine when to start a step 14

Conclusion: Concept I Failed Problems Hard to read business aspects Too many rules needed Just a complicated solution to implement a sequence Reason Solution Rules have two responsibilities Path Evaluation (select steps to perform) Execution Control (determine step to execute) Reduce rules to path evaluation Delegate execution control to a specific component 18 Januar 2008, dominique.gueniat@swisscom.com 15

Improved Algorithm / Concept II Rules determine the specific path for each order 16

Declarative Path Definition (Painting Tools) Requested Step Declared Step Predecessor Relation Must be performed Must not be performed Path Path declares Which Which steps steps to to perform When When each each step step is is allowed to to be be started started Path Path can can change with with every every iteration B can be started when A Requested && complete Declared && startable B inherits A s Predecessors 18 Januar 2008, dominique.gueniat@swisscom.com 17

Rules Output for Example Process Example Process All Possible Paths X > 10 No Message X 10 No Message X > 10 With Message X 10 With Message 18 Januar 2008, dominique.gueniat@swisscom.com 18

Proof of Concept II Rules document process requirements Rules are are simple to to write & understand Maximum flexibility 18 Januar 2008, dominique.gueniat@swisscom.com 19

Graphical Editor for Template Path Template rule is always fired Paints the template path Can be replaced by data model Edit using graphical editor The graphical editor is based on Eclipse GMF and has been realized as a master thesis in informatics in collaboration with the University of Fribourg See Graphical Aspect Model Editor 18 Januar 2008, dominique.gueniat@swisscom.com 20

Declarative Process Specification Mandatory Step Optional Step Predecessor Relation Must be performed for each process instance Must be performed in case the condition is true Condition will be tested by rule(s) B can be started when A Requested && complete Declared && startable B inherits A s Predecessors Specification documents requirements not not a solution No No translation of of requirements Very simple to to use use 18 Januar 2008, dominique.gueniat@swisscom.com 21

Declarative Specification of Example Imperative Declarative 22

Impact on Process Analysis Identify the the steps Ask Ask for for each step step? Must this this step step always be be performed Yes: Yes: Add Add mandatory step step No: No: Add Add optional step, define condition? Are Are there dependencies Yes: Yes: Add Add predecessor(s) Local analysis Less complex, less less error prone Changes are are simple Only Only one one language from from analysis until until implementation 18 Januar 2008, dominique.gueniat@swisscom.com 23

Vision and Reality We are closer to the vision than we expected 24

Agenda Background Idea & Vision Evolution of the Process Engine Summary 25

Pros and Cons + Think local, implement local, change local + Rules can can be be reused for for different processes + Linear complexity of of implementation to to the the requirements + One One language for for analysis, specification and and runtime + Almost as as flexible as as humans + Event handling + Error handling + Can Can obtain facts on on demand Not Not standards conform therefore obviously wrong 18 Januar 2008, dominique.gueniat@swisscom.com 26

All beginnings are difficult It s It s difficult to to define the the responsibility of of the the rules to to design the the facts to to realize that that it s it s difficult Design errors might lead lead to to the the wrong impression that that rules aren t suitable to to solve the the problem Which doesn t mean that that every problem can can be be solved by by rules Tip Tip Write rules first first Review rules critically (do (do you you like like them?) Ask Ask experts 18 Januar 2008, dominique.gueniat@swisscom.com 27

Conclusion Approved by Swisscom: >100 95% 25 000 500 000 Processes automated Clean Orders (Business Case >60%) Orders per workday Process steps per day 30 000 000 Orders processed It is very advantageous to evaluate processes by rules we would do it again 18 Januar 2008, dominique.gueniat@swisscom.com 28