HistoryViewLinks to this page 2013 January 17 | 09:35 am

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 artefacts of the software development lifecycle process. Diagrams are a way to view potentially complex information in a more consumable form. UML is perhaps 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 artefacts, and deserve special consideration. They are an integral part of architecture management resources. Many types of diagrams; UML Class, Sequence, Statechart, ER Diagrams, BPMN, etc. are expected to be managed by an OSLC AM service provider. Diagrams are special in sense they have a special representation form and media type; image/*. Most browsers are capable of rendering many image media types (png, jpg, svg, …).

For Architectural diagram resources simply GETing them with an Accept header of a known media type (i.e. image/* or image/png) should result in the service provider responding with the diagram representation in that form. If the resource is not renderable or not available in the specific media type requested, it simply responds with a 415 Unsupported media type.

We propose here 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.

The coordinate system used in the points is the native coordinate system of the image content type. The upper left hand corner represents the origin (0,0).

This resource was influenced by the HTML <map> element.

Usage Scenarios

Diagram Resource Example

Rational Design Management example

Examination of use of rdf:Seq instead of oslc_am:next

Similar but inappropriate vocabularies for expressing shape information like this include:

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 (OSLC Common property)
dcterms:description zero-or-one unspecified XMLLiteral n/a n/a A short description of the diagram. (OSLC Common property)
oslc_am:area zero-or-many unspecified Either Resource or Local Resource Either Reference or Inline oslc_am:DiagramRectangle oslc_am:DiagramPolygon Areas 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.)

Resource: Diagram Rectangle

A Diagram Rectangle is a simple rectangular 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: DiagramRectangle
  • Type URI http://open-services.net/ns/am#DiagramRectangle
Prefixed Name Occurs Read-only Value-type Representation Range Description
dcterms:title zero-or-one unspecified XMLLiteral n/a n/a A label that identifies the view, or what the view represents. (OSLC Common property)
oslc_am:represents zero-or-one unspecified Resource Reference any The uri of the resource that this view represents
oslc_am:x exactly-one unspecified integer n/a n/a The horizontal coordinate of the upper left hand corner of the area.
oslc_am:y exactly-one unspecified integer n/a n/a The vertical coordinate of the upper left hand corner of the area.
oslc_am:width exactly-one unspecified integer n/a n/a The width of the area.
oslc_am:height exactly-one unspecified integer n/a n/a The height of the area.
oslc_am:order zero-or-one unspecified integer n/a n/a The relative z-order that this area is compared to other areas. Lower values place this area under areas with higher values

Resource: Diagram Polygon

A Diagram Polygon is an irregularly shaped area in a diagram. It may represent another resource, or it could be just an element in the diagram. It is expressed as a sequence of points that represent the line segments that make up the polygon. It is expected that the first and last points are the same, and that the series of points forms a polygon where the line segments do not overlap.

  • Name: DiagramPolygon
  • Type URI http://open-services.net/ns/am#DiagramPolygon
Prefixed Name Occurs Read-only Value-type Representation Range Description
dcterms:title zero-or-one unspecified XMLLiteral n/a n/a A label that identifies the view, or what the view represents. (OSLC Common property)
oslc_am:represents zero-or-one unspecified Resource Reference any The uri of the resource that this view represents
oslc_am:coords exactly-one unspecified String n/a n/a A comma separated list of integers that represent the coordinates of the vertices of a polygon in the form of: x1,y1,x2,y2,..,xn,yn. If the first and last coordinate pairs are not the same, the client will add the last coordinate pair to close the polygon. See coords attribute of HTML <map> element
oslc_am:order zero-or-one unspecified integer n/a n/a The relative z-order that this area is compared to other areas. Lower values place this area under areas with higher values