Variability4TOSCA Feature IDE Integration 1.0 Release Candidate¶
This document specifies the integration of FeatureIDE into the Variability4TOSCA specification. The specification is under active development and is not backwards compatible with any previous versions.
FeatureIDE Integration¶
In order to generate only valid service templates, feature models can be used to model dependencies between variability inputs.
A feature model of Feature IDE is supposed to be packaged as feature-model.xml
at the root of the CSAR.
We describe the mapping between the Extended XML Configuration to variability inputs.
Features¶
Each feature is mapped to a Boolean variability input.
The value is true
if either automatic
or manual
is selected
.
Otherwise, the value is false
.
Thereby, the feature name is transformed to lowercase and all whitespaces are replaced with an underscore.
Feature names can be overridden by the value of the attribute __name
.
Attributes¶
Each attribute is mapped to a variability input. The values are parsed by a JSON parser. If parsing throws an error, then the value is treated as a string.
The attribute name is namespaced by their feature, transformed to lowercase and all whitespaces are replaced with an underscore.
Attribute names can be overridden by the value of the attribute __name_${attribute name}
.
The full attribute name (including the feature namespacing) can be overridden by the value of the attribute __full_name_${attribute name}
.
Example¶
The following example of a complete FeatureIDE Extended XML Configuration contains examples of the above introduced concepts.
To run the transformation using our reference implementation, run the following command.
Reference Implementation¶
We provide a reference implementation for this specification as part of OpenTOSCA Vintner. OpenTOSCA Vintner is a TOSCA preprocessing and management layer. The project is open-source, licensed under Apache-2.0, and publicly available at GitHub.
Acknowledgments¶
This specification is developed for the purpose of research by the Institute of Software Engineering (ISTE) and the Institute of Architecture of Application Systems (IAAS) of the University of Stuttgart, Germany. The development is partially funded by the German Federal Ministry for Economic Affairs and Climate Action (BMWK) as part of the Software-Defined Car (SofDCar) project (19S21002).
Correspondence¶
Please address all correspondence concerning this specification to Miles Stötzner <miles.stoetzner@iste.uni-stuttgart.de, https://miles.stoetzner.de>.
Disclaimer of Warranty¶
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.