Daniel
Amyot: CSI/SEG Honours, COOP, and Masters projects - 2014
Notez bien / Please note
- Bien que ces descriptions soient en anglais, les projets peuvent
être faits en français. Vos projets personnels dans les
domaines du génie logiciel ou de l'ingénierie des
exigences sont les bienvenus.
- Your personal projects in the areas of software engineering or
requirements engineering are welcomed.
- Most of these projects should be done in teams of two (or more)
people.
- These projects can be turned into Master's projects as well.
- For more information, please e-mail me at damyot@eecs.uottawa.ca
Projects Available
Project DA-16: Tablet or Web-based interfaces for healthcare applications (new S-2014 for SEG or CSI)
I participate to a number of projects related to healthcare informatics, which exploit care process management and various kinds of patient flow models. Many of these applications require interfaces usable efficiently by nurses and other employees that are not computer experts. Contact me for punctual opportunities!
Project DA-15: Regulatory Intelligence with GRL and BI (new S-2014 for CSI)
URN's Goal-oriented Requirement Language (GRL) is a graphical language for describing system stakeholders, their objectives, and their relationships. It has been used for many years to model laws and regulations in a way that enables compliance analysis with Business Intelligence tools, leading to Regulatory Intelligence. I have a number of opportunities for modeling and analysing regulations and for enhancing the tools and techniques used in that domain, often in collaboration with industrial partners. Contact me for punctual opportunities!
Project DA-13: Web-based Editor for GRL (new S-2014 for SEG or CSI)
URN's Goal-oriented Requirement Language (GRL) is a graphical language for describing system stakeholders, their objectives, and their relationships. jUCMNav is an Eclipse-based tool that supports GRL. However, jUCMNav cannot really work efficiently on a Web-based environment, and such environment would help make GRL available to all more easily. This project aims to provide an intuitive model editor for creating and manipulating GRL models via a Web interface. Requirements (to be negotiated) include:
- Support for Firefox and (Chrome and/or Internet Explorer)
- Server-side management of models
- Compatibility with the URN metamodel used by jUCMNav
- Support for GRL indicators and strategies
Project DA-11: Enhanced support for AoURN (new F-2012 for SEG or CSI)
The Aspect-oriented User Requirements Notation (AoURN) is a framework that combines goal-oriented, scenario-based, and aspect-oriented modeling in support of requirements engineering activities. Partial tool support is already present in jUCMNav to create concerns and graphical AoUCM models (on the scenario side of URN), and to match and compose aspects in AoUCM models. However, the support for AoGRL (on the goal side) is still very weak. This project will aim to improve this situation by adding functionalities to jUCMNav:
- Missing GUI elements for specifying AoGRL models
- Aspect matching and composition for AoGRL models, with suitable visualization of results
- Possibly: Integrated matching and composition of aspects that integrate UCM and GRL elements
- Possibly: Improved acpect matching (regular expressions) for AoUCM/AoGRL models
Past Projects
Project DA-1: Report Generation for jUCMNav (revised F-2012 for SEG or CSI) - DONE
jUCMNav is an Eclipse plug-in that supports the graphical editing of User Requirements Notation models, composed of Use Case Map (UCM) and Goal-oriented Requirement Language (GRL) views. This project aims to improve the current prototype report generator that supports various formats (hyperlink-enabled PDF, HTML, and Word/RTF). In particular, there is a need to:
- Report on the execution of scenarios (textually, and possibly graphically through Message Sequence Charts)
- Handle GRL indicators
- Provide more options related to the report content, such with or without:
- GRL strategies
- UCM scenarios
- OCL constraint verification
- Metadata in general, or some specific tags (e.g., for alternate languages)
- Internationalize reports so they can be generated in French in addition to English
- Fix related bugs along the way
Example model (Service in a Wireless Network)

Project DA-2: UML 2.0 profile for URN (revised W-2005) - DONE
The User Requirements Notation (URN) is currently being standardized by
the
International Telecommunications Union. URN is composed of two
complementary
languages: the Goal-oriented Requirements Language (GRL) and the Use
Case
Map (URN) scenario notation. This project consists in creating a UML
2.0 profile
for GRL and/or UCM. Familiarity with UML class diagrams is a must, and
experience with metamodelling would be an asset (although this is not
typical of undergrad students). This project could lead directly to an
important contribution to ITU (Z.159). Experimentation will be done
with Tau G2, which
supports the creation of profiles.
Project DA-3: UCM-based Test Generation for Web Applications (new
W-2005) - DONE
Despite their apparent simplicity, Web applications are surprisingly
difficult to
develop and test when averse circumstances are considered. Several
interesting
frameworks like FIT and FitNesse (popular in the Extreme Programming
community) ease the process of describing test cases and
testing the Web application. In this project, we will generate test
goals from
Use Case Map models describing (test-oriented) requirements for the Web
application,
and then transform these test goals into FitNess tests. Most of the
work will be
on the conversion of test goals to FitNess test cases as the model
creation is
supported by UCMNav and the test goal generation by UCMNav/UCMExporter.
A case
study will be developed.
Project DA-4: Scenario Viewer for UCMNav (revised W-2005) - DONE
The UCM scenario notation, currently being standardized by the
International Telecommunications Union, is used to capture functional
requirements for large (software) distributed systems. Conversion and
refinement of UCM scenarios to Message Sequence Chart (MSC) and UML
Sequence Diagrams are now supported by the UCMNav tool, with the
UCMExporter tool. This project aims to produce an MSC / UML-SD viewer
(not an editor) for the scenarios produced by UCMNav/UCMExporter.
This viewer will use the intermediate XML representation of UCM
scenarios generated by UCMExporter. This project will involve XML/XSLT
and Java development and will
involve improvements to UCMExporter itself.
Project DA-5: Static Analysis and Metrics for URN models with
jUCMNav
(Revised F-2008) - DONE
jUCMNav is an Eclipse plug-in that supports the graphical editing of
Use Case Map (UCM) and Goal-oriented Requirements Language (GRL)
models (see snapshot above). This project aims :
- Report various potential problems in URN models (User
Requirements Notation, i.e. UCM+GRL), in Eclipse's Problems View. The
infrastructure for reporting warnings and errors is already in place,
as it is used in a few contexts already (e.g., scenario execution in
jUCMNav)
- Add a new view to the jUCMNav interface that would report on
various metrics (number of components, number of responsibilities or
goals, various ratios per diagram or for the entire model, etc.), and
potentially export them to a comma-separated value (CSV) file.
Several
extensions already exist for jUCMNav and could be used as examples.
Familiarity with Java and UML class diagrams is a must, and
experience with Eclipse and metamodelling would be an asset (although
this is not
typical of undergrad students).
Project DA-6: Eclipse-based UCM Editor (new W-2005) - DONE
UCMNav is a tool that supports the editing and analysis of Use Case Map
models.
However, this tool has evolved from a simple prototype over a period of
8 years, is implemented in C++ (with XForms), relies on X11R6, and is
now unmaintainable.
This project aims to develop and prototype the next-generation
architecture of UCMNav, which will be based on Eclipse (and Java).
Solid knowledge of Java, design patterns, and Java GUIs is a must, and
familiarity with Eclipse and C++
would also be useful assets. Not all functionalities of UCMNav are
expected to
be supported, but the architecture should allow their support in the
future.
Project DA-7: GRL Editor (revised S-2005) - DONE
The Goal-oriented Language (GRL) is a modeling language currently being
standardized by the International Telecommunications Union as part of
the User Requirements Notation (URN). In this project, an editor
supporting
the GRL notation as well as GRL evaluations will be developed. This
editor
will need to interoperate with the jUCMNav tool (for Use Case Maps, the
other language in URN) to maintain traceability links. jUCMNav is an
Eclipse
plug-in, so solid knowledge of Java is required.
Project DA-8: Automatic Layout for Use Case Maps (W-2005) - DONE
Use Case Maps contain scenario paths (splines) superimposed on a
structure of components (usually rectangles). UCMNav supports the
creation and editing of UCM models, however, it has no auto-layout
mechanism. Such a mechanism is
essential in a context where UCM models are reverse-engineered from
existing
software or designs. This project targets the creation of a tool
(integrated to UCMNav or as a stand-alone tool) that would add the
layout information
to a UCM model. Existing tools such as GraphViz could be integrated to
this
tool, or else specific layout algorithms could be created. This project
requires knowledge of XML and of parsing technologies/tools in general.
Project DA-9: Generation of CSM models from UCM models with jUCMNav
(F-2005) - DONE
The Use Case Map (UCM) scenario notation, currently being standardized
by the International Telecommunications Union, is used to capture
functional requirements for large (software) distributed systems. UCMs
support performance annotations
that enable the generation of performance models in early development
phases.
The Core Scenario Model (CSM) representation is used as an intermediate
representation
for the generation of models in Queueing Networks, LQN, Stochastic
Petri Nets, etc.
CSM has a syntax defined as a XML schema. In this project, the students
will extend jUCMNav
(a UCM editor implemented as an Eclipse plug-in) to convert UCM models
to the CSM representation
(i.e., by generating CSM files). A similar exercise has been done for
the older
UCMNav tool, so many documented algorithms are already available.
Moreover, the new performance annotations in jUCMNav are much more in
line with the CSM concepts than
the annotations in the older UCMNav tool. This project requires solid
knowledge of Java and XML, and eagerness to learn about the Eclipse
platform. Background in performance
engineering not required.
Project DA-10: Aspect-Oriented E-commerce Project: Online Photo
Store (F-2005) - DONE
Shoppers browse through and buy from a database of hundreds of digital
photos. The online photo store requires functionality for the shopper
as
well as for management. Shoppers view photos by country or search for
photos by specifying a set of criteria (e.g. location, event, subject,
theme, ...). When a shopper securely buys a photo, the photo is sent to
the shopper after payment verification. Management adds photos to the
database, updates and deletes them, defines search criteria, and views
statistics on how often photos are viewed and bought by shoppers.
This project requires good knowledge of Java as well as eagerness to
learn
about the Eclipse platform and AspectJ
or CME. Interested students can
expect to a) spend a significant amount of time on use-case modeling
for
requirements elicitation and analysis, b) research and evaluate
alternative architectures, c) define the architecture of their choice
with
their chosen Internet technologies using aspect-oriented techniques, and
d) implement and test the Online Photo Store with an aspect-oriented
programming environment. This project will be co-supervised by Ph.D
student Gunter Mussbacher.
Project DA-12: Textual Syntax for GRL, with Editor (new S-2014 for CSI)
jUCMNav is an Eclipse plug-in that supports the graphical editing of User Requirements Notation models, composed of Use Case Map (UCM) and Goal-oriented Requirement Language (GRL) views. Although graphical notations are great for understanding models, they may not always be efficient for creating models. This project aims to provide a textual syntax for the GRL part of URN with:
- Support provided by an Eclipse-based editor (e.g., using Xtext)
- Compatibility with the URN metamodel used by jUCMNav
- Support for GRL indicators and strategies
- Interoperability with jUCMNav
Project DA-14: Tablet-based Editor for GRL (new S-2014 for SEG or CSI)
URN's Goal-oriented Requirement Language (GRL) is a graphical language for describing system stakeholders, their objectives, and their relationships. jUCMNav is an Eclipse-based tool that supports GRL. However, jUCMNav cannot really work efficiently on a tablet environment. This project aims to provide an intuitive model editor for creating and manipulating GRL models on a tablet. Requirements (to be negotiated) include:
- Support for Android and/or iOS
- GUI that exploits multi-point interfaces available on tablets
- Compatibility with the URN metamodel used by jUCMNav
- Support for GRL indicators and strategies
Project Resources