CSC2125:
Modeling Methods, Tools and Techniques
Fall 2012
Term Project
Description
Your
project is worth 50% of your final grade. There are several types of
projects that can be carried out.
Projects can be done alone or in a team of up to two people (where the
expectations would be higher).
Deliverables are:
·
A written report (10 pages in ACM conf. style maximum)
·
A copy of any software developed as part of your
project, documented using JavaDoc, and with a short (1 page) usage guide
·
In-class project presentation + demo (if applicable)
·
A copy of all case studies developed, if applicable
·
Modelepedia documentation, if applicable
·
Completed MMTF/Modelepedia user experience form, if
applicable
If your project is an open research problem, your
report should include an introduction to and motivation of the research
problem, a clear and concise discussion of related work, and descriptions of
your methodology and results.
If you have done a development project you need to
include an introduction to the relevant background – with citations, a
description of the problem, description of the tool customization/development
you have performed, some examples to demonstrate its behavior, description of
results, insights and lessons learned. Your usage guide should explain how to
build and configure the tools and how to run/repeat your case studies. Your
documentation of models/relationships/transformations should be done in
Modelepedia.
Project
Schedule
Oct. 17 Project proposals (1
page) due
Dec. 12 Project papers/reports
due
Dec. 19 Project presentations
in class
Report Format
Submit your
report in PDF format, using the two-column ACM proceedings style. Templates are available from ACM.
Evaluation
Project
marks will depend on the depth and novelty of the ideas embodied in your
project, on the quality of your methodology, and on the quality of your written
report, in-class presentation, and software (if applicable).
Some project ideas
Students are
encouraged to propose and discuss their own project topics. We make available the Toronto Modeling
Framework (MMTF) as an infrastructure/workbench to support such projects. Here are some ideas:
·
Comparison
of transformation techniques:
o
Implement an
existing transformation in Henshin (or AGG) and MMTF. Verify it (using external verification or
informal argument). Compare
efficiency. Draw conclusions.
·
Activity
Diagram modeler and verifier:
o
Extend MMTF
to produce UML Activity diagrams (heavy type, including a metamodel, implement
in eCore). Implement an Activity
diagrams -> Petri Net transformation, from the literature, using MMTF. Invoke an existing Petri net model verifier.
Illustrate on several Activity Diagram examples.
·
ER Diagram
merging:
o
Extend MMTF
to product ER diagrams (heavy type, including a metamodel, implement in
eCore). Implement database schema
merging operator on top of MMTF.
Illustrate on several examples.
o
Alternatively
… Implement a transformation, from the literature, for converting a database
from relational to ER form. If possible,
verify it. Illustrate on several
examples.
Other ideas:
·
MMTF case
study:
o
Using
existing MMTF plugins, do a Cruise Control Example. Report on the experience.
·
Creation of
a non-trivial model in another modeling formalism (e.g., Alloy),
development/implementation of some operator/transformation, verification
·
Comparison
of several modeling / transformation approaches
·
Application
/ development of model management operators
·
`New’
domains:
o
Model
management and evolution of graphs representing social networks
o
Modeling/reasoning
with variability / uncertainty / adaptability
o
Use of
modeling for runtime
o
Etc.
Send
questions or comments to chechik@cs.toronto.edu