Development of a BPMN Model Validation and Automatic Correction Tool for SAP Solution Manager

worked on by: Rainier Raymond Robles

Introduction

SAP Solution Manager (SolMan) is an Application Lifecycle Management (ALM) product used in the organization, maintenance, and optimization of a company's business and IT operations. One feature provided in SolMan is a tool for the visual modelling of business processes. This has the dual purpose of providing a clear representation of said processes as well as a means of documenting its individual steps and, when applicable, linking them to the technical systems and procedures (such as SAP transactions) utilized for that particular activity. The diagrams are modelled using the Business Process Model and Notation (BPMN) standard.

As those tasked with business process modelling within an organization may not necessarily be experts in BPMN, it would be advantageous to provide a means to check the syntactic correctness as well as the readability and usability of the models created. While the availability of an integrated BPMN modelling tool in SolMan has its advantages, it does not include model validation, a feature which can be found in most commercial BPMN modelling software.

Vostura GmbH is a small IT company based in Berlin and Mannheim specializing in SAP consulting, particularly with ALM and SAP Solution Manager. One recommendation that the company makes to its clients is to model its business processes within SolMan using SAP's integrated modelling tool. Vostura offers a training course to its clients in order introduce the basics and conventions of BPMN modelling. The company also occasionally offers additional support in the form of manually checking the created models, or modelling some processes that can serve as examples. Offering an integrated BPMN model validation tool to clients would help reduce the amount of time spent in the manual maintenance and correction of client-created models and aid the clients' understanding of BPMN. In addition, automatic correction would ease some of the burden of having to determine how to fix the issues found in the model.

Planned Course of Action

Requirements Elicitation

The requirements of the tool would be ascertained through review of existing literature, review of existing internal quality assurance guidelines at Vostura, review of existing internally-created BPMN models, and open-ended discussions with relevant persons within the company.

Selection of Guidelines

An analysis would be done to determine which guidelines would be implemented in order to create a prototype that provides the greatest value within a relatively short development time. Criteria for the decision-making process will be created and the guidelines collected in the previous step will be analyzed based on this criteria, resulting in a list of selected guidelines to be implemented in the product during the period of the thesis.

Architecture Definition

Decisions regarding the implementation of the tool would be made, including whether or not to integrate existing tools, as well as in which platform the tool would be implemented in.

Proof-of-Principle Prototype

A prototype of the tool with some basic functionality will be implemented. The prototype should be able to open or read a BPMN model and perform some basic syntactic checks. Should existing tools and libraries need to be integrated into the solution, it would be done at this stage. The goal is to prove that implementation of the product with the chosen architecture is feasible. If major problems arise during this stage, then the architecture would need to be re-evaluated and adjusted.

Iterative Implementation

The selected guidelines for the product will be implemented. An iterative process model would be used in order to provide an overall structure for the thesis while allowing for flexibility during the process. Each iteration is expected to last up to two weeks. At the end of each iteration, the latest version of the tool would be presented to the company and tested by Vostura employees and, if possible, BPMN modellers from the company's clients. This would be done in order to assess the usability of the validation tool, such as whether the support provided can be easily understood by the user, as well as provide insight into what changes need to be made, if any, during the next development iteration.

Weekly Status

Pre-Week 1

Activities

  • preliminary research
  • preliminary presentations to both the company and the thesis advisor
  • expose written and presented to the thesis advisor
  • discussions with the company regarding expectations for the tool
  • architecture definition
  • selection of guidelines
  • initial coding
  • scheduling

Results

  • thesis topic approved
  • guidelines selected
  • architecture defined and tested
  • proof-of-principle prototype implemented, which could successfully read, open, and manipulate a BPMN model
  • rough schedule created

Next Steps

  • implementation
  • reconfiguring personal schedule

Problems

  • had to move on short notice, so all initial planning and timetables had to be thrown out the window
  • focus shift from pure model validation to providing automated corrections meant changes to the guidelines selected and another schedule shift

Week 01 (CW 25)

Activities

  • official registration for the thesis
  • start of implementation with first iteration

Results

  • officially registered for thesis
  • following guidelines initially implemented:
    • Absence of Start Event (start event not found in model)
    • Absence of End Event (end event not found in model)
    • Unlabeled Sequence Flows (no labels on outgoing sequence flows from splitting gateways)

Next Steps

  • further initial implementation of selected guidelines
  • end of first iteration
  • presentation of results of first iteration to the company

Problems

  • a few issues grappling with the programming language and the framework required for implementation
  • time management

Week 02 (CW 26)

Activities

  • completion of first iteration of implementation
  • presentation of results of first iteration to Vostura

Results

  • following guidelines initially implemented:
    • Unlabeled Events (no labels on events in diagram)
    • Mixed-Use Gateways (gateways used to split and join the process flow at the same time)
  • following guidelines extended:
    • Unlabeled Sequence Flows

Next Steps

  • start of second iteration

Problems

  • complexity of adding new elements to a model, particularly in the middle of existing elements
  • determining next steps for second iteration
  • coming up with a strategy for refactoring/simplifying/streamlining existing code
  • coming up with another layout for the tool

Week 03 (CW 27)

Activities

  • decision-making for what needs to be done in the second iteration
  • start of second iteration of implementation
  • draft of alternate layout for the tool

Results

  • goals for second iteration set
  • alternate layout for the tool created
  • guideline Unlabeled Gateways initially implemented
  • following guidelines extended:
    • Absence of Start Events
    • Absence of End Events
  • more thorough inspection of what elements can be part of a BPMN Model in SAP Solution Manager

Next Steps

  • further implementation and extension of selected guidelines
  • end of second iteration
  • presentation of results of second iteration to the company

Problems

  • discovery that some display elements are not exported from the SAP Solution Documentation model as expected
  • should guidelines that don't need to be checked be displayed when running the validation/correction?
  • determining which guidelines have higher priority, whether extending existing guidelines or implementing a new one is more important

Week 04 (CW 28)

Activities

  • completion of second iteration of implementation
  • presentation of results of second iteration to Vostura

Results

  • guideline Absence of Explicit Gateways implemented
  • all guidelines extended such that diagrams with one pool and multiple lanes are supported
  • upload and validation/correction of models now separated in the tool, which means users have to explicitly press a button in order after uploading a BPMN file in order to validate and correct it
    • as a result, external functions can be created and used, reducing the amount of redundant code

Next Steps

  • fix issues found in second iteration based on presentation to Vostura
  • decision-making for third iteration
  • start of third iteration

Problems

  • determining what kind of gateways should be added when fixing violations of the guideline Absence of Explicit Gateways
    • both exclusive gateways and parallel gateways have pros and cons, ultimately decided on parallel gateways
    • after discussion with Vostura, it was decided that exclusive gateways were a better option
  • reduction of code redundancy through the use of functions was a challenge, solved only through splitting upload and validation/correction (as mentioned above)
  • based on personal experience, text annotations could also be used as labels, which means this should be taken into consideration for guidelines dealing with labels
    • this is only applicable for activities, events, and gateways, not for sequence flows
  • moving graphic elements after adding gateways when fixing violations of guideline Absence of Explicit Gateways such that the model is still readable

Week 05 (CW 29)

Activities

  • decision-making for what needs to be done in the third iteration
  • start of third iteration of implementation
  • scheduling and planning of usability tests

Results

  • goals for third iteration set
    • after consultation with Prof. Prechelt, it was decided that usability tests should be undertaken
  • code refactored such that guidelines are split into check (validation) and fix (correction) functions
  • as discussed the previous week, when fixing violations of the guideline Absence of Explicit Gateways, exclusive gateways are now added instead of parallel gateways
  • in the guideline Unlabeled Gateways, checks for labeled parallel gateways have been removed, as they only result in false negatives
    • labels for parallel gateways are not exported into the BPMN files by SAP SolMan
  • instructions and layout of tool polished
  • usability tests scheduled with employees of Vostura
  • material for usability tests prepared, including sample diagrams and script for questions

Next Steps

  • run usability tests
  • adjust tool based on results of usability tests
  • end of third iteration
  • presentation of results of third iteration to the company

Problems

  • determining the next step in the development of the tool for this iteration
    • two options presented by Vostura: implementation of additional guidelines, or adding the ability for users to configure their experience
    • consultation with Prof. Prechelt led to the suggestion and selection of a third option: usability tests
  • determining whether the position of labels in the model could be set, so that they are readable when imported into SolMan
    • verdict: positions cannot be set
  • determining and approaching participants for the usability tests

Week 06 (CW 30)

Activities

  • execution of usability tests
  • completion of third iteration of implementation
  • presentation of results of third iteration to Vostura

Results

  • usability tests run
  • comments and suggestions gathered from usability tests
  • changes based on comments implemented (for example, instructions were changed from a block of text to a series of bullet points)
  • assorted minor fixes based on problems found during usability tests (for example, some required labels were missing)

Next Steps

  • decision-making for fourth iteration
  • start of fourth iteration

Problems

  • compiling feedback from usability tests in a form that was actionable
  • determining how to render diagrams into the tool, as this was one of the major suggestions during the tests

Week 07 (CW 31)

Activities

  • decision-making for what needs to be done in the fourth iteration
  • start of fourth iteration of implementation
  • performance of defect tests
  • scheduling and planning of second round of usability tests

Results

  • original and corrected diagrams now rendered in the tool
    • bpmn-io integrated into the tool
  • layout fixed according to recommendations from Vostura
  • guidelines Absence of Start Events and Absence of End Events now have a fix when implicit start/end events are not clear
  • assorted bugs from defect tests were fixed
  • second round of usability tests scheduled

Next Steps

  • run usability tests
  • adjust tool based on results of usability tests
  • end of fourth iteration
  • presentation of results of fourth iteration to the company

Problems

  • figuring out how to integrate bpmn-io into the tool
  • various issues with the rendered diagrams
    • "X" marks inside exclusive gateways were not rendered
    • diagrams not displayed completely (either scrolled at an odd position or too zoomed in to see the whole diagram)
  • scheduling usability tests

Week 08 (CW 32)

Activities

  • execution of second round of usability tests
  • sent request to Prof. Müller-Birn to be the second examiner for the thesis

Results

  • usability tests run (but not all, as there were more scheduled for the following week)
  • Prof. Müller-Birn agreed to be the second examiner for the thesis

Next Steps

  • complete execution of second round of usability tests
  • adjust tool based on results of usability tests
  • end of fourth iteration
  • presentation of results of fourth iteration to the company
  • finalize the implemented tool

Problems

  • scheduling - not all usability tests could be completed in this week

Week 09 (CW 33)

Activities

  • completed execution of second round of usability tests
  • completion of fourth iteration of implementation
  • presentation of results of fourth iteration to Vostura

Results

  • usability tests run
  • comments and suggestions gathered from usability tests
  • changes based on comments implemented (for example, new background color as well as border added to sections in the tool were diagrams are displayed)

Next Steps

  • finalize the implemented tool
  • start writing the thesis paper

Problems

  • coordinating schedules for the usability tests
  • compiling feedback from usability tests in a form that was actionable

Week 10 (CW 34)

Activities

  • finalization of the implemented tool
  • writing the thesis paper

Results

  • tool theme updated to conform to SAP Fiori 2.0 standards
  • minor layout issues fixed
  • tool finalized
  • first draft of thesis paper completed

Next Steps

  • continue writing and editing thesis paper

Problems

  • questions regarding form and content of thesis paper, clarified through a consultation with Prof. Prechelt
  • time management and motivation when writing the thesis paper

Week 11 (CW 35)

Activities

  • editing the thesis paper
  • presentation of the finalized tool to Vostura
  • consultation regarding thesis paper with Vostura
  • sending draft of thesis paper to trusted friends in order to get feedback

Results

  • second and third drafts of thesis paper completed
  • feedback from friends regarding thesis paper received

Next Steps

  • complete editing thesis paper

Problems

  • time management and motivation when editing the thesis paper
  • proofreading the thesis paper

Week 12 (CW 36)

Activities

  • finalizing the thesis paper
  • final consultation with Prof. Prechelt regarding thesis paper
  • sending final draft to trusted friends in order to get feedback
  • submission of the thesis paper

Results

  • fourth draft and final version of thesis paper completed
  • discussed specific points of the thesis paper (for example, the abstract) with Prof. Prechelt
  • thesis officially submitted on 4. September (five days before the deadline)

Next Steps

  • wait for confirmation that the thesis paper has been read by both Prof. Prechelt and Prof. Müller-Birn
  • set a date for the thesis defense
  • prepare for the thesis defense
  • hand in a copy of the thesis to Vostura
  • clean up the Wiki page for the thesis

Problems

  • time management and motivation when editing the thesis paper
  • proofreading the thesis paper
  • reconciling comments made by friends who have read the paper with the expectations of Prof. Prechelt
  • fixing the finer details of the paper