Brad has created this "strawman" UML diagram of the System Data Elements for an SJTAG language (click on the image for a bigger version):
He also supplied some description:
Brad Van Treuren wrote:Basically, the diagram is trying to capture what types of elements we are going to have to understand at the system level. I have just listed them as description elements right now, because we clearly do not know all the details yet. An overview of UML, for those who do not know it, is:
The boxes represent classes or objects in the problem domain, the lines which end with white triangles (look more like arrows) show a specialization relationship ( the box the triangle is pointing to is the base object and the one connected to the line is the derived object with more specific features defined. The arrows are used to define relationships between the objects. The arrow direction show the uses relationship ownership. The numbers try to show the multiplicity of the relationship. So 1 represents exactly one instance of that object.
1..* represents one or more instances. 0..* represents zero or more instances. There is really more to UML than that, but I think that is what you will need to know to understand the diagram. Oh, yeah. The things that look like a file folder (e.g., sjtag.device) represents a package which shows a clustering of like information.
There was more detail supplied by e-mail (too much really to post here).
What are the comments and observations on the content of this diagram?
Pardon the intrusion of a stranger , but 1 small comment on Brad's strawman.
In the sjtag.board/BoardDescription there should also be an arrow leading to "BoardConfigurationDescription", particularly if there are two or more boards of the same type included in the system, but with different functions enabled/programmed in.