modelbased.net
COMET
 

COMET - UML profile for service architecture model

Introduction

This UML profile defines the stereotypes that COMET will use for modelling the system architecture, which includes the components, their interfaces and relationships as well as their properties.

Structuring Concepts


Concept

Extended Property

Description

UML Mapping

Icon

Application Specification

 

Application specification.

Package

<<ApplicationSpec>>

Business Service Specification

 

Business service specification.

Package

<<BusinessServiceSpec>>

Protocol Specification

 

Shared or standard protocol specification. (Modelled as role models.)

Package

<<ProtocolSpec>>

 

Resource Service Specification

 

Resource service specification.

Package

<<ResourceServiceSpec>>

Service Architecture Model

 

The model package that contains the service architecture model.

Model

<<ServiceArchitectureModel>>

 

Tool Specification

 

Tool specification.

Package

<<ToolSpec>>

Type Library

 

Type libraries define various datatypes and primitive classes that are used in the architecture extending the simple, primitive types supported by UML such as string, float, integer, etc.

Package

<<TypeLibrary>>

 

User Interface Specification

 

User interface specification.

Package

<<UserInterfaceSpec>>

User Resource Service Specification

 

User resource service specification.

Package

<<UserResourceServiceSpec>>

User Service Specification

 

User service specification.

Package

<<UserServiceSpec>>

Modelling Concepts


Concept

Extended Property

Description

UML Mapping

Icon

Application Component

 

Application component is a business level component, which provides end-user functionality within a business do-main. An application aggregates sets of tool, business service, interworking work-flow and resource service components.

Component

<<Application

Business Service Component

 

A Business Service Component provides business functionality for User Service Components and thus implements business logic. A Business Service Component has transactional responsibility and has ownership of the information available through that service. Information is represented by entities (business entities).

Component

<<BusinessService>>

Composite Data

 

A composite data structure.

Class

<<CompositeData>>

 

Entity

 

An entity is a persistent data object that is managed by a component. We can define components that are solely responsible for a specific entity type.

Class

<<Entity>>

 

EntityData

 

Persistent data managed by an entity.

Class

<<EntityData>>

 

Event

 

The description of an event.

Class

<<Event>>

 

Event Interface

 

An event interface publishes or subscribes to events. Events in this context are descriptions of an actual event having occurred.

Interface

<<EventInterface>>

 

Message

 

The description of a message.

Class

<<Message>>

 

Message Interface

 

A message interface operates on messages, which unlike events that are read-only, also can be modified. In addition to the publish and subscribe mechanism, messages can also be written to directly using put and get operations.

Interface

<<MessageInterface>>

 

notification

 

Operation that indicates oneway notification of event, where a client is notified of an event. Implies a receiving notification/listener interface on the client side.

Operation

<<notification>>

 

oneway

 

Operation that indicates directed, oneway request with no return values.

Operation

<<oneway>>

 

PrimaryKey

 

A primary key defines a persistent unique identifier for a specific entity. The primary key may also be defined as a PrimaryKeyField attribute on the Entity itself.

Class

<<PrimaryKey>>

 

PrimaryKey

Primary Key Field

Part of primary key for an entity.

Property

<<PrimaryKeyField>>

 

Protocol

 

Protocols define the interaction between components. A protocol is associated with some behavioural specification, e.g. state machines and/or sequence diagrams.

Class

<<Protocol>>

publishes

 

Publishes from a business service component to an event or message.

Dependency

<<publishes>>

 

request-response

 

Operation that indicates directed request with return value.

Operation

<<request-response>>

 

Resource Service Component

 

A Resource Service Component provides access to underlying resource providers, e.g. a data store. It provides the necessary interfaces to store, retrieve, and query information from a resource provider. These may also be described, if it seems necessary to explicitly capture specifics of persistent resource storage design, e.g. because the logical business entity model differs greatly from the data storage design.

Component

<<ResourceService>>

solicit-response

 

Operation that indicates a two-way notfication with response, where a client is notified of an event and can respond to that event. Implied a receiving notification/listener interface on the client side.

Operation

<<solicit-response>>

 

Subscribes

 

Subscribes from a business service component to an event.

Dependency

<<subscribes>>

 

Tool Component

 

Tool component represents a logical client-side component, consisting of user interface, user service, and user resource service components. A Tool Component is a composition or usage of a set of user interface and user service components. A tool component implicitly accesses a set of business service components via its user service components. A tool component represents functionality that supports a particular business role in a set of use cases; as such, it is closely linked to the business and the business specification.

Component

<<Tool>>

User Interface Component

 

User interface components provide presentation and/or user dialog logic. A User Interface Component is any component used by a tool to provide interactive services for an end user. A User Interface Components accesses User Service Components to provide the necessary business functionality for the end user.

Component

<<UserInterface>>

User Resource Service Component

 

A User Resource Component provides resource (typically data) services to a given User Service Component.

Component

<<UserResourceService>>

User Service Component

 

User service components provide user-specific abstractions of a set of business services. A User Service Component provides an abstraction from the business service tier. It provides middleware transparency for the client-side. This decreases complexity for client developers. A User Service Component packages a service and a set of entities. The service represents the functionality available to a client. The entities represent the information abstractions available through the service. The entity within a user service is a local, session-specific representation of business entity concepts.

Component

<<UserService>>

ValueType

 

A simple value type.

Class

<<ValueType>>

 

Validation rules

Validation rules are composed of a set of metrics (m), which qualifies the model, and absolute constraints (c), which can invalidate the system if the model does not meet the criteria.

Name

MetaClass

Description

Check User Interface Specification

Package

 

A UserInterface can only access UserService or an interface thereof.

Check User Service Specification

Package

 

A UserService can only access BusinessService or an interface thereof.

Check Business Service Specification

Package

 

A BusinessService can only access other BusinessService components and ResourceService component or an interface thereof.

Check Component Structure

Package

Checks that the component is modelled according to the component model management structure.

Predefined views


Name

MetaClass

Description

Component Interface View

(detailed & non-detailed)

Package

 

Displays the interfaces of the selected component specification package.

Interface Information View

 

interface

 

Displays the information model of the selected interface class (return values, parameters, …)

 

Collaboration Specification View

 

Package

 

Displays the collaborations and dependencies between the subcomponents of the component package.

Component Dependencies View

Package

Displays the external dependencies of the selected component specification.

Component Specification View

Package

Displays all visible properties (interfaces, return values, …) of the selected component specification.

Examples

Figure 1: Detailed Interface View

Figure 1 shows a detailed view of the provided interfaces.

Figure 2: Interface Information Example

Figure 2 shows the information elements exposed by an interface.

Figure 3: Component Collaboration View Example

Figure 3 shows an example of Component Collaboration View.