|
Master and bachelor students at the EPFL are welcome to do their research
projects at MEDIA. Spontaneous propositions for projects are also welcome, if
they are related to the research topics of MEDIA.
The following subjects are available
|
XAL - XML Aggregation Language- Processor implementation in Java (Master
project)
The XAL (XML Aggregation Language) specification defines a
language for describing a single document abstraction on top of
distributed structured and semi-structured data which can be stored in
several content repositories (e.g. an XML database such as Exist). A XAL
processor is any piece of software which is able to process a XAL
document in order to support the editing (reading and writing) of the
single abstract document as if it were a real document. A partial
implementation of XAL in XSLT has been developped during a previous
master project.
The goal of this project is to develop a Java implementation for
a XAL processor, and to embed this library into an Orbeon Forms
processor so that it can be used in an Orbeon Forms pipeline. The
implementation, although stateless as per the XAL processing model, will
be carefuly designed to improve performances using adequate mechanisms
(e.g. caching mechanisms). As a side effect, the project can also
contribute to make evolve the XAL specification.
Resources
Contact(s): Stephane Sire
|
|
A role based filtering processor for XML-based applications on the Web
(Master project)
Users authenticated to a Web application can be assigned static
or dynamic roles that control their privilege to read and write XML
data. The development of such access control mechanisms often results in
basic models where access control is simply granted on a file (or
collection of files).
The goal of the project is to apply new research results on static
analysis of XPath expressions, which is a method developped at INRIA, to
enable filtering access to XML data, based on the concept of role. For
that purpose a role model and an access control model will be developed.
They will be based on the definition of access control policies with
XPath expressions. The software module that will be developped will
allow to interact with authorized data according to the current user's
role. The filtering mechanism may also automatically turn editable
fields into read only fields depending on the access rights.
The software for analyzing XPath expressions is available as a
Java library that will be integrated into the project.
The project will result in a prototype application showing the
filtering mechanism at work. This is a research project for a creative
candidate.
Resource(s)
Contact(s): Christine Vanoirbeek, Pierre Genevès (* INRIA) *INRIA: Institut National de Recherche en Informatique et en Automatique (FR)
|
|
Conception d'un environnement d'exécution de widgets W3C pour mobiles (Master project)
Depuis sa création en 1987, le
Centre de Recherche Public Henri Tudor
affiche les technologies de l’information et de la communication
(TIC) parmi ses technologies-clés. Pour ce faire, il s’appuie sur son
département
Centre d’Innovation par les Technologies
de l’Information
(CITI) qui compte plus de 120 ingénieurs R&D. L’objectif
du CITI est d’accompagner, par la recherche et le conseil en innovation,
l’économie luxembourgeoise vers les applications TIC les plus
prometteuses, notamment dans le domaine de la mobilité.
L'avènement des « application stores » sur mobile pose désormais
le problème de la portabilité des applications. En effet les principales
plateformes mobiles actuelles sont toutes propriétaires et incompatibles
entre elles. Une solution peut être entrevue du côté du web mobile qui
permet de régler en partie le problème de l'interopérabilité. Cependant
le web actuel ne permet pas de répondre à tous les défis de la mobilité,
notamment les problèmes de connexion et de débits des réseaux GSM
actuels. Une solution peut être alors d'étudier l'approche des
widgets W3C
, dans laquelle l'application web est packagée, fonctionne
localement et télécharge uniquement ses données sur Internet. Comme
l'application est téléchargée une seule fois, sa réactivité perçue en
est d'autant améliorée.
Dans ce contexte, l'objectif de ce stage sera de spécifier et
d'implémenter un environnement d'exécution de widgets open source pour
mobiles. Cet environnement devra être compatible avec les spécifications
du W3C relatives aux Widgets et exposer des APIs JavaScript spécifiques
aux environnements mobiles comme
DCCI
ou
BONDI
(ex: appareil photo, répertoire, sms, …). Une veille préalable
sur ce type d'APIs et sur les usages associés sera
nécessaire.
Cet environnement pourra s'appuyer sur la base de code du
navigateur mobile
Mozilla Fennec
et sur le portail de widgets open source
Ripple
développé au CRP Henri Tudor. Une collaboration avec le groupe de
travail
WebApps
du W3C pourra être envisagée.
Bonnes connaissances en génie logiciel et conception d'interfaces
utilisateur technologies web (XHTML, CSS, HTTP, REST) et dans les
langages de développement classiques (C, C++, Java). Bonnes
connaissances en JavaScript (programmation par prototype, POO, DOM,
traitements XML, AJAX, Comet, JQuery). Bon rédactionnel et capacités
d'intégration dans l'équipe projet des connaissances des contraintes
liées au développement sur mobile seraient un plus.
Contact(s): Stephane Sire, Alain Vagner (* CRP-HT) *CRP-HT: Centre de Recherche Public Henri Tudor (LU)
|
|
A Forms editor without forms (Master project, or can be splitted into several
Semester projects)
Forms have been used for a long time to edit XML data. However
when the edited data is more document-oriented, forms become tedious to
use and in most cases (such as in Wiki-based Web sites), forms are
replaced with a Rich Text Editor that do not capture the semantic of the
data.
In order to keep editing document-oriented data intuitive with
forms, the Media Research Group has developed XTiger Forms, a brand new
forms system based on a pseudo-WYSIWYG interaction style and which is
based on a document template language called XTiger designed at INRIA.
We currently have a full client-based implementation in Javascript.
The goal of the project is to continue the development of XTiger
Forms and to improve it. First, the actual rendering algorithm will be
analyzed and a new algorithm will be proposed and implemented. The goal
of this reengineering is to improve performances (speed and use of
memory) and to support the definition of recursive components with
XTiger Forms to allow the editing of nested structures (such as in use
in a formula editor for instance). Second, some new design ideas will be
proposed for the actual pseudo-WYSIWIG user interface and will be
implemented, including borrowing ideas for constraining user's inputs
such as with XForms bindings.
This project requires to be knowledgable in Javascript programing
and in the DOM model. The code is managed with Subversion. The main
suggested development tool is Firefox with Firebug and a text editor.
Resource
Contact(s): Stephane Sire
|
|
Two projects in relation with Orbeon Forms (Master projects)
Orbeon Forms is an Open Source framework for programming XML based
Web applications with the help of the latest XML centric programming
languages: XPath, XForms, XSLT, XQuery and XML Pipeline Language. In
collaboration with Orbeon, we propose two master subjects for extending
the framework.
A first project is to develop an XForms engine dependency system
for Orbeon Forms. Depending on the time available, this dependency
system can be applied to the XForms recalculation algorithm and/or to
the XForms UI dependencies. More details are available here
(http://wiki.orbeon.com/forms/projects/xforms-engine-dependency-system
).
The second project is to implement the XProc W3C Standard in
Orbeon Forms. More details are available here
(http://wiki.orbeon.com/forms/projects/pipelines-xproc ).
These projects require excellent programming skills. The Orbeon
Forms framework is written partially in Java, Javascript and XSLT and
built with Ant.
Resources:
Contact(s): Stephane Sire, Christine Vanoirbeek, Erik Bruchez (* Orbeon) *Orbeon: Orbeon Company (US)
|
|
A Graphical Pipeline Editor application (Master project)
An XML Pipeline specifies a sequence of operations to be
performed on zero or more XML documents. Pipelines generally accept zero
or more XML documents as input and produce zero or more XML documents as
output. Pipelines are made up of simple steps which perform atomic
operations on XML documents and constructs similar to conditionals,
iteration, and exception handlers which control which steps are executed
(source: W3C XProc recommendation).
The goal of this project is to design and implement a graphical
pipeline editor which can be run in a Web browser. The editor should be
independent from the pipeline language syntax, so that for instance it
could be used to edit XPL pipelines (Orbeon Forms pipeline language) or
XProc pipelines (W3C recommendation). The design of the editor can take
inpiration into other graphical interface builders such as Interface
Builder on Mac OS X, or the Yahoo Pipes editor. An advanced programming
toolkit will have to be chosen for the implementation, potential
candidates include Dojo or Cappuccino (a Cocoa framework inside a
browser).
Resources
Contact(s): Stephane Sire, Christine Vanoirbeek
|
|
Plateforme multilingue de coopération pour les délégués participant aux
conférences internationales (Master project)
Le projet vise à développer une plateforme de collaboration en
ligne évolutive, intégrant différents modules et fonctionnalités. Le
site sera mis à disposition des 200'000 délégués qui participent chaque
année à des conférences internationales à Genève. Le site entend
faciliter leur travailet vise, plus spécifiquement, les objectifs
suivants:
-
Faciliter la mise en réseau et le maintien des contacts entre
délégués, avec la possibilité d’identifier des délégués selon les
conférences suivies, les régions et les domaines d’affinité.
-
Veiller à la protection des données personnelles.
-
Permettre le partage d’informations et de documents avec la
possibilité de gérer la portée des informations postées (avec qui on
les partage) et de filtrer les informations reçues selon différents
critères.
-
Faciliter l’interaction multilingue en intégrant des web
services de traduction
-
Mettre à disposition des outils de collaboration en ligne:
édition de document collective, forum de discussion, etc.
-
Permettre aux délégués de disposer de leur page personnelle.
Technologies visées : de préférence open source, Serveur
apache/php/mysql ou éventuellement java.
Mots clés : Collaboration en ligne.
Contact(s): Christine Vanoirbeek, Sébastien Ziegler (*MandatInternational) , Maurizio Rossi (* MandatInternational) *MandatInternational: Fondation "Mandat International" (CH)
|
|
Module de représentation spatiale interactive d'objets domotiques (Master
project)
Le projet vise à implémenter un module de représentation spatiale
3D en SVG pour un système de gestion domotique multi protocolaire. Le
système en question permet de gérer toutes sortes d’objets intelligents
(capteurs, actuateurs, appareils, etc.), quels que soient leurs
protocoles de communication. Le module devra permettre aux utilisateurs
d’interagir avec les objets domotiques via une représentation spatiale
pour faciliter le suivi et la gestion. Le projet sera utilisé dans le
cadre d’un projet novateur de Smart IPv6 building qui sera réalisé à
Genève près de l’ONU.
Le module devra notamment :
-
Offrir une interface graphique utilisateur 3D (SVG, PHP, Ajax)
permettant d'interagir de manière bidirectionnelle avec les objets
domotiques gérés par le système;
-
Intégrer un module d’édition de l’environnement 3D;
-
S'interfacer avec des bases de données relationnelles
utilisées par le programme central et interagir avec ce dernier via
des web services.
Technologies visées : PHP, Ajax, SVG, Java.
Mots clés : 3D, domotique, Internet des objets, représentation
spatiale, interface graphique utilisateur.
Contact(s): Christine Vanoirbeek, Sébastien Ziegler (*MandatInternational) , Maurizio Rossi (* MandatInternational) *MandatInternational: Fondation "Mandat International" (CH)
|
|
Affichage interactif à contenu riche pour un système de gestion domotique
(Master project)
Le projet vise à réaliser une interface graphique utilisateur
(GUI) destinée à être affichée sur des écrans tactiles dans différents
lieux d’un bâtiment. Les GUI permettront d’interagir (de manière
bidirectionnelle) avec un système domotique multi-protocolaire pour la
gestion de toutes sortes d’objets intelligents (capteurs, actuateurs,
appareils, etc.). La GUI permettra également de communiquer des
informations aux utilisateurs. Le projet sera utilisé dans le cadre d’un
projet novateur de Smart IPv6 building qui sera réalisé à Genève près de
l’ONU.
Le module devra notamment :
-
Etre intégré au programme central (Java) via des webservices
et interagir avec ses bases de données relationnelles.
-
Générer des interfaces graphiques utilisateurs (Ajax, PHP)
personnalisées en fonction du lieu.
-
Permettre aux utilisateurs d’interagir avec le système central
via la GUI.
-
Intégrer un système permettant à l’administrateur du système
de gérer l'ensemble des écrans.
Technologies visées : PHP, Java script, Ajax, Java.
Mots clés : interface graphique utilisateur, interactivité,
domotique, Internet des objets.
Contact(s): Christine Vanoirbeek, Sébastien Ziegler (*MandatInternational) , Maurizio Rossi (* MandatInternational) *MandatInternational: Fondation "Mandat International" (CH)
|
|
Intégration de bases de données relationnelles (Master project)
Le projet vise à fusionner une dizaine de bases de données liées à
la coopération internationale en une plateforme intégrée de bases de
données relationnelles. Il s’agit de définir une nouvelle structure
générique, en appliquant les standards et les "best practices"
pertinentes, afin de créer une base de données normalisée transversale
et multifonctionnelle qui sera utilisée par différents sites Internet
dynamiques et pour différents services (agenda des conférences, portail
de liens, base de données d’organisations, géo localisation de services,
etc.).
Le projet implique notamment de:
-
Analyser les structures de données actuelles
-
Proposer un schéma de remplacement permettant de réunir les
différentes données dans une base de données commune. Créer le cas
échéant des vues dynamiques destinées à remplacer les tables
existantes pour faciliter l’adaptation des sites Internet
préexistants.
-
Planifier le transfert des données et écrire les scripts de
migration.
-
Développer une interface d’édition des données.
-
Développer un système automatique permettant aux acteurs
présents dans la base la mise à jour des données les concernant.
Technologies visées : BDD relationnelles (MySQL ou PostgreSQL),
PHP+Ajax (ou autre) pour la partie édition.
Mots clés : Base de données relationnelles, normalisation,
intégration.
Contact(s): Christine Vanoirbeek, Sébastien Ziegler (*MandatInternational) , Maurizio Rossi (* MandatInternational) *MandatInternational: Fondation "Mandat International" (CH)
|
|
Semantic web–based decision aid for Enterprise Interoperability (Master
project)
The goal of the project is to develop a decision-aid system to
detect interoperability problems (incompatibilities) occurring in an
enterprise, based on Semantic Web technologies.
Work to be done is mainly based on results collected in several
European projects (such as INTEROP-NoE; ATHENA); it constitutes a
knowledge base of known interoperability problems and their solutions,
encoded in OWL as instances of OoI (Ontology of Interoperability)
concepts.
The work will consist in
-
Conceiving a reasoning model (e.g. sequences of rules) based
on the enhancement of ontology of interoperability (OoI) encoded in
OWL-DL.
-
Implementing a problem detection engine based on this
reasoning model (JAVA language is preferred, using the Semantic Web
JENA API, but any other language is possible).
Required competencies:
-
French or English speaking/writing; English writing
mandatory
-
Good skills in programming (Java or C++)
-
Good skills in modelling: at least UML notions; experience in
conceptual or ontological modelling is an asset.
-
Knowledge of XML and XML processing is required
-
Experience in Semantic Web technologies is not necessarily
required but is an asset (RDF/S, OWL, Ontologies, Inference Engine
mechanisms ...)
-
Any knowledge in the fields of Artificial Intelligence,
Interoperability, Enterprise Modelling or Systemic Modelling is
definitively an asset.
Contact(s): Christine Vanoirbeek, Yannick Naudet (* CRP-HT) *CRP-HT: Centre de Recherche Public Henri Tudor (LU)
|
|
Systemic analysis of enterprise for interoperability (Master project)
The goal of the project is to develop a prototype allowing the
systemic analysis of an enterprise, focusing on the detection of
interoperability problems.
The work to be done consists in:
-
The design of a conceptual model of the Enterprise - encoding
it in the form of an OWL ontology - it will be based on a
bibliography work on systemic enterprise models
-
The design and implementation of a prototype interface
allowing the user to enter information concerning his enterprise, in
such a way that a systemic model of the enterprise can be
constructed in the background. The Human-machine interface can, for
example, take the form of a wizard asking questions and adapting
next questions according to the given answers.
Required competencies:
-
French or English speaking/writing; English writing
mandatory
-
Good skills in programming (Java or C++)
-
Good skills in modelling: at least UML notions; experience in
conceptual or ontological modelling is an asset.
-
Knowledge of XML and XML processing is required
-
Experience in Semantic Web technologies is not necessarily
required but is an asset (RDF/S, OWL, Ontologies, Inference Engine
mechanisms ...)
-
Any knowledge in the fields of Artificial Intelligence,
Interoperability, Enterprise Modelling or Systemic Modelling is
definitively an asset.
Contact(s): Christine Vanoirbeek, Yannick Naudet (* CRP-HT) *CRP-HT: Centre de Recherche Public Henri Tudor (LU)
|
|