Mobia Modeler: Easing the Creation Process of Mobile Applications

1
MOBIA FRAMEWORK MOBIA MODELER MOBIA PROCESSOR User Interface Model Design Code Templates Code Generator Model Parsers models application SENSOR uses application END USER MODELING EXPERT INTERFACE DESIGNER SOFTWARE ENGINEER PROGRAMMER develop/ coordinate w/ experts design/ evaluate design/ develop generate code design/ develop NON-TECHNICAL USER (POSSIBLY DOMAIN EXPERT) Mobia Framework Overview and Use Cases Abstract --- The development of mobile applications has now extended from mobile network providers into the hands of ordinary people as organizations and companies encourage people to come up with their own software masterpieces by opening up APIs and tools. However, as of the moment, these APIs and tools are only usable by people with programming skills. There is a scarcity of tools that enable users without programming experience to easily build customized mobile applications. We present in this paper a tool and framework that would enable non-technical people to create their own domain-specific mobile applications. The tool features a simple user-interface that features configurable components to easily create mobile applications. As a proof of concept, we focus on the creation of applications in the domain of mobile health monitoring. In the future, we would like to extend our work to cover other domains as well. IUI2010 Florence Balagtas-Fernandez florence.balagtas@ifi.lmu.de Heinrich Hussmann heinrich.hussmann@ifi.lmu.de Max Tafelmayer [email protected] Mobia Modeler: Easing the Creation Process of Mobile Applications for Non-Technical Users The Model The Processor The Modeler The Components Component Configuration sensorComponent basicComponent structureComponent specialComponent meta -domain -devices -outputs -targetUsers -userProblems -medgets abstractComponent -id -screenRef component screens tool -locale -fontSize -sidebarOrientation screen -id components accelerometer oxygenSensor ecgMedget activityMedget epilepsyMedget thermometer photoCamera notes reminder videoRecorder voiceRecorder nutritionDiary login navigation diabetesDiary splashScreen fitnessDiary personal callHelp application isClassifiedAs * 1 0..* 0..* sensorComponent propertyType expression action actions name expressions ActionType condition items property data item conditions config itemType value variable operator Differs for each medget type (e.g. heart rate for ECGMedget) isClassifiedAs isClassifiedAs 1..* 1..* 1..* 1..* 1..* includeSensorData includeLocation pagerNumber phoneNumber emailAddress ActionType display vibration sound mms email call pager sms device text Initial Wizard to Configure Modeler's UI The Graphical Model: Health Monitoring Application <screens> <screen id="1" /> <screen id="2" /> <screen id="3" /> <screen id="4" /> </screens> <component id="1" xsi:type="login" screenRef="1"> <data> <items> <item> <username>flo</username> <password>pwd</password> <targetScreen>2</targetScreen> </item> <condition> <name>Danger</name> <expressions> <expression> <variable>bloodPressure</variable> <operator>greater</operator> <value>200</value> </expression> </expressions> <actions> <action xsi:type="call"> <config> <property> <phoneNumber>911</phoneNumber> </property> The Model in XML format The processor and the final application running on the simulator AN EXAMPLE MOBIA MODELER Export 9. CALL (SOURCE CODE) 11. GENERATE FINAL APP. TARGET PLATFORM PROCESSOR MOBIA ARBITER TARGET PLATFORM COMPILER TARGET SIMULATOR TARGET APP. DEPLOYER 10. CALL (SOURCE CODE) 12. RUN MOBIA PROCESSOR MOBIA PIM 1. LOAD MOBIA MANAGER CONFIG. LOADER MODEL MUTATOR MOBIA PSM OBJECT MOBIA PSM/s TARGET CODE TEMPLATE/s PLATFORM- SPECIFIC CONFIG. DATA APACHE VELOCITY ENGINE 2. CALL 3. LOAD 4. CALL (PIM) 5. PROCESS(PIM) AND GENERATE 6. CALL(PSM Obj) 7. MERGE 8. GENERATE SOURCE CODE structureComponent targetScreen itemType item data items 1..* isClassifiedAs navigationItemType loginItemType splashScreenItemType itemType autoClose displayText screenTitle password username

Transcript of Mobia Modeler: Easing the Creation Process of Mobile Applications

MOBIA FRAMEWORK

MOBIAMODELER

MOBIA PROCESSOR

User Interface Model

Design

Code Templates

Code Generator

ModelParsers

models applicationSENSOR

usesapplication

END USER

MODELINGEXPERT

INTERFACEDESIGNER

SOFTWARE ENGINEER

PROGRAMMER

develop/coordinatew/ experts

design/evaluate

design/develop

generatecode

design/develop

NON-TECHNICAL USER(POSSIBLY DOMAIN EXPERT)

Mobia FrameworkOverview and Use Cases

Abstract --- The development of mobile applications has now extended from mobile network providers into the hands of ordinary people as organizations and companies encourage people to come up with their own software masterpieces by opening up APIs and tools. However, as of the moment, these APIs and tools are only usable by people with programming skills. There is a scarcity of tools that enable users without programming experience to easily build customized mobile applications. We present in this paper a tool and framework that would enable non-technical people to create their own domain-specific mobile applications. The tool features a simple user-interface that features configurable components to easily create mobile applications. As a proof of concept, we focus on the creation of applications in the domain of mobile health monitoring. In the future, we would like to extend our work to cover other domains as well.

IUI2010Florence Balagtas-Fernandez

[email protected] Hussmann

[email protected] Tafelmayer

[email protected]

Mobia Modeler: Easing the Creation Process ofMobile Applications for Non-Technical Users

The Model The ProcessorThe Modeler

The Components Component Configuration

MagicDraw UML, 1-1 /Volumes/MyStuff/SchoolAndWork/_MY PHD/05 Programming Stuff/Eclipse Projects/Mobia Processor-Final Version20091027/mobiaSupportFiles/pim/20091201 MobiaMetaModel/20091201 MobiaMetaModel.mdzip MobiaMetaModel Dec 4, 2009 2:37:15 PM

Academic Use Only

sensorComponent

basicComponentstructureComponent

specialComponent

meta

-domain

-devices

-outputs

-targetUsers

-userProblems

-medgets

abstractComponent

-id

-screenRef

component

screens

tool

-locale

-fontSize

-sidebarOrientation

screen

-id

components

accelerometer oxygenSensor

ecgMedget

activityMedget

epilepsyMedgetthermometerphotoCameranotes

remindervideoRecorder voiceRecorder nutritionDiarylogin navigation diabetesDiarysplashScreen fitnessDiary

personalcallHelp

application

isClassifiedAs

*1

0..*

0..*

MagicDraw UML, 1-1 /Volumes/MyStuff/SchoolAndWork/_MY PHD/05 Programming Stuff/Eclipse Projects/Mobia Processor-Final Version20091027/mobiaSupportFiles/pim/20091201 MobiaMetaModel/20091201 MobiaMetaModel.mdzip SensorDiagram Dec 4, 2009 3:14:56 PM

Academic Use Only

includeSensorData

sensorComponent

includeLocation

pagerNumberphoneNumber emailAddress

propertyType

expression

actionactions

name

expressions

ActionType

ActionType

condition

items

property

data item

conditions

config

itemType

display

vibration

sound

value

variable

operator

mms

emailcall pager

sms

device

text

Differs for each

medget type

(e.g. heart rate

for ECGMedget)

isClassifiedAs

isClassifiedAs

1..*

1..*

1..*

1..*

1..*

MagicDraw UML, 1-1 /Volumes/MyStuff/SchoolAndWork/_MY PHD/05 Programming Stuff/Eclipse Projects/Mobia Processor-Final Version20091027/mobiaSupportFiles/pim/20091201 MobiaMetaModel/20091201 MobiaMetaModel.mdzip SensorDiagram Dec 4, 2009 3:14:56 PM

Academic Use Only

includeSensorData

sensorComponent

includeLocation

pagerNumberphoneNumber emailAddress

propertyType

expression

actionactions

name

expressions

ActionType

ActionType

condition

items

property

data item

conditions

config

itemType

display

vibration

sound

value

variable

operator

mms

emailcall pager

sms

device

text

Differs for each

medget type

(e.g. heart rate

for ECGMedget)

isClassifiedAs

isClassifiedAs

1..*

1..*

1..*

1..*

1..*Initial Wizard to Configure Modeler's UI

The Graphical Model: Health Monitoring Application

<screens><screen id="1" /><screen id="2" /><screen id="3" /><screen id="4" />

</screens> <component id="1" xsi:type="login" screenRef="1"><data>

<items><item>

<username>flo</username><password>pwd</password><targetScreen>2</targetScreen>

</item>

<condition><name>Danger</name><expressions>

<expression><variable>bloodPressure</variable><operator>greater</operator><value>200</value>

</expression></expressions><actions>

<action xsi:type="call"><config>

<property><phoneNumber>911</phoneNumber>

</property>The Model in XML format The processor and the final application running on the simulator

AN E

XAM

PLE

MOBIA MODELER Export

9. CALL (SOURCE CODE)

11. GENERATE

FINALAPP.

TARGET PLATFORMPROCESSOR

MOBIA ARBITER

TARGETPLATFORMCOMPILER

TARGETSIMULATOR

TARGETAPP.

DEPLOYER

10. CALL(SOURCE CODE)

12. RUN

MOBIA PROCESSORMOBIAPIM

1. LOAD MOBIAMANAGER

CONFIG.LOADER

MODELMUTATOR

MOBIAPSM

OBJECT

MOBIAPSM/s

TARGETCODE

TEMPLATE/s

PLATFORM-SPECIFICCONFIG.

DATA

APACHEVELOCITY

ENGINE

2. CALL

3. LOAD4. CALL (PIM)

5. PROCESS(PIM)AND

GENERATE

6. CALL(PSM Obj)

7. MERGE

8. GENERATESOURCE

CODE

MagicDraw UML, 1-1 /Volumes/MyStuff/SchoolAndWork/_MY PHD/05 Programming Stuff/Eclipse Projects/Mobia Processor-Final Version20091027/mobiaSupportFiles/pim/20091201 MobiaMetaModel/20091201 MobiaMetaModel.mdzip StructureDiagram Dec 4, 2009 2:38:16 PM

Academic Use Only

navigationItemTypeloginItemType splashScreenItemType

structureComponent

targetScreen

itemTypeitem

itemType

data

items

autoClosedisplayTextscreenTitlepasswordusername

1..*isClassifiedAs

MagicDraw UML, 1-1 /Volumes/MyStuff/SchoolAndWork/_MY PHD/05 Programming Stuff/Eclipse Projects/Mobia Processor-Final Version20091027/mobiaSupportFiles/pim/20091201 MobiaMetaModel/20091201 MobiaMetaModel.mdzip StructureDiagram Dec 4, 2009 2:38:16 PM

Academic Use Only

navigationItemTypeloginItemType splashScreenItemType

structureComponent

targetScreen

itemTypeitem

itemType

data

items

autoClosedisplayTextscreenTitlepasswordusername

1..*isClassifiedAs