Details: Conceptual Modelling using Bee-Up
Bee-Up is an implementation of a hybrid modelling method incorporating and extending several modelling languages that gained wide popularity, namely the Business Process Model and Notation (BPMN), Event-driven Process Chains (EPC), Entity-Relationship models (ER), the Unified Modeling Language (UML) and Petri Nets.
Bee-Up does not enforce a specific procedure when solving a problem. Instead it provides a set of different types of models and tools that can be employed according to the requirements of the task at hand.
The Modelling Languages
Business Process Model and Notation (BPMN) is an OMG standard designed to support the business process management paradigm with a more extensive range of diagrammatic possibilities compared to traditional flowcharting or UML activity diagrams. The language allows the modelling of individual or collaborative processes using the main concepts of Participants reacting to Events and performing Tasks, whose flow can be controlled through Gateways. The support for the business process management paradigm is achieved by adding domain-specificity in the languages semantics manifested through a richness of types for different concepts (Tasks, Events, Gateways). Additionally, due to the strong focus on notation, this variability in semantics is also reflected in the visualization of the concepts by adding visual cues to the shapes.
Event-driven Process Chain (EPC) diagrams were introduced by the framework of Architecture of Integrated Information Systems (ARIS) and its software tools. The main concepts are Events and Functions depicting an alternating flow between “states” and “changes” to those states. The Functions can further be connected to other elements of the enterprise context (responsible organization unit, supporting IT system, input/output information). While the target domain of BPMN is shared by EPC the exact scope is different, having a distinct trade-off between understandability and underlying formal rigor through color coding and shape coding of concepts while removing the rich taxonomical classifications promoted by BPMN.
Entity-Relationship (ER) models have been widely adopted in the conceptual modelling community as the fundamental approach for data modelling, especially for the design and data schema generation of databases. The core concepts are the Entity, the Relationship between Entities and the Attributes of Entities and Relationships. Dealing with Entities rather than tables/tuples an ER model may describe data to be stored in structures other than relational databases. By describing categories of being and their relations an ER model has a similar scope to UML Class Diagrams or meta-models.
Unified Modeling Language (UML) is one of the most prominent standards in software engineering aimed at supporting a unified method for object-oriented software development. To achieve this it incorporates lessons learned from a large number of previously used modelling languages and through covering a wide scope using different diagram types addressing various aspects of a software system. Those diagram types care categorised into structural diagrams showing the static structure of objects in a system (e.g. Class Diagram, Component Diagram …) and behavioural diagrams describing the dynamic behaviour of objects in a system (e.g. Use Case Diagram, Activity Diagram …). UML Profiles and Stereotypes further allow a certain degree of customization of the language. UML may be seen as a natural descendant of the simpler and more focussed ER modelling approach. While it shares ER’s desideratum of code generation, it focuses on an object-oriented development context (e.g. class definitions derived from class diagrams).
Petri Nets is one of the longest standing diagrammatic modeling methods, with minimal but powerful semantics based on strong mathematical foundations. The core concepts are Places (states), Transitions (changes, actions) and Arcs (indicating the flow) as well as Tokens (marks) which capture the behavioral dynamics of a system. The firing (execution) of Transitions signify an action taken by passing the Tokens between their adjacent Places according to the defined flow. While the method is sufficiently abstract to have cross-domain applicability with respect to process dynamics, it imposes however a learning curve that is typically not acceptable for business stakeholders. Simulation mechanisms, monitoring the possible states of the system as a whole through the firing of Transitions and movement of Tokens (Token availability in a selected Place will enable the Transitions following that Place), are employed to assess the reachability of certain states, the risk of deadlock and the liveness/deadness of certain transitions.
Bee-Up is implemented using the ADOxx metamodelling platform, whose meta²- and meta-model is applied to provide a tool incorporating the different modelling languages. Along with implementing the modelling languages as best as possible Bee-Up also utilizes some processing functionality that is provided by the ADOxx platform. It also extends the processing capabilities with additional mechanisms and algorithms, which are not built-into ADOxx. Some examples for the processing functionality are:
- A uniform simulation of process models (BPMN, EPC, UML Activity Diagrams). The simulation can produce different types of results (path analysis, capacity analysis …) and allows different approaches for its configuration (decisions based on probability and/or variable values, direct or indirect assignment of performers …).
- Analysis of Petri Nets through manual or automatic execution of Transitions. Ready Transitions can be fired individually or in bulk through an automatic simulation employing different strategies and providing a result log.
- Generation of SQL-Create statements from an Entity-Relationship model (tested with MySQL). Many different concepts are considered during the generation, like relation cardinalities, weak entities and foreign keys. SQL specific details like datatypes are handled through special attributes.
- Inspection of any model using the ADOxx Query Language (AQL) allowing answering certain questions (e.g. all Tasks with an execution time above a threshold). The writing and execution of queries is also supported through a graphical user interface.
- Export of models in different formats (XML, RDF, ADL) and generation of graphics of a model (JPG, PNG …). Some formats (XML, RDF) can be used to further process the model contents outside of Bee-Up.
This allows Bee-Up to be applied in a wide range of areas, from the use in university courses, through business process management, to the description of IT system requirements. An extension of the application area is also achieved by integrating the implemented modelling languages with other types of models and common concepts. For example the model types supporting the simulation of process models can reference performers from a Working Environment model to conduct a capacity analysis or every model provides a Note concept to provide additional information for the human reader of a model or the use of common attributes (Description, Comment, Open questions) in almost every object.