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