You are on page 1of 1

Component

-interfaces: Map<String, Interface>


#addPortsToNewInterface(name:String,ports:Port[])
#link(port:PortProvided,services:ServiceProvided[])
#link(port:PortRequired,services:ServiceRequired[])
#getPortProvided(portName:String): PortProvided
#getPortRequired(portName:String): PortRequired
+getInterface(name:String): Interface
Interface
-name: String
-component: Component
-portProvideds: Map<String, PortProvided>
-portRequireds: Map<String, PortRequired>
+addPortProvided(port:PortProvided)
+addPortRequired(port:PortRequired)
+getPortProvided(portName:String): PortProvided
+getPortRequired(portName:String): PortRequired
ConnectorPrimitif
#glue(roleProvided:RoleProvided,glue:Glue,
roleRequired:RoleRequired)
+mapAndDispatch(roleProvided:RoleProvided,
params:Map<String, Object>): Object
ComponentComposite
-subInterfaces: List<Interface>
#composedOf(component:Component)
#connect(portRequiredName:String,assignRequired:Assignment[],
connector:Connector,assignProvided:Assignment[],
portProvidedName:String)
#bindProvided(portName:String,portProvidedNameToBind:String): PortProvidedBinder
#bindRequired(portName:String,portRequiredNameToBind:String): PortRequiredBinder
-getSubPortRequired(portRequiredName:String): PortRequired
-getSubPortProvided(portProvidedName:String): PortProvided
ComponentPirimitif
PortProvided
+addService(service:ServiceProvided)
+getService(serviceProvidedName:String): ServiceProvided
ServiceProvided
EnumScope
+PUBLIC
+PRIVATE
EnumMode
+SYNCHRONE
+ASYNCHRONE
+CONTINUE
Property Constraint
RoleRequired
-serviceProvidedName: String
+dispatch(serviceName:String,params:Map<String,
Object>): Object
RoleProvided
+dispatch(params:Map<String, Object>): Object
PortRequired
+addService(service:ServiceRequired)
+setAttachment(attachment:AttachmentPR)
+invoke(fromService:String,params:Map<String,
Object>): Object
+getService(serviceRequiredName:String): ServiceRequired
ServiceRequired
+invoke(params:Map<String, Object>): Object
Connector
-glues: Map<RoleProvided, Couple<Glue, RoleRequired>>
-roleProvideds: Map<String, RoleProvided>
-roleRequireds: Map<String, RoleRequired>
+getRoleProvided(roleName:String): RoleProvided
+getRoleRequired(roleName:String): RoleRequired
ConnectorComposite
+composedOf(connector:Connector)
AttachmentPP
+dispatch(serviceName:String,params:Map<String,
Object>): Object
-matchParametersAndReturnType(service:ServiceProvided,
role:RoleRequired): Boolean
AttachmentPR
+dispatch(fromService:String,params:Map<String,
Object>): Object
-matchParametersAndReturnType(service:ServiceRequired,
role:RoleProvided): Boolean
Port
-name: String
-mode: EnumMode
#addService(service:Service)
+call(serviceName:String,params:Map<String,
Object>): Object
+getService(serviceName:String): Service
Service
-name: String
-scope: EnumScope
-args: Map<String, Class<?>>
-returnType: Class<?>
+execute(params:Map<String, Object>): Object
#call(serviceName:String,params:Map<String,
Object>): Object
#addParameter(argumentName:String,type:Class<?>)
#returnType(type:Class<?>)
#operation(params:Map<String, Object>): Object
-testParametersSend(params:Map<String, Object>): boolean
-testReturnType(returnObject:Object): boolean
1
1
is offered by 1..*
know
1..*
1
1..*
1..* 1..*
call
PortProvidedBinder
-portBinded: PortProvided
-MODE: EnumMode = SYNCHRONE
+call(serviceName:String,params:Map<String,
Object>): Object
+getService(serviceProvidedName:String): ServiceProvided
PortRequiredBinder
-portBinded: PortRequired
-MODE: EnumMode = SYNCHRONE
+call(serviceName:String,params:Map<String,
Object>): Object
+invoke(serviceName:String,params:Map<String,
Object>): Object
+getService(serviceRequiredName:String): ServiceRequired
defined povided binding
defined required binding
bind to
bind to
Role
-name: String
-args: Map<String, Class<?>>
-returnType: Class<?>
-connector: Connector
#addParameter(argName:String,type:Class<?>)
#returnType(type:Class<?>)
1
1..*
Glue
+mapping(params:Map<String, Object>): Map<String,
Object>
1
Service of the
same Interface
invoke the remote
Service with current
Service is attached
1..*
1
1..*
Glue one provided Role
with one required Role
and define how to pass
from first to next role