Enable use of single terminals for multiple kinds of connection types
|Assignee:||Hannu Niemistö||% Done:|
|Category:||-||Spent time:||1.25 hour|
|Release notes:||Developers: Introduced a new way for modelling terminals that generate components under diagram connections. See Modeling.pgraph and MOD.ConnectionMappingSpecification.|
|Velocity based estimate||-|
|Release||Simantics 1.18.1||Release relationship||Auto|
In certain contexts, diagram element terminals need to be connected to different types of connections. The current problem is that we are using a not-very-elegant multi-terminal solution where several terminals for different types of connections are located directly on top of each other which visually seems to the user like connecting to the same terminal but in reality the connections are made to completely separate terminals. The overlapping terminals are linked to each other to allow the system to understand whether a connection point is already connection occupied or not.
We want to change this to enable the use of a single terminal for multiple purposes while still allowing the diagram mapping to the proper mapped components under connections if that is required by the ontology.
The plan is to introduce a new type MOD.ConnectionMappingSpecification that can be used to attach the information that is currently attached to element connection point relations to diagram connectors which are connection instance specific.
(refs #5669) Created a new way to specify signals or similar components under connections in mapping ontology
Added generic support for MOD.ConnectionMappingSpecification.
- Added relations to modeling ontology to make it possible to have generic support for MOD.ConnectionMappingSpecification creation.
- Attach MOD.HasConnectionMappingSpecification to created DIA.Connectors in ConnectionBuilder when necessary:
- when the configuration connection relation is tagged with MOD.NeedsConnectionMappingSpecification
- and when the used connection type has a MOD.ConnectionTypeToConnectionMappingSpecification relation attached to it
- Fixed DiagramToCompositeMapping3 to check Connector for ConnectionMappingSpecification, not Element.
Merged trunk@30929,30930,30934 to branches/simantics-1.18 on 2015-02-18 for 1.18.1 release.
Added MOD.HasConnectionMappingSpecification writing to ConnectionBuilder.attachToRouteGraph.
Now ConnectionBuilder should now handle cases where a route graph connection is branched into a terminal that requires a connection mapping specification.
Merged trunk@30939 to branches/simantics-1.18 on 2015-02-18 for 1.18.1 release.
Fixed a corner case in DiagramToCompositeMapping3: before creating a component under connection, verify that the connection isn't lifted, i.e. attached to a terminal flag.
Merged trunk@31036 to branches/simantics-1.18 on 2015-03-05 for 1.18.1 release.
Added MOD.HasConnectionMappingSpecification updating to MappedModelingRules.setConnectionType.
This makes it possible for diagram connections to change type between signal and name reference connections.
#2 Updated by Tuukka Lehtonen over 2 years ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
- Release notes set to Developers: Introduced a new way for modelling terminals that generate components under diagram connections. See Modeling.pgraph and MOD.ConnectionMappingSpecification.