Skip to content

Latest commit

 

History

History
76 lines (44 loc) · 5.5 KB

README.md

File metadata and controls

76 lines (44 loc) · 5.5 KB

ARE4DSL

Augmented Reality Editors for Domain Specific Languages

This framework is explained on the paper: Model-driven development of augmented reality-based editors for domain specific languages available at: https://ixdea.org/45_11/

Intro

Modeling languages allow experts to establish a common and shared vocabulary for either a particular domain or several ones. Designing visual models usually demands qualified people with spatial and abstraction skills. Many people may train these abilities, but others can develop different skills according to other learning styles. Bodily-kinesthetic intelligence is an special ability in which individuals are able to use their entire body or parts of it to handle objects and control motions successfully. However, common modeling tools do not allow users to leverage these skills. This Github page contains the resources of a model-driven framework to develop model editors to work with domain specific languages. These editors are achieved by means of augmented reality technologies, which enable to track physical objects and create a mixed reality in real time.

The framework provides a systematic approach for the design and deployment of AR editors, a dedicated metamodel and some support tools. The generated editors are Android mobile apps based on Unity, the popular game development platform, along with Vuforia, a widely used AR development kit.

Proof-of-concept

Tap the image for watching a video of an entity-relationship model editor based on Augmented Reality... IMAGE ALT TEXT

Method

In order to create domain-specific modeling workbenches based on RA, a number of steps must be carried out:

  1. Define the abstract syntax of the DSL: This step is usually implemented by means of a metamodeling language such as Ecore.

  2. Design the concrete syntax of the DSL: A specific metamodel to design the notation of the DSLs to be used in a AR-based editor has been defined.

  3. Generate the support editor: DSL developers must use the tools described below to automatically generate a dedicated editor based on AR

  4. Define the language semantics: This step can be performed in different ways, for example, by generating source code for a target platform.

Tools

Unity3d Extension

Assuming you know the foundations of programing with Unity3D, a blank project must be created:

  1. Once you are in the new project, create the folder "/Assets/Editor" and put inside the files provided in this folder. You can locate there a JAR file with the acceleo module and a DLL file.

  2. The "ARE4DSL" option will now appear in the top menu of Unity3D. Click on the "Generate Folders" option and the folder structure required for the next step will be created.

  1. Once you are sure that the folders have been created correctly, look for the folder "Assets/Aredsl/Model" and put the XMI file with the concrete syntax of your new DSL.

  2. Put the ecore file of AREDSL as well as the ecore file of the abstract syntax of your DSL in the folder "Assets/Aredsl/Meta_models/sources".

  3. Once all the previous steps have been completed, the "Generate Editor" option must be selected in the "Aredsl" menu, creating in the project scene the necessary GameObjects and a backup of these in the "Assets/Aredsl/Prefabs" folder.

After the execution of these modules we will obtain a set of GameObject, which will be formed by the scripts and visual objects necessary for their representation and use.

An Entity-Relationship Model editor with Augmented Reality

  • Android app (APK file) for creating Entity Relationship Models using Augmented Reality
  • Source code of the mobile app Unity package
  • Augmented Reality Markers to print
  • Results of the study conducted in the context of the 20th International Symposium on Computers in Education (SIIE).

About

This framework has been developed by the SPI-FM research group at University of Cádiz

Project researchers:

Mobile app developer: Pablo Mariscal

Software License

This project licence is Eclipse Public License (EPL-1.0).