Projet

Général

Profil

MAY Terminology » Historique » Révision 2

Révision 1 (Anonyme, 10/10/2014 14:24) → Révision 2/17 (Anonyme, 10/10/2014 15:04)

h1. SpeADL Terminology 

 {{>toc}} 

 h2. MAY 

 MAY is a tool to build software components with SpeADL and Java. 

 h2. Software Component 

 A software component is at the same time the type of a component, an implementation of this type and the runtime entity that can be instantiated from this implementation. 

 h3. Component Class 

 A component class is at the same time a type and an implementation. 

 h2. Interface 

 An interface has a name and is a collection of operations. 
 In Java, interfaces are collections of methods. 

 h2. SpeADL Component 

 With MAY, a component is made of a SpeADL definition and a Java implementation. 

 h2. SpeADL Component Definition 

 A component definition is a SpeADL definition of a component type and optionally of a component implementation in the form of a configuration. 

 h3. Component Type 

 A component type has a name and a collection of ports. 
 It represents They are referred to with a component from the exterior: this is all that can be externally accessed from a component instance. name. 

 h3. Component Port 

 A port in a component has a name and an interface. 
 If it is provided, it must answer call to the operations of the interface. 
 If it is required, it can be used from within the component to call operations of the interfaces without knowing who provides them. 

 h3. Configuration Component Type 

 A configuration is component type has a composition name and a collection of component parts. ports. 
 A configuration acts as an implementation for It represents a component. 
 A configuration component from the exterior: this is valid when all that can be accessed from outside the component. 

 h3. Component Implementation 

 An component implementation contains an actual realisation of the provided port of the component, potentially by using the required ports of its part are connected to ports with the correct interface. component. 

 h3. Component Part 

 A part is a member of a component and that is itself a component. 

 It has a name and component type. 
 Its required ports must be connected to a port providing the interface, and its provided ports are available from within the containing component. 

 h2. Component Java Implementation h3. Configuration 

 A component implementation configuration is a Java implementation composition of a component definition. parts. 
 It contains implementations A configuration acts as an implementation for a component. 
 A configuration is valid when all the provided ports, definitions required ports of its part are connected to ports with the Java implementations for correct interface. 

 h3. Component Class 

 A component class is at the parts same time a type and optionally implementation of the initialisation of the component. an implementation. 
 It can sometimes be defined in multiple files (for example SpeADL and Java). 

 h2. h3. Component Instance 

 A component instance is a runtime entity that exposes the type of its class and realise this type using the implementation of its class. 
 A component instance contains a component instance for each of its parts. 

 h2. SpeADL Component 

 In SpeADL, a component is made of a definition and a Java implementation 

 h3. Component Definition 

 A component definition is a SpeADL definition of a component type and optionally of a component implementation in the form of a configuration. 

 h3. Component Java Implementation 

 A component implementation is a Java implementation of a component definition. 
 It contains implementations for the provided ports, a definition of the Java implementation for the parts and optionally implementation of the initialisation of the component. 

 h3. Component Instance 

 A component instance is created from the component implementation. 

 h2. Ecosystem 

 An ecosystem is a component with species. 

 h3. Ecosystem Definition 

 See [[SpeADL Terminology#Component Definition|Component Definition]]. Component Definition. 
 On top of that, it contains also species. 

 h3. Ecosystem Java Implementation 

 See [[SpeADL Terminology#Component Java Implementation|Component Java Implementation]]. 
 On top of that it contains definitions of the Java implementations for the species. 

 h2. Species 

 A species is a component that can only be defined inside an ecosystem. 

 h3. Species Definition 

 See [[SpeADL Terminology#Component Definition|Component Definition]]. 
 On top of that, it can have parameters (separated by commas) and contain uses. 

 h3. Species Parameter Definition 

 A species parameter has a name and a Java type. 

 h3. Use 

 A use is a part that can only be defined inside a species. 
 A use has a name but the only component type it can have must be a species declared in one of the parts of the ecosystem containing its species. 
 If the type of the use has parameters, then arguments for these parameters must be passed to it. 

 h3. Species Implementation 

 See [[SpeADL Terminology#Component Java Implementation|Component Java Implementation]]. 
 Contrary to parts, a use implementation don't have to be defined as they are already defined in the implementation of the ecosystem containing the species of the use. 

 h3. Species Instance 

 A species can be instantiated only from within the ecosystem that defines it.