CITI has stopped operations in 2014, to co-launch NOVA LINCS THIS SITE IS NOT BEING UPDATED SINCE 2013
citi banner
  Home  \  Prototypes  \  Prototype Page Login  
banner bottom
File Top
JUSE for Android (model-driven Eclipse plugin for generating Android BIS apps)


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, Luís Pires da Silva
File Bottom