kilix: heterogeneous modeling of gesture-based 3d applications
DESCRIPTION
Model-driven software engineering is a well-known approach for developing software. It reduces complexity, facilitates maintenance and allows for the simulation, verification, validation and even execution of software models. In this article, we show how model simulation and model execution can be leveraged in the context of human-computer interaction (HCI). We claim that in this application domain, it is beneficial to use heterogeneous models, combining different models of computation for different components of the system. We report on a case study that we have carried out to develop an executable model of a gesture-based application for manipulating 3D objects, using the Kinect sensor as input device, and the OGRE graphical engine as an output device for real-time rendering. This application is fully specified as an heterogeneous model with the ModHel’X modeling environment, allowing the simulation and execution of the model to explore the most appropriate way of implementing the application.TRANSCRIPT
Kilix: Heterogeneous Modeling of Gesture-Based 3D Applications
R. Deshayes and T. Mens Institut COMPLEXYS, University of Mons, Belgium
C. Jacquet, C. Hardebolle, F. Boulanger Supelec E3S – Computer Science Dept., France
2
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Goals of our research
• Reduce complexity of developing HCI applications • By using visual modeling instead of programming
• Assess the usability of heterogeneous modeling for this purpose
• Evaluate the strengths and shortcomings of ModHel’X, a heterogeneous modeling environment • Explore and improve its notions of semantic adaptation
wwwdi.supelec.fr/software/ModHelX wwwdi.supelec.fr/software/ModHelX/Kilix
3
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Case study
• Gestural interaction with a graphical 3D application • Using the Kinect controller
to interact with virtual books using hands only
4
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k • Client-server architecture • Low coupling between I/O devices
and user interaction models
• Combining different models of computation (MoC) • choose the most appropriate formalism for the task at hand
• discrete events (DE) • synchronous data flow (SDF) • timed finite state machines (TFSM)
Proposed architecture
5
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k • Client-server architecture • Low coupling between I/O devices
and user interaction models
• Combining different models of computation (MoC) • choose the most appropriate formalism for the task at hand
• discrete events (DE) • synchronous data flow (SDF) • timed finite state machines (TFSM)
Proposed architecture
6
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Heterogenous modeling
• Hierarchical architecture • Top-level model contains 4 blocks
• MoC is discrete events (DE) • communication through timestamped events
containing data
7
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Semantic adaptation
• Interface blocks adapt the semantics between outer and inner models using different models of computation
• Adaptation can be made to • Data (which may be represented differently) • Time (e.g. different time units, different time scales,
continuous vs discrete time) • Control (trigger observations of the internal model at
instants requested by the internal MoC)
8
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Sensing block
• Receives data from Kinect and converts it into hand gesture events
• MoC = synchronous data flow (SDF) • Processes a chain of sampled signals received from
Kinect at a fixed rate • Semantic adapter generates DE events when non-
null SDF tokens are produced
DE
9
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Application Logic block
• Interprets and converts hand gestures into meaningful actions for 3D object manipulation • MoC = timed finite state machines (TFSM) • DE/TFSM adapter converts between DE events and
symbols for the state machine
DE
10
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Virtual Scene block
• Represents graphical 3D objects (e.g., book) that interpret the actions as object-specific behaviour (e.g. opening or closing the book) • MoC = TFSM
DE
11
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Heterogenous modeling
• General overview revisited
12
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k Discussion
• Heterogeneous modeling is useful for HCI applications
• Semantic adaptation can be used • To adapt between models of computation • To map application actions (e.g., swipe) to object
behaviors (e.g., open or close) • To use the same component differently in different
applications • Leads to less coupling and higher component reusability
• Dynamic modeling is difficult to achieve • e.g. variable number of users and books at runtime
13
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k • Compare strengths and weaknesses of homogenous and heterogenous modeling • Based on common case study • Expressed using statecharts only • Expressed using high-level Petri nets
• Joint work with Ph. Palanque, Toulouse (PetShop tool) • Expressed using ModHel’X
• ModHel’X improvements • Performance issues • Add support for visual editing of models • Support domain-specific languages to match the
application domain better (work in progress) • Extend existing MoC (TFSM++)
Future work
14
MoD
ELS
201
2 –
MP
M w
orks
hop,
Inns
bruc
k References
• For homogeneous modeling • R. Deshayes and T. Mens. Statechart modelling of interactive
gesture-based applications. In ComDeisMoto satellite event of INTERACT 2011.
• D. Navarre, et al. ICOs: A model-based user interface description technique dedicated to interactive systems addressing usability, reliability and scalability. ACM Trans. Comput.-Hum. Interact., 16(4), 2009.
• For heterogeneous modeling • J. Eker et al. Taming heterogeneity - the Ptolemy approach. Proc.
IEEE, 91(1):127–144, 2003. • C. Hardebolle, F. Boulanger. Exploring multi-paradigm modeling
techniques. SIMULATION: Trans. Society for Modeling and Simulation International, 85(11/12):688–708, 2009.
• F. Boulanger et al. Semantic Adaptation for Models of Computation. ACSD 2011: 153-162
• B. Baudry et al. Bridging the Chasm between Executable Metamodeling and Models of Computation. SLE 2012