Does Syside currently support n-ary connectors? I defined one that does not seem to be recognized when using it. Maybe I defined it wrong though.
connection def ManagedPerformerConnection {
doc
/* Every pair of source and target performers is connected through the (only one) information
* management performer through the performer interface.
* Both performers exchange a refernce to a viewpoint at a particular branch and commit.
* Both performers can only visualize the viewpoint through the managed interface with the
* information management performer, who retain information ownership.
*/
end [*] part sourcePerformer : SystemLifeCycleManagementPerformer {
}
end [*] part targetPerformer : SystemLifeCycleManagementPerformer {
}
end [1] part informationService : InformationManagementPerformer {
}
interface performerInterface defined by PerformerInterface
connect sourcePort references sourcePerformer.performerInteractionPort
to targetPort references targetPerformer.performerInteractionPort;
interface sourceInformationInterface : ManagedInformationInterface
connect sourcePort references sourcePerformer.performerInteractionPort
to managedInformationPort
references informationService.performerInteractionPort;
interface targetInformationInterface : ManagedInformationInterface
connect sourcePort references targetPerformer.performerInteractionPort
to managedInformationPort
references informationService.performerInteractionPort;
}
interface def PerformerInterface {
doc
/* The flow of information are purely refernces to a particular viewpoiint and
* the branch and commit where the information resides, that needs to be retrieved.
*/
end port sourcePort : OperationalPorts::PerformerInteractionPort;
end port targetPort : ~OperationalPorts::PerformerInteractionPort;
flow of SystemLifeCycleModelViews [0..*]
from sourcePort.operationalInformationArtifact
to targetPort.operationalInformationArtifact;
flow of SystemLifeCycleDocuments [0..*]
from sourcePort.operationalInformationArtifact
to targetPort.operationalInformationArtifact;
}
interface def ManagedInformationInterface {
doc
/* The flow of information is a data populated model view. */
end port sourcePort : OperationalPorts::PerformerInteractionPort;
end port managedInformationPort : ~OperationalPorts::PerformerInteractionPort;
flow of SystemLifeCycleModelViews [0..*]
from sourcePort.operationalInformationArtifact
to managedInformationPort.operationalInformationArtifact;
flow of SystemLifeCycleDocuments [0..*]
from sourcePort.operationalInformationArtifact
to managedInformationPort.operationalInformationArtifact;
}
when calling it with three parties i got an error message.
connection disposalOfSystem2disposalFinalization subsets managedPerformerConnections [1]
connect (sourcePerformer references disposalOfSystemPerformer,
targetPerformer references disposalFinalizationPerformer,
informationService references informationManagementPerformer);
Error: Binary connector cannot have more than two ends