MathewWi / umple

Automatically exported from code.google.com/p/umple
0 stars 0 forks source link

Association tracing #483

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 10 Jun 2014 at 2:58

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 10 Jun 2014 at 2:58

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 5 Sep 2014 at 3:14