HistoryViewLinks to this page Revision from: 2012 September 13 | 08:35 am
This is the revision from 2012 September 13 at 08:35 amView the current live version of the article.

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

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:children 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.)
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:children 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 View

A Diagram View 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: DiagramView
  • Type URI http://open-services.net/ns/am#DiagramView
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:position 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 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.

Issues

  1. oslc_am:order has no description. Fixed.
  2. The coordinate system used is not specified sufficiently.