Mobia Modeler: Easing the Creation Process of Mobile Applications
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
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