GOLE: from process model to software
GOLE is a fully graphical modeling language with which an associated IT implementation can be generated fully automatically. From GOLE, a complete process model can be directly translated into error-free blockchain code using the OLE compiler. The result is an exact technical reflection of the GOLE model in the form of a workflow software solution. In addition, it is a very user-friendly way to display processes in a clear and complete way. This blog provides more information about GOLE and how it compares to other modeling languages.
The world of process modeling
In a previous blog we discussed the importance of a good modeling language for business processes. We want to record in such a language how the process starts (the initial state), and when there will ultimately be both a successful and unsuccessful end of the process (an end state of the process). Between the initial and final state of a process, there is a sequence of steps to be followed, including decision moments, in which a choice must be made in the next path of the process to be followed.
There are many process modeling languages. For example, there is a whole range of process languages from the UML family, but there is also a de facto standard language for modeling business processes, called BPMN (Business Process Modeling and Notation). BPMN was developed by the authoritative body OMG (Object Management Group). BPMN has made a major contribution that one should not only think in terms of sequences of steps, but also think in terms of a responsible party for each step to be performed in the process. In BPMN we know so-called swimlanes: a swimlane is named after the party that has to perform a step, and each step ends up in exactly one swimlane. For example, you can distinguish the following swimlanes: the buyer, the producer, the transporter and the customer. Swimlanes gave the opportunity to think in a more structured way about the design of processes.
However, BPMN also has certain shortcomings. As long as the process to be modeled is small, BPMN models are fine to read, but as the process gets bigger (more swimlanes, more steps) the model becomes less legible due to an unavoidable tangle of connecting lines between one step and a next step when those steps are in other swimlanes. In short, BPMN does not scale up to size. Another shortcoming of BPMN is the data: BPMN limits itself purely to describing process flow, and does next to nothing when it comes to describing data flowing through the process. You cannot describe business logic in BPMN either. Business logic tells you how – per step in the process – data enters a step as input, and is subsequently processed via business rules to output that step. In short, BPMN tells you nothing about the internal processing of data within a step of the process. These shortcomings clearly show that BPMN is incomplete in describing a business process.
GOLE : the step to a clear and complete process model
GOLE is a language developed to address the shortcomings of BPMN as a process modeling language. For example, GOLE has no swimlanes, but instead each step is linked separately to a so-called roller. So a step in GOLE is always a pair: the step along with a role responsible for performing the step. In this way you avoid the tangle of crossing connecting lines between steps, which is typical in BPMN. GOLE also has a data component: data flows through a process, and in GOLE you can model very precisely what the structure of that data looks like. GOLE also has a precise modeling of the business logic used within a process step. At each process step in GOLE you can see which data is entered in that step, and which business rules are then used to process that data into output data. In short, GOLE provides a complete picture of process flow, data and business logic. GOLE also offers the option of automatically generating an associated IT implementation from a GOLE process model. In short, GOLE provides a fully model-driven approach for IT implementations of business processes.
In a next blog , we will go deeper into the way in which people deal with data and business logic within GOLE.