=Paper= {{Paper |id=Vol-1164/PaperPoster04 |storemode=property |title=UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts |pdfUrl=https://ceur-ws.org/Vol-1164/PaperDemo04.pdf |volume=Vol-1164 |dblpUrl=https://dblp.org/rec/conf/caise/AysolmazD14 }} ==UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts== https://ceur-ws.org/Vol-1164/PaperDemo04.pdf
UPROM Tool: A Unified Business Process Modeling Tool
    for Generating Software Life Cycle Artifacts

                          Banu Aysolmaz1 and Onur Demirörs2
         1, 2Informatics Institute, Middle East Technical University, Ankara, Turkey
               1banu@aysolmaz.com, 2demirors@metu.edu.tr




       Abstract. UPROM tool is a business process modeling tool designed to conduct
       business process and requirements analysis in a unified way to constitute a basis
       for process automation. Enabling the application of UPROM methodology, the
       tool provides editors for six different diagram types based on a common meta-
       model. It ensures conformance to the rules and offers features so that modelers
       can develop a cohesive set of models. These models are utilized to automatically
       generate artifacts of requirements document, software size estimation, process
       definition document and business glossary.

       Keywords: Business process modeling, requirements analysis, software size
       estimation, business glossary, process documentation, artifact generation


1      Introduction

UPROM tool is a business process modeling (BPM) tool supporting six diagram types:
Value Chain (VC), Function Tree (FT), extended Event Driven Process Chain (EPC),
Organization Chart (OC), Conceptual Entity Relationship (ER) and Function Alloca-
tion (FA). Diagrams represent different business process perspectives which are func-
tional (VC and FT), behavioral (EPC), organizational (OC) and data (ER and FA).
   Business process definitions serve both pure organizational purposes like process
improvement and other practices like project management, requirements specification
and knowledge management [1]. Usually in the organizations, artifacts that utilize busi-
ness process knowledge are developed independently. Eventually, the effort spent to
define business processes and develop related artifacts is duplicated, organizational
knowledge becomes untraceable to processes and artifacts are maintained separately
resulting in conflicts. Especially when business processes are to be automated by a pro-
cess aware information system (PAIS) [2], process knowledge is intensively needed.
To overcome the problems, we developed a unified BPM methodology, UPROM, to
conduct business process and requirements analysis in an integrated way. When
UPROM is applied, following artifacts can be generated by using the models: user re-
quirements document and COSMIC functional size estimation [3] for the PAIS, and
process documentation including process definition document and business glossary.
   UPROM tool is a graphical BPM tool that supports UPROM methodology and au-
tomatically generates the mentioned artifacts. Model driven approach is followed based
162     Pre-proceedings of CAISE'14 Forum


on Eclipse Modeling Framework (EMF) and Eclipse Graphical Modeling Framework
(GMF). Eclipse plugins are developed for editors. All editors are based on a common
meta-model. Some plugins including EPC and VC editors were reused from bflow*
Toolbox [4], thus inheriting its special features such as continuous verification.
   UPROM tool is used by process modelers for descriptive analysis of processes in
business domain. End users utilize it to review and validate the models. The tool pro-
vides specific functionality for modelers to integrate business process and requirements
analysis. There are tools that can generate process documentation, but we did not en-
counter a BPM tool generating textual requirements and functional size estimation.
UPROM tool was utilized in various projects, including two e-government projects for
Company and Trademark Central Registration Systems, Public Investment Analysis of
Ministry of Development, and other applications for case study purposes.
   In this paper, we present the features particular to UPROM tool to support the meth-
odology and generate the artifacts. In section 2, UPROM methodology is briefly pre-
sented. Section 3 describes the tool features and provides a brief comparison with other
tools. Section 3 summarizes the paper and presents the future work.


2      UPROM Methodology

UPROM methodology aims to integrate the practices of descriptive business process
definition, requirements analysis, software size estimation and process documentation;
and generate artifacts that are outputs of these practices. By unifying analysis activities
for these practices, a set of models can be developed that embeds all information to
generate those artifacts. The methodology includes the notation, meta-model, process,
guidelines and artifact generation procedures. The artifacts that can be generated by
UPROM methodology are: user requirements document, software functional size esti-
mation, process definition document and business glossary. As all of these artifacts are
based on a single source of model set, completeness and consistency of them are im-
proved, they become traceable to business processes and maintainability is enhanced.
More information on UPROM methodology and outputs of case studies can be found
in [5] and [6]. UPROM methodology is applied in two iterative phases:
   Developing Core BPM Diagrams: Functional, behavioral, and organizational per-
spectives of business processes are analyzed. As a result, VC, FT, EPC and OC dia-
grams are developed in a hierarchical manner.
   Developing Analysis Diagrams Associated to BPM Diagrams: If a function on an
EPC diagram is to be automated by PAIS, an FA diagram is created as a sub-diagram.
FA diagram is used to analyze the responsibilities to conduct the function, related enti-
ties, operations on entities, related applications and constraints. In parallel, conceptual
definitions of entities and their relations are modeled in ER diagram.
   Generated artifacts are utilized as inputs to subsequent phases of software develop-
ment. User requirements with process models and documentation are inputs to detailed
requirements analysis, testing and acceptance phases. Functional size estimation is crit-
ical for software development planning in early phases. Process definition document
and business glossary are used by different stakeholders types in operation phase.
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts 163


3      UPROM Tool

UPROM tool provides an integrated environment for the notation and common meta-
model for six diagram types. Diagrams of the same scope are maintained under a re-
pository as a “modeling project”. Features particular to UPROM tool enable users to
apply UPROM methodology process and guidelines. Such features are described in the
following sections. A snapshot of the modeling environment can be seen in Fig. 5.


3.1    Diagram Editors for BPM and Requirements Analysis
UPROM tool editors run in conformance with the meta-model. VC diagram comprises
value chain, risk, objective and product constructs. FT diagram has only the function.
EPC include event, function, process interface, logical operators, business rule, appli-
cation, organizational elements, information carriers, key performance indicator (KPI),
technical term and improvement [7]. OC covers organizational elements. FA diagram
has organizational elements, function, entity, application and constraint. ER diagram
covers entity, cluster, attribute, generalization, aggregation and relationship.




                     Fig. 1. Disabled connections based on the metamodel
Relations between constructs are restricted by the meta-model. The tool prevents for-
mation of a connection not allowed and informs the user with a sign as shown in Fig.
1. Predefined connection names are assigned between some constructs. Two examples
are shown in Fig. 2. First one is the connection assigned between an organizational
element and function to show the responsibility of the role, and the second is between
function and entity to specify operations conducted on the entity by the function.




             Fig. 2. Assigning connection names by selection from the combo box


3.2    Unique Object Assignment
Objects in the same modeling project are assigned to be unique if they are named the
same. Instances of the object can exist at any diagram regardless of the type. Objects
164       Pre-proceedings of CAISE'14 Forum


of logically similar types are also assigned to be unique; e.g. information carrier and
entity; function, process interface and value chain objects with the same name are
unique.
    When a new object is added, if there is already an object with the same name and
type (or one of the alternative types) in the project, the user is asked if the new object
is the same with existing object(s) as shown on left of Fig. 3. If the user approves that
they are the same, attribute values of the objects are assigned to be the same. When
attributes of any instance of the unique object are updated, all other instances also have
the updated values. Users can search for the occurrences of unique objects, see the list
of instances and open the diagrams as shown in the right part of Fig. 3.




      Fig. 3. Assigning unique objects with a list of instances and searching for the instances


3.3      Process and Object Attributes
   A set of attributes representing metadata of a process can be assigned to each dia-
gram as shown on left in Fig. 4. All objects have the attributes of name, id, description,
incoming and outgoing connections. In addition to these, some object types have spe-
cial attributes. One is technical term attribute for organizational elements, information
carriers, application, entity, cluster, KPI and attribute. The other is document link at-
tribute for information carriers, entity, cluster, business rule and constraint. Sub-dia-
grams can be assigned to function, process interface and value chain objects. An exam-
ple list of attributes assigned to a document object is shown at right of Fig. 4.




                           Fig. 4. Process metadata and object attributes


3.4      Structure of the Modeling Project
Folder structure of the modeling project must be established in conformance to its sub-
diagram decomposition. The tool controls the folder structure and does not generate
artifacts if it is not validated. An example modeling project structure is shown on the
left part of Fig. 5 (FA diagrams are hidden for simplicity). Only one diagram of type
VC, FT or EPC exists in top level, which is the process map (e.g. eCompany.ftd). For
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts 165


each sub-diagram assigned in the process map, a folder is created and the sub-diagram
file is placed inside it. Folder and file names match. The same rules apply for lower
level diagrams. FA is assigned as sub-diagram for the functions in EPCs, and placed
under the folder of the related EPC. ERD and OC diagrams can be placed anywhere.




        Fig. 5. Typical UPROM modeling environment and example project structure


3.5    Generation of Artifacts
   Utilizing the information embedded in the modeling project which is formed by us-
ing the features and conforming to the rules explained in the above sections, UPROM
tool can be used to generate the following artifacts. The tool parses XML diagram files
and generates the artifacts in PDF format using iText library.
Business process models report: VC, FT and EPC diagrams in the modeling project
organized by the hierarchy are reported. Name and address of the process are placed as
the heading for each diagram. OC diagram(s) are placed at the end of the report.
Analysis models report: FA diagrams are given in this report. For each diagram, model
name, address, and the EPC process it is related to are placed as the heading.
Requirements document: Each FA diagram is utilized to generate three types of nat-
ural language requirements sentences [6]. In the document, requirements sentences are
organized under EPC diagrams. Headings for each EPC diagram is numbered according
to diagram’s hierarchical position in the modeling project.
COSMIC functional size estimation report: FA diagrams which serve the purpose of
requirements analysis are also utilized to make an early functional size estimation of
the software to be automated. The estimation is based on COSMIC standard [3]. Vari-
ous rules are applied to interpret the operations on entities (modeled as connection name
166        Pre-proceedings of CAISE'14 Forum


between function and entity as shown in Fig. 2). For each EPC diagram, data move-
ments and total size in function points (FP) of every FA diagram under that EPC is
reported. The total FP size of each application is calculated and provided in the sum-
mary section of the report.




      Fig. 6. Excerpts from Requirements Document (left) and Size Estimation Report (right)

 Process definition document: VC, FT and EPC models, with the attributes embed-
  ded in the models, are utilized to generate process definition document conforming
  to a template. The parts of the document for an EPC model is as follows:
  ─ Information: Purpose, scope, status, version, author, description of the process
  ─ Responsibilities: Name, type and participation of the role
  ─ Inputs: Name, type, source (if input is provided by another role), document link
  ─ Outputs: Name, type, target (if outputs are handed to another role), document link
  ─ Entrance criteria: Name, other processes that exit with this event, their address
  ─ Exit criteria: Name, other processes that start with this event, their address
  ─ Activities: Detailed information including: responsibilities, inputs and outputs,
     application, sub-diagrams/external processes, detailed information
  ─ Business rules: Name, related activity
  ─ External processes and sub-processes utilized by the process
  ─ KPIs: related activity, information sources used, measurement period, target
 Business glossary: All definitions in the project are obtained from the models by
  using technical term attributes of organizational element, information carrier, appli-
  cation, entity and cluster objects. By means of unique object property, an object has
  single definition regardless of the number of instances. The report is composed of
  three parts: Organizational, application and general definitions. ER diagram is uti-
  lized to organize general definitions. An aggregate entity is placed at the top, left
  indented. The components of the aggregate entity are grouped under that and in-
  dented right. Relationships and generalizations are also shown in a similar manner.
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts 167




    Fig. 7. Excerpts from Process Definition Document (up) and Business Glossary (down)
Excerpts from the generated artifacts are shown in Fig. 6 and Fig. 7. Complete versions
of the outputs for multiple case studies can be seen in [5]. UPROM tool is developed
specifically to apply UPROM methodology. Before developing the tool, we tailored
diagrams in ARIS Business Architect [7] to meet meta-model needs and developed
scripts to generate the artifacts. However, this did not provide a native solution to apply
UPROM methodology. As an alternative to Eclipse, we could also use a modeling lan-
guage creation tool such as MetaEdit+ [8] to design and use the diagrams based on the
meta-model and generate the artifacts, however we preferred an Eclipse based system
as we were able to reuse plugins from bflow Toolbox. There are tools that provide
abundant notation alternatives such as ARIS. In the contrary, diagram types of UPROM
tool are limited and focused on structured analysis of descriptive process models and
requirements in an integrated way as guided by the methodology. There are other BPM
tools with process documentation functionality such as Signavio, Bizagi and Visual
Paradigm. However to our knowledge, there are no tools that can generate textual re-
quirements and functional software size for the process automation together with the
process documentation and providing guidance by a methodology.
168     Pre-proceedings of CAISE'14 Forum


4      Conclusion and Future Work

In this paper, we presented unified BPM tool. UPROM tool is based on EPC for control
flow modeling, and supports five other diagram types. It provides an integrated model-
ing environment for requirements analysis in relation with business process models. If
one applies UPROM process and guidelines by using tool features, she can use the tool
to automatically generate some essential artifacts for software development practices.
   UPROM is used in two e-Government projects of Company and Trademark Central
Registration Systems and Public Investment Processes of Ministry of Development.
Generated artifacts were used as project deliverables and acceptance is completed by
the users [5]. The results collected by observations and interviews revealed that com-
pleteness, consistency and maintainability of the generated artifacts were improved.
   For future versions, we plan to develop a functionality to enable users design the
format and content of the artifacts and add new process documents presenting process
information from different perspectives like RACI charts. At the moment, requirements
sentences are generated in Turkish and generation of English sentences are planned for
future versions. BPM tools supporting EPC notation are rather restricted in number.
EPC is commonly accepted as a good notation for analyzing processes with end users.
We believe that similar functionality can be achieved for also BPMN and plan to im-
plement the methodology in a similar way also based on BPMN.
Acknowledgements. UPROM Tool was developed as a research project in Bilgi Group
Ltd. New version with extended features is being developed with partial support of
Industrial R&D Projects Support Program of the Scientific and Technological Research
Council of Turkey with project no 3130770.


References
 1. Becker, J., Rosemann, M., Uthmann, C. Von: Guidelines of Business Process Modeling.
    Business Process Management (2000). pp. 30–49. Springer (2000).
 2. Dumas, M., Aalst, W. V d., Hofstede, A. ter: Process-aware information systems : bridging
    people and software through process technology. John Wiley & Sons, New Jersey (2005).
 3. Abran, A., Desharnais, J.-M., Oligny, S., St-Pierre, D., Symons, C.: The COSMIC
    Functional Size Measurement Method Version 3.0.1 Measurement Manual. (2009).
 4. Böhme, C., Hartmann, J., Kern, H., Kühne, S.: bflow* Toolbox-an Open-Source Modeling
    Tool. Business Process Management Demonstration Track 2010. pp. 1–6 (2010).
 5. Aysolmaz, B.: Unified Business Process Modeling Methodology (UPROM) Application:
    Case Study Results METU/II-TR-2014-32. , Ankara, Turkey (2014).
    http://expertjudgment.com/publications/METU_II_TR_2014_32.pdf
 6. Aysolmaz, B., Demirörs, O.: Modeling Business Processes to Generate Artifacts for
    Software Development : A Methodology. Modeling in Software Engineering (MISE), 2014
    ICSE Workshop on. , Hydarabad, India (2014). DOI: 10.1145/2593770.2593775
 7. Davis, R., Brabander, E.: ARIS Design Platform Getting Started with BPM. Springer
    London (2007).
 8. Tolvanen, J., Pohjonen, R., Kelly, S.: Advanced Tooling for Domain-Specific Modeling :
    MetaEdit +. Object-Oriented programming systems, languages, and applications
    (OOPSLA) (2007).