What is to be developed in this project?
Association tracing.
[Syntax]
Associations tracing can occur in different forms and different keywords can be
used to indicate either form:
• Addition (add): Tracing will occur whenever an link of the association is
added; in other words when two instances of the associated classes are
connected. Thus, tracing involves tracing of methods that can add a link (i.e.
set and add methods). ‘add’ keyword is used to indicate the tracing of
association setting.
• Deletion (remove): Trace whenever a link of an association is deleted.
Thus, tracing involves tracing of methods that can remove a link (i.e. a remove
method, or a set method that sets a link to null). ‘remove’ is keyword is
used to indicate the tracing of link removal.
• Cardinality: Cardinality is the number of links of an association; it will
always be less than or greater than the constraints imposed by the
multiplicity. The ‘cardinality’ keyword is used to access the number of
links and thus used in any constraint in MOTL.
In addition, tracing of association can be constrained similar to constraining
attributes and state machines.
[Example]
class Company {
1 -- * Person employee;
Double salaries;
// Trace any addition of employees to the association link
trace add employee;
// Trace any deletion of employees to the association link
trace remove employee;
// Trace value of attribute salaries when there are more
// than 4 employees in a company
trace salaries where [cardinality(employee) > 4];
}
class Person {}
What changes would need to be made to the system?
Grammar
Metamodel
Code generation - Java and trace output can be Console or File
Tests (preferred to have a sample of systems used for semantic test)
How much work would need to be done to achieve this?
1 - 2 months
How is the work to be evaluated?
Hamoud is the main contact to evaluate and monitor the progress of this task.
Ask for any clarification.
Original issue reported on code.google.com by hjam...@gmail.com on 16 Jan 2014 at 3:49
Original issue reported on code.google.com by
hjam...@gmail.com
on 16 Jan 2014 at 3:49