Towards Context Independent Extra-functionalProperties Descriptor for Components
Kamil Ježek, Premek BradaDepartment of Computer Science and Engineering
University of West Bohemia Pilsen,Czech Republic
{kjezek|brada}@kiv.zcu.cz
27th March 2010
1 / 11
Components
Motivation
ComponentsComponents independently deployableThird-party composition
ProblemDeveloper needs to verify components compatibilityNeed for extra-functional properties
Extra-functional PropertiesGuarantee level of qualityMust be context independent in area of components
2 / 11
Extra-functional Properties
Extra-functional Properties (EFPs)
EFP stored in registriesGlobal registry - definitions of EFPLocal registry - context values
Figure: Components related to registries3 / 11
Examples
Figure: Example of registry usage
4 / 11
Examples Extra-functional Properties Formalisation
Formalisation of Extra-functional Properties
We defined meta-model and mathematical formulations
esimpledef = (n, γ, t ,META) (1)
ederiveddef = (n,E , γ, t ,META) (2)
edeployment_contract ≡ esimple ∨ edeployment_contract ≡ ederived (3)
n the name of a propertyγ comparing functiont ∈ {real , integer ,boolean,enum, set , ratio, string} - a data
typeMETA - extensible information
E = {e1, · · · eN} properties composing this derived ones
5 / 11
Examples Global Registry
Extra-functional Properties in Global Registry
Global registry
GR = (loc, {ei}) (4)
loc registry’s URI location{ei} a set of (simple or derived) extra-functional properties
6 / 11
Examples Local Registry
Extra-functional Properties in Local Registry
Local registry
LR = (loc, locgr ,S,D) (5)
loc the URI of the registrylocgr a link to the global registry
S = {si} set defining context dependent valuessi = (name, value_name, range) a tuple of a property name,
a value name and the value’s range
7 / 11
Examples Local Registry
Extra-functional Properties in Local Registry (II)
Local registry (continued)
LR = (loc, locgr ,S,D)
D = {di : {ri1, · · · , riK}} set of rules expressing that a derivedproperty di is given by rij rules
di = (name); a derived property namerij : F ⇒ x ; x = value_name or x = value ∈ T enum is a name
or an enum value, F is a logical expression
8 / 11
Attaching EFPs To a Component
Attaching Extra-functional Properties To Components
Each component links the particular registryOnly EFPs selected from global registry are allowed
Figure: Assignment of property to component or features 9 / 11
Attaching EFPs To a Component
Example of assignment
10 / 11
Conclusion
Open Issues
Technical IssuesVersioning of registryA location of registry files need to be considered
Research IssuesProperties computed as functions depending on environmentBetter formalisation of contextComposition rules for derived properties has to be improved –they are currently computed at the Local registry levelFunction transforming values between contexts is desired
Thank you for your attention
11 / 11