Conference PaperPDF Available

Application of Kroki Mockup Tool to Implementation of Executable CERIF specification

Authors:

Abstract and Figures

The paper presents application of Kroki tool to create an executable specification of the CERIF standard. Kroki (fr. croquis – sketch) is an open-source tool that is being developed in order to foster development agility and better communication among team members with different specialties. It can be used for creating specifications of data-driven applications using two different notations (UML based and mockup based) and for generating application over the specification. This paper presents usage of Kroki tool for visualization and further development of CERIF data model, as well as the use of Kroki for generating a prototype of a CRIS system over the CERIF data model. The CERIF 1.5 specification was taken from the euroCRIS web site and entered into the Kroki tool. More than 280 CERIF classes are divided into 31 packages, in order to make CERIF model easier to read and comprehend. Thanks to its mockup and lightweight UML editor, Kroki enables each user, with or without background in information technologies, to understand and change the CERIF specification.
Content may be subject to copyright.
Available online at www.sciencedirect.com
ScienceDirect
Procedia Computer Science 00 (2016) 000000
www.elsevier.com/locate/procedia
1877-0509 © 2016 The Authors. Published by Elsevier B.V.
Peer-review under responsibility of the Organizing Committee of CRIS2016.
13th International Conference on Current Research Information Systems, CRIS2016, 9-11 June
2016, Scotland, UK
Application of Kroki Mockup Tool to Implementation of Executable
CERIF Specification
Milorad Filipović
*
, Renata Vaderna, Željko Ivković, Sebastijan Kaplar, Željko Vuković,
Igor Dejanović, Gordana Milosavljević, Dragan Ivanović
University of Novi Sad, Faculty of Technical Sciences, Trg Dositeja Obradovića 6, Novi Sad, 21000, Serbia
Abstract
The paper presents application of Kroki tool to creation of executable specification of CERIF standard. Kroki (fr. croquis
sketch) is an open-source tool that is being developed in order to foster development agility and better communication among
team members with different specialties. It can be used for creating of specification of data-driven applications using two
different notations (UML based and mockup based) and for generating application over the specification. This paper presents
usage of Kroki tool for visualization and further development of CERIF data model, as well as using of Kroki for generating a
prototype of CRIS system over CERIF data model. CERIF 1.5 specification was taken from euroCRIS web site and entered into
Kroki tool. More than 280 CERIF classes are divided into 31 packages, in order to make CERIF model easier to read and
comprehend. Thanks to its mockup and lightweight UML editor, Kroki enables each user, with or without background in
information technologies, to understand and change CERIF specification.
© 2016 The Authors. Published by Elsevier B.V.
Peer-review under responsibility of the Organizing Committee of CRIS2016.
Keywords: CERIF, model-driven development, CRIS applications
* Corresponding author. Tel.: 381-21-485-2422; E-mail address: mfili@uns.ac.rs
2 Author name / Procedia Computer Science 00 (2016) 000000
1. Introduction
Research management systems take significant role in the development of science (Zimmerman, 2002). Those
systems collect, preserve and disseminate data about scientific institutions, scientists and researchers, research
projects, published scientific research outputs other relevant data for scientific-research domain. The European
Union encourages the development of national research management systems in accordance with the CERIF
standard (the Common European Research Information Format - http://www.eurocris.org/cerif/introduction/)
because the European Union wants to achieve maximum competitiveness of Europe at all levels of research activity.
Research management systems compliant with CERIF standard are called CRIS (Current Research Information
System). CERIF standard provides a standardized data model. Standardization of those systems data is very
important, because it could enable data exchange between those systems and researchers could search research data
in various research management systems.
The first version of CERIF was produced in 1991 by European Commission (EC). It had a single-entry focus and
a simple record format: the project was an entity with persons, organizations and other information represented as
attributes. In 2000 the EC handed over the custodianship of CERIF to euroCRIS non-profit organization
(www.eurocris.org) dedicated to the development of research management systems and their interoperability. Since
then, CERIF has gone through various development stages and expanded a lot. Eight version of CERIF has been
published by euroCRIS organization in the period 2000-2013. CERIF version 1.5 was published in 2013 and this
model contains over 280 entities related to scientific-research domain.
By 2015, there are more than 200 euroCRIS institutional, personal and affiliated members from all over the
Europe. Those members belong to various scientific fields and have different specialties including different level of
technical skills.
Kroki11,12 (fr. croquis sketch) is an open-source tool that is being developed in order to foster development
agility and better communication among team members with different specialties. It can be used for creating of
specification of data-driven applications using two different notations (mockup based and UML based) and for
generating application over the specification.
This paper presents usage of Kroki tool for visualization and further development of big CERIF data model
which has had very fast expansion in last 15 years, as well as using of Kroki for generating a prototype of CRIS
system over CERIF data model.
The paper is structured as follows. Section 2 gives a brief overview of Kroki tool. Section 3 explains creation of
CERIF specification and CRIS system prototype using Kroki tool. Section 4 presents related work. Section 5
concludes the paper.
2. Kroki tool
Kroki enables requirements elicitation based on executable prototypes, using the means familiar to the end users -
drawing user interface (UI) mockups (see Figure 2). Contrary to the approaches where mockups are created by
general-purpose drawing tools and then manually or semi-automatically transformed to formal models14, mockups
created by Kroki are already elements of the UI model. Kroki’s mockup editor actually implements the concrete
syntax of our EUIS6 (Enterprise User Interface Specification) DSL (Domain Specific Language) for specifying UIs
of enterprise applications at a high-level of abstraction. Drawing is based on several types of forms and its elements,
whose layout and functionality have been defined by our user interface guidelines2, 3. Its architecture is presented in
Figure 1.
EUIS DSL also has concrete syntax designed to look like a simplified UML (Unified Modeling Language) class
diagram notation with stereotypes, which enables modeling in the “classical” way (see Figure 3). Changes made in
Kroki’s class diagram editor are immediately visible in the mockup editor and vice versa, with automatic layouting
performed for newly created elements5. This enables each participant (with or without background in information
technologies) to use preferred way of development, with changes immediately communicated to all concerned
parties.
Author name / Procedia Computer Science 00 (2016) 000000 3
Fig. 1. Kroki tool architecture
Development agility is provided by: (1) Kroki’s user interface which enables fast modeling3, (2) code generators
which produces a fully-functional, three-tiered application prototype even when minimal specification details are
obtained (default code generation action exists for every non-specified functionality)1, (3) administration subsystem
based on RBAC (Role Based Access Control) standard that enables flexible access control policies and dynamic
configuration of deployed application based on user roles7, and (4) the option of reusing artifacts across
development phases, in order to reduce waste of time and effort.
The reuse is supported by exporting class diagrams and application prototypes to general purpose modeling and
programming tools, and by importing models from general purpose modeling tools (Figure 1). Thus, a created
prototype can be used for requirements elicitation, and can also evolve to the final application using the preferred
tool chain (currently supported target language is Java). The application prototype, web or desktop, is generated on
top of our aspect-oriented (AOP) frameworks that enable easy integration of generated and hand-written code1.
Interchange of Kroki models with other modeling tools is based on Eclipse UML28 libraries. Eclipse UML2 is an
EMF-based implementation of the UML 2.x9 metamodel for the Eclipse platform. Eclipse UML2 provides an API
for creating a UML2 diagram using Java classes that contain convenience methods for creating Java objects that
map to corresponding UML metamodel elements. The API also provides methods for saving and loading UML2
diagrams to files in XMI format. XMI is a model driven XML Integration framework for defining, interchanging,
manipulating and integrating XML data and objects10.
The application modelled in Kroki can also be directly invoked as desktop or web application, by clicking the
buttons on the main toolbar (Figure 8c). Invoking a prototype will generate a middle-tier Java persistence layer
using JPA (Java Persistence API) which is used to automatically create database schema deployed in a H2 database
management system included in Kroki. Other information contained in mockups is stored in configuration files
which are used as inputs to our desktop-based or web-based aspect-oriented frameworks. The frameworks are using
these files to dynamically create the remaining elements of the application (forms or pages, menus, links, etc.). The
dynamic creation is needed in order to enable role-based access control.
Kroki currently comprises the following tools: mockup editor, lightweight UML class diagram editor, and
lightweight business process modeling editor. Business process modeling is still under development.
The mockup editor (see Figure 2) consists of: mockup drawing area, UI component palettes, and property editor
panels used for setting the properties of mockup components. Property editor is divided into two tabs: the first
contains basic settings, which can be adjusted by non-programmers; the second contains advanced settings, intended
4 Author name / Procedia Computer Science 00 (2016) 000000
for advanced users and developers. Unless the advanced properties are set, defaults are used, so that prototype
execution is always possible.
3. Application of Kroki tool to CERIF model
The CERIF 1.5 specification was taken from euroCRIS web site and entered into Kroki tool. More than 280
CERIF classes are divided into 31 packages, in order to make CERIF model easier to read and comprehend. The
specification is available in Kroki mockup editor and Kroki lightweight UML editor (presented in Figures 2 and 3,
respectively).
Fig. 2. CERIF 1.5 specification in Kroki mockup editor
A developer can enhance or update CERIF specification using both mentioned Kroki tools. Since Kroki provides
automatic execution of the specified application, developer has to decide how to map CERIF classes to user
interface of the generated CRIS application. Available course-grained components of the user interface are standard
panel (Figure 4 and Figure 5) and parent-child panel (Figure 6).
Standard panel is designed to display data and all available operations so the user can choose a data item and
invoke an operation on it without memorizing commands. Standard operations common to all entities are
represented by buttons/icons at the top of the form, while specific operations (if they exist) are represented by
links/buttons at the right hand side. Operations common to all entities include search (query by form), display,
addition, update, and removal. Specific operations include complex data processing procedures associated with the
given entity (transactions), invocation of related (next) screen forms, and invocation of reports. Standard panels can
also be used as building elements of parent-child panels.
A parent-child form is used for data that have hierarchical structure, where each element in the hierarchy is
modelled as an entity in the database. Each element in the hierarchy is represented by a standard panel, where a
panel at the n-th hierarchy level filters its content according to the selected data item at the level n-1. The hierarchy
Author name / Procedia Computer Science 00 (2016) 000000 5
must have at least two levels. The position of a panel in the hierarchy is defined by hierarchical association between
it and the container panel (see Figure 7).
Fig. 3. CERIF 1.5 specification in Kroki lightweight UML editor
The specified CERIF application can be invoked as a desktop or web application, by clicking the buttons on the
main toolbar (Figure 8 c). Invoking a prototype will generate a middle-tier Java persistence layer using JPA which is
used to automatically create database schema. Database schema can be deployed in a chosen DBMS, or in a H2
DBMS which is included in Kroki.
If it is needed to change the appearance or functionality of generated prototype of CRIS application, there are two
ways to achieve this. If minor changes are needed, CRIS application code can be exported in Eclipse project (Figure
8 a). Aspects17 can be used to weave the generated and manually written code, without need to directly change the
generated code1. This way, subsequent code generation couldn’t damage manual changes.
Fig. 4. An example of generated standard panel in view mode for CitationClass entity
6 Author name / Procedia Computer Science 00 (2016) 000000
Fig. 5. An example of generated standard panel in add mode for CitationClass entity
Fig. 6. An example of generated parent-child panel for Currency entity
The CERIF specification can also be exported to general-purpose modeling tool, as presented in Figure 8 b).
A developed CERIF 1.5 specification, generated application, and associated Eclipse project are available at:
https://github.com/KROKIteam/KROKI-CERIF-Model. Kroki installation is available at: www.kroki-
mde.net/download/. A short movie that explains Kroki usage is available at: http://youtu.be/r2eQrl11bzA.
4. Related work
The paper presents an extension of our previous work on automated development of CERIFcompliant research
management system2. The main difference with the previous work is usage of our Kroki tool that enables users, with
or without background in information technologies, to understand and change CERIF specification, in order to
automatically produce a prototype of a CRIS application.
Approaches and tools similar to our Kroki tools are discussed below.
Störrle16 presents approach to use mockups as a base to generate the code that helps user to investigate both the
graphical layout of the application and the behavior of the user interface elements. It is still not a complete solution
and the implementation of other aspects of the application (persistence layer, for example) requires manual
intervention.
Author name / Procedia Computer Science 00 (2016) 000000 7
Fig. 7. A specification of a parent-child panel for Currency entity
a) b)
c)
Figure 8. a) Generated code could be exported to Eclipse project in order to allow manual changes in the code b) Export of a class diagram to
general purpose modeling tools c) Buttons on the Kroki main toolbar for activation of specified application
8 Author name / Procedia Computer Science 00 (2016) 000000
Rivero et al.14 propose approach where mockups created by general purpose mockup tools are parsed, manually
enriched with tags that add semantics to its elements and then translated to an abstract UI model that is further
translated to presentation and navigation models of a web application. The content model can be derived as well, but
it is not always precise enough since derivation is based on heuristics. After a set of transformation, developers can
obtain an executable prototype that user can try out, similar to our solution.
Forward et al.15 present UI prototype generator named UIGU. The UIGU is based on set of heuristics for
transforming Umple models to a usable UI.
All presented solutions are using heuristics to produce some kind of model (UI model, presentation model, data
model, etc.) from the mockup or vice versa. This process can be prone to errors and usually requires manual
intervention to improve archived results.
5. Conclusion
The paper presented application of Kroki tool to creation of executable specification of CERIF standard. CERIF
1.5 specification was taken from euroCRIS web site and entered into Kroki tool. More than 280 CERIF classes are
divided into 31 packages, in order to make CERIF model easier to read and comprehend. Thanks to its mockup and
lightweight UML editor, Kroki enables each user, with or without background in information technologies, to
understand and change big CERIF specification. Also, Kroki enables automatic code generation of a prototype of
CRIS application.
Further development will be related to manual fine-tuning of the generated CRIS prototype in order to improve
its look and usability. Also, we plan to incorporate the changes proposed in CERIF 1.6 specification.
References
1. Filipović M, Kaplar S, Vaderna R, Ivković Ž, Milosavljević G, Dejanović I. Aspect-Oriented Engines for Kroki Models Execution. 5th
International Conference on Information Society Technology and Management (ICIST) 2015. p. 502 507
2. Milosavljević G, Ivanović D, Surla D, Milosavljević B. Automated construction of the user interface for a CERIFcompliant research
management system, The Electronic Library 2011. Vol. 29. Iss: 5. p. 565 588
3. Milosavljević G, Filipović M, Marsenić V, Pejaković D, Dejanović I. Kroki: A Mockup-based Tool for Participatory Development of
Business Applications, IEEE 12th International Conference on Intelligent Software Methodologies, Tools, Techniques 2013.
4. Zimmerman E. CRIS-Cross: Current Research Information Systems at a Crossroads, Proceedings of the 6th International Conference
on Current Research Information Systems 2002, p. 11-20
5. Vaderna R, Milosavljević G, Dejanović I. Graph Layout Algorithms and Libraries: Overview and Improvements. 5th International
Conference on Information Society Technology and Management (ICIST) 2015. p. 55 60
6. Perišić B, Milosavljević G, Dejanović I, Milosavljević B. UML Profile for Specifying User Interfaces of Business Applications,
Computer Science and Information Systems 2011, Vol. 8, No. 2, p. 405-426.
7. Kaplar S, Filipović M, Milosavljević G, Sladić G. Kroki Administration Subsystem Based on RBAC Standard and Aspects. 5th
International Conference on Information Society Technology and Management (ICIST) 2015. p. 61 66
8. Eclipse MDT/UML2, http://wiki.eclipse.org/MDT-UML2
9. Unified Modeling Language (UML), http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML
10. MOF 2 XMI Mapping (XMI®), http://www.omg.org/technology/documents/modeling_spec_catalog.htm#XMI
11. Kroki source code. https://github.com/KROKIteam/KROKI-mockup-tool
12. Kroki tool web site. www.kroki-mde.net/
13. Freemarker java template engine. http://freemarker.org/
14. Rivero JM, Grigera J, Rossi G, Robles Luna E, Koch N. Towards Agile Model-Driven Web Engineering. IS Olympics: Information
Systems in a Diverse World, Lecture Notes in Business Information Processing 2012. Springer, p. 142-155
15. Forward A, Badreddin O, Lethbridge TC, Solano J. Model-driven rapid prototyping with Umple. Software Practice & Experience
2012, Vol.42 Issue 7, p. 781-797
16. Störrle H, Model driven development of user interface prototypes: an integrated approach, Proceedings of the Fourth European
Conference on Software Architecture 2010. p 261-268
17. AspectJ Project. https://eclipse.org/aspectj/
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Full-text available
This paper focuses on exploring the possibilities of applying graph drawing algorithms to lay out custom diagrams, with emphasis put on UML class diagrams. Implementing even the simplest of layout algorithms that would lead to acceptable results requires excessive knowledge of graph theory. For this reason, many developers have to rely on existing solutions. There are several open source Java libraries for graph drawing and analysis, but most of them come with certain problems and limitations making their integration with a separately developed graphical editor overly complex. To deal with those issues, we are developing another graph drawing and analysis library, called Grad. I. INTRODUCTION AND MOTIVATION When developing modeling tools or expanding existing ones, a need to automatically lay out diagram elements in an aesthetically pleasing way might arise. One such example is a lightweight UML class diagram editor implemented as a part of a larger tool called Kroki [1, 14]. Kroki enables users to create sketches of business applications using several embedded tools, thus enabling each participant to use their preferred way of development: mockup editor, command console, or the mentioned lightweight UML class diagram editor. On top of that, sketches can be imported from general purpose modeling tools. Furthermore, the class diagram editor should be capable of opening imported sketches and sketches created using other Kroki tools i.e. showing class diagrams which represent them. Changes made in Kroki's class diagram editor are immediately visible in the mockup editor and vice versa, which explains the need for automatically arranging newly created elements (packages, classes and links between them). Implementing even the simplest of layout algorithms that would lead to acceptable results requires excessive knowledge of graph theory. Furthermore, simply deciding which class of graph drawing algorithms would be best suited for the given application can be challenging for those new to this area of mathematics. For these reasons, many developers would have to rely on existing solutions. There are many open source libraries which focus on graph drawing and provide implementation of certain layout algorithms. With a large number of excellent graph libraries for C/C++ and Python, it should be emphasized that only Java libraries will be considered in this paper, such as the popular JGraphX, JGraphT, JUNG and Prefuse. Although providing a decent number of layout algorithms, all of these libraries primarily focus on graph
Conference Paper
Full-text available
The paper presents an overview of techniques and mechanisms implemented in generic web and desktop engines that enable execution of application prototypes being specified by our Kroki tool. Unlike most other solutions where only a user interface skeleton is executable, Kroki's specifications can be tested through all three application tiers – the user interface, the business logic, and the database. Kroki is a mockup-driven tool that enables development of enterprise information systems based on participatory design. Since immediate execution is always possible, it can significantly contribute to decreasing a communication gap between the development team and users.
Conference Paper
Full-text available
This paper presents administration subsystem that was developed to enable dynamic customization of enterprise applications specified by our Kroki tool. Kroki is a tool for participative development of enterprise applications based on executable mockups. The administration subsystem is based on standard RBAC model for access control. It enables users to perform previously authorized tasks by dynamically adjusting their actions. Available actions are determined based on operations, relationships and constraints, according to RBAC. Every user role can access only specific parts of the application that its role is entitled to, with the use of menu adjusted especially for its needs. Dynamic adjustments of available actions are implemented by our runtime engines based on aspect-oriented approach.
Article
Full-text available
The emergence of model-driven software development brings new opportunities and challenges for rapid prototyping. On the one hand, the modeling process is inherently abstract, removing the prototyper from details, and letting him or her focus on exploring design alternatives for various aspects of the system. On the other hand, the most popular modeling languages and tools entirely omit the modeling and generating of user interfaces. As a result, the benefit of user interface prototypes as a medium for interaction with the user and customer is lost. This paper presents a model-oriented technology called Umple that can be used for prototyping and also supporting model driven engineering. Umple allows end users to quickly create class and state machine models and to incrementally embed implementation artifacts. At any point in the modeling process, users can quickly generate a fully functional prototype that exposes modeling implications on the user interface, and allows stakeholders to get a feel of how the full system will behave. Copyright © 2011 John Wiley & Sons, Ltd.
Conference Paper
Full-text available
Many approaches to interface development apply only to isolated aspects of the development of user interfaces (UIs), e.g., exploration during the early phases, design of visual appearance, or implementation in some technology. In this paper we explore an integrated approach to incorporate the whole UI development life cycle, connect all stakeholders involved, and support a wide range of levels of granularity and abstraction. This is achieved by using Window/Event-Diagrams (WEDs), a UI specification notation based on UML 2 state machines. It affords closer collaboration between different user groups like graphic designers and software developers by integrating traditional pen-and-paper based methods with contemporary MDA-based CASE tools. We have implemented our approach in the Advanced Interaction Design Environemnt (AIDE), an application to support WEDs.
Article
Full-text available
Purpose This paper aims to examine the goal, which is to construct a user interface for CERIF‐compatible research management systems in an automated way. The system has to support all data items defined by the CERIF data model. The result of the automated construction is a functioning software system that can be customised according to the specific needs by manual changes in the program code. Design/methodology/approach The Model‐Driven Architecture (MDA) approach to software engineering is based on the idea of automated construction of software applications based on the model of a system. System modelling usually utilises the Unified Modelling Language (UML). A specific UML profile (extension) used for describing user interface‐related aspects of the system model is defined. It is used to define the behaviour of the user interface in the model itself. By relying on the concept of a standard generic screen form implementing common data management operations and tools for automatic code generation it is possible to obtain a fully functional software application that is completely defined by the system model. Findings A proposal of an automated user interface construction method for CERIF‐compatible research management systems is defined. The proposed application enables the management of all CERIF‐specified data items and facilitates the customisation of the model according to the specific needs. The customisation process is automated by using the tools for user interface code generation based on human‐computer interaction (HCI) standard defining the layout and behaviour of generic screen forms. The amount of automatically generated application functionality justifies the use of the model‐driven approach to software development. Practical implications Using the model of a system it is possible to efficiently produce a functional software application that can further be customised according to the needs of specific institutions and users. The customisation process itself is made efficient since it is iteratively performed using the same cycles of modelling and software generation. The proposed method for automated user interface construction is used for implementing the web application for research management at the University of Novi Sad. Originality/value A proposal for efficient software system development and its customisation is given. This way a software application is obtained that can be quickly adapted to new requirements and used in different research management systems based on a CERIF‐compatible data model.
Article
This paper presents a domain-specific language (DSL) in the form of a UML profile that facilitates efficient modeling and generation of fully-functional UIs of enterprise business applications. DSL is based on an internal HCI standard that defines layout and behaviour of coarsegrained objects for business applications. Being a regular UML extension, this language can be used in any general-purpose UML modelling tool and can easily be integrated with other UML-based models of the application.
Conference Paper
This paper presents Kroki (fr. croquis - sketch), a tool for participatory development of business applications based on mockups. Kroki provides a graphical editor for visual creation of mockups and two engines (Web and desktop) for mockup execution. Kroki is developed in order to foster development agility, communication and better understanding of end-user needs. The mockup editor and engines are based on our EUIS (Enterprise User Interface Specification) DSL for specifying user interfaces of business applications.
Current Research Information Systems at a Crossroads
  • E Zimmerman
  • Cris-Cross
Zimmerman E. CRIS-Cross: Current Research Information Systems at a Crossroads, Proceedings of the 6th International Conference on Current Research Information Systems 2002, p. 11-20
Towards Agile Model-Driven Web Engineering. IS Olympics: Information Systems in a Diverse World
  • J M Rivero
  • J Grigera
  • G Rossi
  • Robles Luna
  • E Koch
Rivero JM, Grigera J, Rossi G, Robles Luna E, Koch N. Towards Agile Model-Driven Web Engineering. IS Olympics: Information Systems in a Diverse World, Lecture Notes in Business Information Processing 2012. Springer, p. 142-155