Most of the architectural resources that we use in our scenarios either are or can be represented in diagrams. A diagram being a visual (as opposed to textual) representation of one or more artifacts of the software development lifecycle process. Diagrams are a way to view potentially complex information in a more consumable form. UML is prehaps the most recognized example of a visual notation for software concepts. UML also has underneath it a complex and comprehensive model of the things in its diagrams, and indeed most of the specification is about this underlying model, rather than the visual notation.
Diagrams are common place in the set of architectural artifacts, and deserve special consideration.
We propose here to define a Diagram resource type that clients can use to 1) recognize that the resource they are working with can be requested in a visual form (i.e. image/png) and 2) identify which resources appear in the diagram.
Usage Scenarios
Rational Design Management example DM Parts
Resource: Diagram
A Diagram is a visual representation of a resource. It often includes references/representations of other AM Resourcess.
- Name:
Diagram
- Type URI
http://open-services.net/ns/am#Diagram
Prefixed Name |
Occurs |
Read-only |
Value-type |
Representation |
Range |
Description |
dcterms:title |
exactly-one |
unspecified |
XMLLiteral |
n/a |
n/a |
Name of diagram |
dcterms:description |
zero-or-one |
unspecified |
XMLLiteral |
n/a |
n/a |
A short description of the diagram. |
oslc_am:nodes |
zero-or-many |
true |
Either Resource or Local Resource |
Either Reference or Inline |
oslc_am:DiagramNode |
Nodes or regions in the diagram. May represent another resource internal or external (another resource managed by another server). May just represent some component of the diagram (i.e. legend, boundary, etc.) |
oslc_am:lines |
zero-or-many |
true |
Either Resource or Local Resource |
Either Reference or Inline |
oslc_am:DiagramLine |
Lines connecting nodes in the diagram. May represent another resource internal or external (another resource managed by another server). May just represent some graphical element the diagram |
oslc_am:layers |
zero-or-many |
true |
Either Resource or Local Resource |
Either Reference or Inline |
oslc_am:DiagramLayer |
A layer in the diagram. |
Resource: Diagram Layer
A Diagram Layer is a subset of the visual elements in a diagram. This subset is named, and the elements of this set are typically related in some way (ie. same level of abstraction or purpose). The children property is also used in a single layered diagram. However a diagram is not required to have any layers.
- Name:
DiagramLayer
- Type URI
http://open-services.net/ns/am#DiagramLayer
Prefixed Name |
Occurs |
Read-only |
Value-type |
Representation |
Range |
Description |
dcterms:title |
exactly-one |
unspecified |
XMLLiteral |
n/a |
n/a |
A label that identifies the layer. |
dcterms:description |
zero-or-one |
unspecified |
XMLLiteral |
n/a |
n/a |
A description about the layer, for example its level of abstraction or purpose. |
oslc_am:views |
zero-or-many |
true |
Either Resource or Local Resource |
Either Reference or Inline |
oslc_am:DiagramView |
An element or part in the diagram. May represent another resource internal or external (another resource managed by another server). May just represent some component of the diagram (i.e. legend, boundary, etc.) |
dcterms:identifier |
exactly-one |
true |
String |
n/a |
n/a |
An identifier that can be used by a client to specify a specific layer to be rendered when requesting a diagram with an image type. |
Resource: Diagram Node
A Diagram Node is a visual element in a diagram. It may represent another resource, or it could be just an element in the diagram like a legend, or logo image.
- Name:
DiagramNode
- Type URI
http://open-services.net/ns/am#DiagramNode
Prefixed Name |
Occurs |
Read-only |
Value-type |
Representation |
Range |
Description |
dcterms:title |
exactly-one |
unspecified |
XMLLiteral |
n/a |
n/a |
A label that identifies the view, or what the view represents. |
dcterms:description |
zero-or-one |
unspecified |
XMLLiteral |
n/a |
n/a |
A description about the element in the diagram. |
oslc_am:represents |
zero-or-one |
true |
Resource |
Reference |
any |
The uri of the resource that this view represents |
oslc_am:area |
exactly-one |
true |
Local Resource |
Inline |
oslc_am:DiagramArea |
The rectangular region of the diagram that represents something, for example a resource. |
oslc_am:order |
zero-or-one |
true |
Integer |
n/a |
|
An ordinal value indicating the order of this view along the ‘z’ axis. That is higher number values are on top of views that have lower number values. |
Resource: Diagram Line
A Diagram Line is a visual element in a diagram that appears as a multi-segmented line. It may represent another resource, or it could be just an element in the diagram.
- Name:
DiagramLine
- Type URI
http://open-services.net/ns/am#DiagramLine
Prefixed Name |
Occurs |
Read-only |
Value-type |
Representation |
Range |
Description |
dcterms:title |
exactly-one |
unspecified |
XMLLiteral |
n/a |
n/a |
A label that identifies the view, or what the view represents. |
dcterms:description |
zero-or-one |
unspecified |
XMLLiteral |
n/a |
n/a |
A description about the element in the diagram. |
oslc_am:represents |
zero-or-one |
true |
Resource |
Reference |
any |
The uri of the resource that this view represents |
oslc_am:point |
one-or-more |
true |
Local Resource |
Inline |
oslc_am:DiagramPoint |
A point in a multi-segmented line. |
oslc_am:order |
zero-or-one |
true |
Integer |
n/a |
|
An ordinal value indicating the order of this view along the ‘z’ axis. That is higher number values are on top of views that have lower number values. |
Resource: Diagram Area
A Diagram Area is a rectangular area inside a diagram.
- Name:
DiagramArea
- Type URI
http://open-services.net/ns/am#DiagramArea
Prefixed Name |
Occurs |
Read-only |
Value-type |
Representation |
Range |
Description |
oslc_am:ul_x |
exactly-one |
true |
integer |
n/a |
n/a |
The horizontal coordinate of the upper left hand corner of the area. |
oslc_am:ul_y |
exactly-one |
true |
integer |
n/a |
n/a |
The vertical coordinate of the upper left hand corner of the area. |
oslc_am:lr_x |
exactly-one |
true |
integer |
n/a |
n/a |
The horizontal coordinate of the lower right hand corner of the area. |
oslc_am:lr_y |
exactly-one |
true |
integer |
n/a |
n/a |
The vertical coordinate of the lower right hand corner of the area. |
Resource: Diagram Point
A point in a diagram. Part of a multi-segmented line.
- Name:
DiagramPoint
- Type URI
http://open-services.net/ns/am#DiagramPoint
Prefixed Name |
Occurs |
Read-only |
Value-type |
Representation |
Range |
Description |
oslc_am:ul_x |
exactly-one |
true |
integer |
n/a |
n/a |
The horizontal coordinate of the point. |
oslc_am:ul_y |
exactly-one |
true |
integer |
n/a |
n/a |
The vertical coordinate of the point. |
oslc_am:ordinal |
exactly-one |
true |
integer |
n/a |
n/a |
The order of the point in a multi-segmented line, starting at 0. |
Issues
- oslc_am:order has no description. Fixed.
- The coordinate system used is not specified sufficiently.