Detail

Publication date: 1 de June, 2021

JUSE for Android (model-driven Eclipse plugin for generating Android BIS apps)



Introduction

This
tool allows the automatic generation of business information systems (BIS) apps
for Android devices. Those apps include graphical user interfaces (GUIs) and
persist data on a open-source object-oriented database (Versant’s DB4Objects).
Apps are specified with annotated UML class diagrams that are valided with the 
USE (UML Specification Environment) from
Bremen University.

Generated
apps use our model-driven approach for user navigation. The latter allows
traversing GUI screens (each corresponding to a domain entity) by using the
semantic links that match the associations and cardinalities among the
conceptual domain entities, as expressed in the model.

Our
model-driven generative approach scaffolds the production of flexible Android
GUIs, suitable for different displays, in terms of size, orientation and
resolution.

 

Code generator

The
generated code is organized in several layers: business, presentation,
view-model and persistence layers, that will be described herein.

Business
Layer

This
layer includes a Java class for each UML class in the domain model, holding the
same name. Each generated class has one private attribute for every attribute
and for every association in the domain model. Besides, it contains public
constructors, selectors and modifiers for all attributes and associations (one
to one, one to many, many to many, association class to their members and
vice-versa) in the domain model. Object serializers and comparators are provided
as well. The syntax of the generated code follows OCL naming conventions.
Chosen Java collection types (
Set/HashSetList/ArrayListSortedSet/TreeSet and Queue/ArrayDeque)
match closely the ones found in OCL (
SetBag,OrderedSet and Sequence).
A public static 
allInstances() selector
allows retrieving all instances of this class from the object oriented
database.

Presentation
Layer

This
layer includes the required folders to render the GUI in different display
sizes and resolutions, as required by the diversity of available Android
devices, from smart phones to tablets. Those folders hold the XML files used to
represent the GUI for each domain class, the manifest XML and all other
required configuration files.

View-Model
Layer

This
layer includes all the required activities and fragments to represent and
dinamically control each domain class in the model.

Persistence
Layer

This
layer provides a façade to interface 
Database for Objects (DB4O),
an open source object database engine. This façade provides basic CRUD (create,
read, update and delete) capabilities, along with cleanup and lookup ones.

 

More Info / Citations

For
more information on the internal details of the JUSE4Android tool or for
citation purposes, please refer to:

 

Authors

Fernando Brito e Abreu, Ankica Barisic,