archimatetool / archi

Archi: ArchiMate Modelling Tool
https://www.archimatetool.com
MIT License
944 stars 269 forks source link

Specializations: support for definitions (and hints) #764

Open ArchiRepo opened 2 years ago

ArchiRepo commented 2 years ago

When creating a specialisation it is important for the modeller to know what that specialisation means but currently there is no facility to add a description to the specialisation. It would be useful to be able to create a description to ensure that all modellers are working from the same definition when using it. Additionally support for hints could give the option of using this to display the description in the hints window or a separate HTML file that would allow the inclusion of examples for the modeller to follow. I suppose this could be regarded as part of the functionality that would be required if Archi were to implement UML style profiles.

Tools like Rhapsody do this by creating profile packages (that can be created in the tool) where you can manage the specialisations, this mechanism makes for simple ways to apply a standard profile to multiple models but I realise may be difficult to implement in Archi.

Phillipus commented 2 years ago

Summary:

Phillipus commented 2 years ago

problematic as it would need to implement IHelpHintProvider which is in the com.archimatetool.help plug-in and would lead to circular dependency. Would require refactoring...

I've looked at the Hints framework and refactored it so that it's usable more generally now - no dependency on the com.archimatetool.help plug-in or limited to Canvas objects for user hints.

jbsarrodie commented 2 years ago

Summary:

  • Add a documentation field to a Profile (implement IDocumentable)
  • Expose this in the Hints window - problematic as it would need to implement IHelpHintProvider which is in thecom.archimatetool.help plug-in and would lead to circular dependency. Would require refactoring...
  • Would need to also expose this in Jasper and HTML reports

I'd suggest to keep this for another release of Archi for the following reasons:

jbsarrodie commented 2 years ago

I suppose this could be regarded as part of the functionality that would be required if Archi were to implement UML style profiles.

ArchiMate profiles (named set of attributes) are not at all equivalent to UML profiles (named set of specialization)

Tools like Rhapsody do this by creating profile packages (that can be created in the tool) where you can manage the specialisations, this mechanism makes for simple ways to apply a standard profile to multiple models but I realise may be difficult to implement in Archi.

That's in fact already possible in Archi 4.9.0: simply create a model which only contains definition for specialization and import in into other models.

Phillipus commented 2 years ago

I'd suggest to keep this for another release of Archi

Agreed.