Table des matières

Kmelia Glossary

(Glossary of the Kmelia Model)

Overview

metamodel

Component

Service

Basics

Action

service actions are horizontal service structuring mechanisms

Channel expression

The general syntax is

channelExpr:<RoleId>[<selector>](!|?|!!|??)comName(param*)
  * channel
      * caller communication <code>channelExpr = __CALLER</code>
      * internal communication <code>channelExpr = __SELF</code> 
      * external communication <code>channelExpr = _reqServName</code>
  * role (only for shared services) : subset of the callers (see multipart communications)
  * selector (only for shared services) : index in the subset of the callers and maybe roles (see multipart communications)

Annotation

annotations are vertical service structuring mechanisms

st <<serv_name>>
label = [[serv_name]]

in each case serv_name belongs to the service subprovides interface of the depending service

Subservice

a subservice (of a service) is a provided service that belongs to the subprovides interface of another provided service.

Extension

* protocol : a special kind of provided services of a component whose eLTS includes simple expressions and subservices,
* shared service (see N-part assemblies),
* virtual context,
* query provided service : no side effect

Assembly

Basics

An assembly is a set of component instances definition together with assembly links.

direction C1.s1 C2.s2

where direction is p-r or r-p, C1 and C2 are component instance denominations and s1 and s2 are service names.

the context mapping is associated to a link.

the context mapping is associated to a link.

Assembly (Type)

An assembly type is just the generalisation into a reusable structure.

ASSEMBLY typename 
   componentOrAssembly declarations
   links declaration

Hence an assembly can be defined from component instances or assembly instances.

Assembly (matching)

Pour chacun

a voir plus tard : le partage de sous-liens

Assemblage

 ASSEMBLY Stock
 Components
    sm : StockManager;
    ve : Vendor
 Assemblies
    a1 : A1;
    ...
 Links
   l1: p-r sm.newReference, ve.addItem
       context mapping
           ve.catalogEmpty = ...
           ...
       message mapping
           n1 = n2
           ...
       sublinks : {sl1, sl2, ...}

Composition

A composition is the encapsulation into a (composite) component of a set of assembly instances definition together with promotion links and promoted (sub)component observable variables.

Composition

COMPONENT
...
COMPOSITION
Assembly
   same as assembly
End
Promotion
   Links
   l1: p-r sm.newReference, ve.addItem
       context mapping
           ve.catalogEmpty = ...
           ...
       message mapping
           n1 = n2
           ...
       sublinks : {sl1, sl2, ...}
   Variables
           ve.catalogEmpty = ...
           ...
END_COMPOSITION

Datatypes and Predicates

N-part assembly