Assessment Date: 2026-06-22
ToscaDesigner Version: 0.5.1
Modelio Version: 5.4.1
TOSCA Standard: v1.3
The ToscaDesigner module has partial support for inputs and outputs, with significant gaps in export rendering. The API layer supports inputs and outputs for topology templates, but the export functionality is incomplete:
- ✅ Topology Template Inputs: Supported (API + Rendering)
- ❌ Topology Template Outputs: API exists but not rendered
- ❌ Node Template Inputs/Outputs: Minimal API support, no rendering
- ❌ Node Type Inputs/Outputs: No implementation found
⚠️ Operations/Interfaces: String-based inputs/outputs only
File: src/main/java/fr/softeam/toscadesigner/api/tosca/standard/class_/TTopologyTemplate.java
Supported Methods:
List<TParameter> getInputs()- Retrieve input parametersvoid addInputs(TParameter obj)- Add input parameterboolean removeInputs(TParameter obj)- Remove input parameterList<TParameter> getOutputs()- Retrieve output parametersvoid addOutputs(TParameter obj)- Add output parameterboolean removeOutputs(TParameter obj)- Remove output parameter
Type: TParameter (same for both inputs and outputs)
File: src/main/resources/fr/softeam/templates/TTopologyTemplate.hbs
Current Template:
Issue: No outputs section despite API support for getOutputs()
Missing Template Block:
Generated topology template example: examples/generated-tosca/MyrtusSmartTrafficManagementTopologyTemplate.tosca
- Contains:
topology_template:withnode_templates:,groups:,policies: - Missing:
inputs:andoutputs:sections (even though template supports inputs)
File: src/main/java/fr/softeam/toscadesigner/api/tosca/standard/class_/TNodeTemplate.java
Properties:
minInstances(int)maxInstances(int)name(string)
Relationships:
nodeType(TNodeType reference)deploymentArtifacts(TDeploymentArtifacts)requirements(RequirementsType)
NOT FOUND: No inputs, outputs, attributes methods
File: src/main/java/fr/softeam/toscadesigner/handlers/propertypages/topologyTemplate/TNodeTemplatePropertyPage.java
Properties shown in UI:
- Name
- Min Instance
- Max Instance
- Deployment Artifacts
- Requirements
- Node Type
Missing: Inputs and Outputs fields
File: src/main/resources/fr/softeam/templates/TNodeTemplate.hbs
Missing: inputs: and outputs: sections
File: src/main/java/fr/softeam/toscadesigner/api/tosca/standard/class_/TNodeType.java
Methods Found:
List<ImportElement> get()- ImportsList<PropertiesDefinitionType> getProperties()- PropertiesList<InterfacesType> getInterfaces()- Interfaces
NOT FOUND:
getInputs()/addInputs()getOutputs()/addOutputs()getAttributes()/addAttributes()
File: src/main/resources/fr/softeam/templates/TNodeType.hbs
Missing: inputs:, outputs:, attributes: sections
TOSCA v1.3 specification allows node types to define:
attributes(not currently supported)- Not
inputs/outputsat node type level (those are for node templates)
File: src/main/java/fr/softeam/toscadesigner/handlers/propertypages/core/TOperationPropertyPage.java
this._element.setInputs(value); // String only
this._element.setOutputs(value); // String onlyIssue: Operations store inputs/outputs as plain text strings, not structured TParameter objects
Type: Not strongly typed; no parameter definitions
Files found in src/main/java/fr/softeam/toscadesigner/api/tosca/infrastructure/modelelement/:
InputParameterType1.javaInputParametersType.javaOutputParametersType1.javaOutputParametersType.java
These are used by the factory for instantiation but not actively used in rendering.
| Component | API Support | Rendering | Capability |
|---|---|---|---|
| Topology Template Inputs | ✅ Yes | ✅ Yes | IMPLEMENTED |
| Topology Template Outputs | ✅ Yes | ❌ No | BLOCKED |
| Node Template Inputs | ❌ No | ❌ No | NOT IMPLEMENTED |
| Node Template Outputs | ❌ No | ❌ No | NOT IMPLEMENTED |
| Node Template Attributes | ❌ No | ❌ No | NOT IMPLEMENTED |
| Node Type Inputs | ❌ No | ❌ No | NOT APPLICABLE |
| Node Type Outputs | ❌ No | ❌ No | NOT APPLICABLE |
| Node Type Attributes | ❌ No | ❌ No | NOT IMPLEMENTED |
| Operation Inputs | ❌ No | INCOMPLETE | |
| Operation Outputs | ❌ No | INCOMPLETE |
- Severity: HIGH
- Fix Complexity: LOW (template addition + handlebars helper)
- Required Changes: Add outputs section to
TTopologyTemplate.hbs
- Severity: MEDIUM
- Fix Complexity: MEDIUM
- Required Changes:
- Extend TNodeTemplate API with input/output methods
- Update property page UI
- Add rendering to TNodeTemplate.hbs
- Create InputParametersType/OutputParametersType relationships
- Severity: MEDIUM
- Fix Complexity: MEDIUM
- Required Changes:
- Extend TNodeType API with attributes support
- Add attributes rendering to TNodeType.hbs
- Update UI property pages
- Severity: LOW
- Fix Complexity: HIGH
- Required Changes:
- Refactor TOperation to use structured TParameter objects
- Add UI editor for parameter definitions
- Update export rendering
Enable Topology Template Outputs
- Add outputs rendering section to
TTopologyTemplate.hbs - Estimated effort: 30 minutes
- Impact: Full TOSCA v1.3 topology template support
Implement Node Template Inputs/Outputs
- Add input/output parameter support to TNodeTemplate
- Estimated effort: 4-6 hours
- Impact: Enables complete topology template definitions
Implement Node Type Attributes
- Add attribute definitions to TNodeType
- Estimated effort: 3-4 hours
- Impact: Full node type definitions per TOSCA spec
Refactor Operation Inputs/Outputs to Structured Types
- Migrate from string-based to TParameter-based
- Estimated effort: 8-10 hours
- Impact: Better type safety and editor support
Partially Compliant
What's missing:
- ❌ Topology template outputs (API ready, rendering missing)
- ❌ Node template inputs (no API)
- ❌ Node template attributes (no API)
- ❌ Node type attributes (no API)
What's working:
- ✅ Topology template inputs
- ✅ Basic node template structure
- ✅ Node type definitions (properties, requirements, capabilities)
To enable full input/output support:
-
Template files:
src/main/resources/fr/softeam/templates/TTopologyTemplate.hbs(outputs rendering)src/main/resources/fr/softeam/templates/TNodeTemplate.hbs(inputs/outputs)src/main/resources/fr/softeam/templates/TNodeType.hbs(attributes)
-
API files:
src/main/java/fr/softeam/toscadesigner/api/tosca/standard/class_/TNodeTemplate.java(input/output methods)src/main/java/fr/softeam/toscadesigner/api/tosca/standard/class_/TNodeType.java(attribute methods)
-
Property pages:
src/main/java/fr/softeam/toscadesigner/handlers/propertypages/topologyTemplate/TNodeTemplatePropertyPage.javasrc/main/java/fr/softeam/toscadesigner/handlers/propertypages/serviceTemplate/TNodeTypePropertyPage.java
The TOSCA Designer module has a solid foundation for inputs and outputs support but needs completion work to fully leverage the TOSCA v1.3 specification. The most critical gap is the missing topology template outputs rendering, which is a quick fix. Node template and type support requires more development effort but would significantly enhance modeling capabilities.