It isn't directly handled in EA, but I have requested that they do so.
I have tried the Tagged Value approach, but I can't get them to appear on the diagrams. The display specification for property strings is that they appear inside {curly braces}. Using the
New Text Element tool seems to get the notation on the drawing for now.
The heart of my question is what will the
Java code look like when one manually codes this design specification?
In case you're wondering, this issue arrises in the context of specalizing composite classes. Consider, for example, an abstract composite class
Vehicle having as an internal structure two parts:
PowerSource and
PowerDriver, which in turn are also abstract classes. An abstract association,
Powers, connects the two parts. All of these appear on the Class and Composite Structure diagrams. We are trying to make sure that the
PowerSource in a vehicle instance
Powers the
PowerDriver in the same vehicle instance and not in another. Vehicle may be specalized into things like car, airplaine, boat, or even bicycle.
Lets specalize Vehicle into Car. On the Class Diagram, we specalize
Vehicle into
Car,
PowerSource into
AutoEngine,
PowerDriver into
Wheel and show the composite association among the three.
On the Composite Structure diagram, we add the specalized Vehicle
Car as having internal parts
AutoEngine and
Wheel. We use the Property String
Redefines to show that
AutoEngine redefines PowerSource and that
Wheel redefines PowerDriver.
Having now completed my model, I toss it over the wall to a developer

who immediately generates the following Java:
// in file Vehicle.java
Abstract class Vehicle {
PowerSource powerSource;
PowerDriver powerDriver;
}
//in file PowerSource.java
Abstract class PowerSource{
String horsePower;
Public double getHorsePower() {return horsePower;}
}
// in file PowerDriver.java
Apstract class PowerDriver{
String color;
public String getColor(){return color;}
}
// in file AutoEngine.java
public class AutoEngine extends PowerSource {}
// in file PowerDriver
public class Wheel extends PowerDriver {}
and now, given that AutoEngine redefines PowerSource, we wish to write:
public class Car {
private double horsePower = AutoEngine.getHorsePower;
}
The problem is that Car inherits a reference to powerSource not autoEngine... We need to make autoEngine redefine powerSource...How does the developer make this work?