tudor b. ionescu: architecting semantic process mining-driven optimization and adaptation of...
TRANSCRIPT
Architecting Semantic Process Mining-Driven Optimization and Adaptation of Business
Workflows for the Mobility Industry
Tudor B. Ionescu
Software Architect @SIEMENS
Safety Critical Applications Processes are also safety critical!
SIEMENS Rail Automation Applications
Business Processes in Rail Automation • Complex business processes described in natural language
– Conventional documents (MS Word, PDF) – Process execution logs – Emails, meeting minutes, ...
• Business process = Unstructured data + Tacit knowledge + Workflows
• Safety, reliability, certifiability, and standard compliance
Key to the success of products and projects
• Fulfilling these non-functional requirements is extremely costly and time-consuming
Automation and optimization desired 3
Agenda
• Introduction – Mission/safety-critical business processes in the railway domain
• Challenges of Process Automation and Optimization • A Three-Process Model for Automation and Optimization • Implementation in Camunda • Process Recovery • Conclusion
4
Challenges of Process Automation and Optimization
• Extracting semantic process models from unstructured data – handbooks, logbooks, execution logs of tools and past projects
• Enacting the automation and optimization of business processes according to the mined semantic models
• Seamlessly and dynamically adapting running processes whenever – Unexpected potentially harmful situations occur – New insights are gained by means of process mining – New safety compliance requirements become available
• Architecting reliable process architectures for mission/safety-critical applications
5
Example Process • Siemens Mobility
– Process for rail automation plant • CIRCE • AUTOCAD • Excel, CSV, PDFs • File Lists, signal tables, … • Email and other communication means • Legacy technologies (SAMBA, X25 …) • People • Standards & Constraints Verification
– Goal • Automate & optimize (some of) these tasks
– Success criteria • The automated process is really used • The automated process makes life easier not harder
1) Service Tasks = Facades for external resources
2) Notifications from external services and actors (e.g., emails)
3) Which patterns (e.g., publish-subscribe, polling)
4) Interfaces (REST or legacy?)
5) Data flow 6) Deployment 7) Process recovery
6
Task
Approach: A Three-Process Model
Task
Task
Adapted task
Adapt Suspend and modify
Process Input & Output
Task
Require + Design + Decide
Inform Security Problem
Optimization potential
Business Process(es)
Mining Process(es)
Monitor + Learn
Adaptation Process(es)
KB
7
Process Mining and Adaptation
• Mining process – Runs in parallel with the productive business processes – Its main task consists of mining the unstructured process data – Results (insights) are given in
• Natural language Expert-driven adaptation (for safety and/or mission critical processes)
• RDF format (JSON-LD) Automated adaptation (for non-critical processes)
– Insights are used to inform the adaptation process
• Adaptation process – Uses insights to optimize and adapt the main process – Adaptation is realized without interrupting the main process – Must ensure recovery in case of failures caused by adaptations
8
Example insight • Mining task:
– Mining GIT (versioning system) logs produced by the process • Result: Reverse engineered Gantt chart (Ref…)
– BALA, S., CABANILLAS, C., MENDLING, J., ROGGE-SOLTI, A., POLLERES, A. (2015). Mining Project-Oriented Business Processes. Lecture Notes in Computer Science 9253, 425-440.
• Insight: Process can be optimized How? See Gantt Chart • Requirement: Adapt the processes accordingly
9
Implementation: Camunda Suite • Pros
+ Addresses all aspects of process management & execution + High-quality documentation + Sound software architecture (high design pattern density) + Uses state of the art technology (JAX-RS, AngularJS, Spring, jQuery, etc.) + Many supported environments (Tomcat, JBOSS, Glassfish …) + Flexibility, extensibility (Community extensions)
• Cons? - Is it really lightweight?
• A constellation of tools Temptation to use them all Complexity - Infrastructure needs Web servers, database servers
Administrators + Programmers - Real flexibility or exhaustiveness?
• Bottom line + Pros seem to dominate cons from a software architecture perspective
10
The Adaptation Process
• Uses insights to optimize and adapt the main process • Adaptation is realized without interrupting the main process • Must ensure recovery in case of failures caused by adaptations
11
What about recovery in case of failures? • Ad hoc software/process updates may introduce latent
software faults – Obvious errors are corrected early (e.g. during development and
testing) subtler errors remain in the code and are more difficult to detect
– The more complex the process the harder it is to make it reliable and safe
– There is a finite amount of ressources to be spent on testing
Safety/mission-critical processes must have means for recovery at runtime (switch to reliable process)
• Idea Use forward recovery mechanism – Sha, L. (2001). Using simplicity to control complexity. IEEE Software,
(4), 20-28.
12
Forward Recovery for Safety/Mission-Critical Processes
• Challenge – The root of software faults is complexity
• But: cost reduction and optimization can only be achieved through process adaptation, which may lead to more complex processes
• Design Tactic – Use a simple and reliable core process that provides the essential
service – Decompose the process in adaptable subprocesses – Adapt one subprocess at a time version_1 (core), version_2
(adapted) – Keep core version in stand-by in case adapted version fails
• Prerequisite: You need a simple and reliable core process – But: if you can‘t develop a simple and reliable process there are
chances you will not be able to develop an optimized reliable process
13
Forward Recovery
• Detect faulty behavior using an acceptance test or safe output region check
• Keep/derive an analytic relationship between the outputs of the core and adapted versions of the subprocesses, e.g. – DIFF: the modified process should only produce an output that is
measurable and differentiable with respect to the old version of the process
• Camunda @runtime subprocess deployment mechanism 15
Demo • saFiddle
– Web-based tool for editing and managing requirements and design decisions Integrates into the adaptation process
– Uses concept linkage between architectural elements and concepts (e.g. requirements, quality attributes, design patterns and tactics, etc.)
16
Conclusion • Process adaptation and optimization is a desideratum
Reduces costs • In safety/mission-critical contexts
– Adaptation & optimization cannot be automated – Non-functional requirements such as safety and reliability must be
fulfilled at all times – Means for process recovery must be in place
• The three-process model is able to fulfill these requirements • The integration into the adaptation process of web-based
tools for – Designing safe and reliable adaptations of subprocesses – Creating traceable requirements and design decisions – Linking faults and errors to design decisions Enable a learning
process
17