Daniel Amyot: CSI/SEG Honours, COOP, and Masters projects - 2014

Notez bien / Please note

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:

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:

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:
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 :
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:

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:

Project Resources