DrMarkusVoss / pumla

pumla - systematic re-use of model elements described with PlantUML
GNU General Public License v3.0
102 stars 10 forks source link

Interfaces as explicit elements. Typed interfaces, type checks for connections? #22

Open DrMarkusVoss opened 3 years ago

DrMarkusVoss commented 3 years ago

Is your feature request related to a problem? Please describe. Currently interfaces are just named bobbles. There is no "type" information behind (in a diagram you can of course model it with PlantUML), but incompatible interfaces could be connected.

Describe the solution you'd like An interface type repository could host the interface types, that could be used as types of interface-ports (bobbles and half-circles). If they use the same type, they are compatible. The data would need to be in the model-repo, then an compatibility check could be done on whether the same type is behind the port. You could activate type checks, that could lead to an "error" or "warning" note instead of connecting. Connection only if valid.

This adds more semantics to the models. But especially if you want to have detailed information on your ports and want to be able to expose it easily in a re-usable way, than this makes sense.

Describe alternatives you've considered Alternative is not considering types on ports. Keeps the tool smaller. But I think it is a useful feature, and I don't see how it could be done with plain PlantUML.

Additional context Interfaces could be described with classes and then have a specially named relation to the ports.