|Home \ Prototypes \ Prototype Page||Login|
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.
The generated code is organized in several layers: business, presentation, view-model and persistence layers, that will be described herein.
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/HashSet, List/ArrayList, SortedSet/TreeSet and Queue/ArrayDeque) match closely the ones found in OCL (Set, Bag,OrderedSet and Sequence). A public static allInstances() selector allows retrieving all instances of this class from the object oriented database.
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.
This layer includes all the required activities and fragments to represent and dinamically control each domain class in the model.
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.
For more information on the internal details of the JUSE4Android tool or for citation purposes, please refer to:
Date: December, 2013
Authors: Fernando Brito e Abreu, Luís Pires da Silva