Skip to content

Commit

Permalink
Cleanup post style and grammar
Browse files Browse the repository at this point in the history
  • Loading branch information
danyeaw committed Jan 27, 2025
1 parent 37dc64d commit 4038241
Showing 1 changed file with 32 additions and 33 deletions.
65 changes: 32 additions & 33 deletions _posts/2025-01-26-gaphor-3.0.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,54 @@
---
title: Gaphor 3.0
title: Gaphor 3.0 - A Major Milestone
author: Arjan Molenaar
image_url: /images/gaphor-3.0/bg.jpg
image_background: #f0f0f0
image_attribution: https://www.flickr.com/photos/goldtoe/305519757/
lang: en
---

Finally, Gaphor 3.0 has been released.
Gaphor 3.0 has officially been released, marking an exciting new chapter for this modeling tool. This update brings
significant enhancements, particularly in the user interface and the modularity of supported modeling languages.

The major changes in this release include an improved user interface and better modularity for modeling languages.


In this post we dive into the highlights of the 3.0 release,
The [change log](https://github.com/gaphor/gaphor/blob/main/CHANGELOG.md) contains a more complete set of changes,
as does the [Gaphor Release](https://github.com/gaphor/gaphor/releases).
For a complete overview of all changes, you can check out the
[changelog](https://github.com/gaphor/gaphor/blob/main/CHANGELOG.md) or visit the
[Gaphor Release](https://github.com/gaphor/gaphor/releases) page.

<!--break-->

As always, the releases are based on the latest [GTK 4](https://gtk.org) and
[LibAdwaita](https://gnome.pages.gitlab.gnome.org/libadwaita) releases.
As always, this release makes use of the latest versions of [GTK 4](https://gtk.org) and
[libadwaita](https://gnome.pages.gitlab.gnome.org/libadwaita).

## UI improvements
## User Interface Improvements

We've improved the user interface, based on a paper from the Uni of Mannheim about the use
of [MBSE tooling for neurodivergent system architects (German)](https://madoc.bib.uni-mannheim.de/66242/1/Benutzeroberfl%C3%A4chen%20von%20MBSE-Tools%20und%20deren%20Auswirkung%20auf%20neurodivergente%20Systemarchitekten.pdf).
In this paper Gaphor was used as one example. We contacted the authors and applied the feedback in this
version of Gaphor. As a result things are simpler and the UI behaves more as one would expect.
This release features a redesigned user interface inspired by feedback from a research paper published by the University
of Mannheim. The paper, titled
[MBSE tooling for neurodivergent system architects
(German)](https://madoc.bib.uni-mannheim.de/66242/1/Benutzeroberfl%C3%A4chen%20von%20MBSE-Tools%20und%20deren%20Auswirkung%20auf%20neurodivergente%20Systemarchitekten.pdf),
used Gaphor as a case study. By collaborating with the authors, the Gaphor team applied these insights to make the
application simpler and more intuitive.

The improvements include
Key UI enhancements include:

* Better layout of the header bar
* Settings previously done on model level are now application wide settings
* A tool bar for common operations
* Double-clicking a model element in the Model Browser now highlights it in the diagram, and no longer adds it.
* Streamlined Header Bar Layout: Improved organization for easier navigation.
* Global Settings: Settings that were previously model-specific are now accessible as application-wide configurations.
* New Diagram Quick Toolbar: Provides rapid access to common operations.
* Enhanced Model Browser: Double-clicking a model element now highlights it in the diagram rather than adding it redundantly.

Many thanks to [Mareike Keil](https://www.linkedin.com/in/mareike-keil-7600b4226/) from the Uni of Mannheim for collecting the feedback.
Many thanks to [Mareike Keil](https://www.linkedin.com/in/mareike-keil-7600b4226/) from the University of Mannheim for
her invaluable insights and contributions.

![The improved user interface with tool bar](/images/gaphor-3.0/new-ui.png)

## Modeling languages

Historically, Gaphor modeling language have always been based on UML. UML was the first ML implemented, and forms the
basis for languages like SysML (v1) and RAAML.

While we were investigating how to implement SysML v2, we ran into an issue: SysML v2 has been built from the ground up
and is not based on UML. Our initial attempt was to build a common base for both UML and SysML, but this resulted in
a confusing situation where the UML model was spread out over several models.
## Modeling language Advancements
Historically, Gaphor’s primary focus has been on UML, which served as the foundation for extensions like SysML (v1) and
RAAML. However, the development of SysML v2 introduced new challenges. Unlike its predecessor, SysML v2 is not based on
UML, prompting the need for a fresh approach.

This was clearly not the way forward. With the help of Paul Brown we managed to make the Gaphor core modeling language
agnostic. Now we can implement any modeling language. This means that we can implement SysML v2, onthology models, ER models
without the need to base it on UML.
Initially, the team attempted to create a shared foundation for UML and SysML. However, this approach resulted in
fragmenting the UML model and added complexity. Recognizing the need for flexibility, Gaphor’s core was restructured to
be modeling language agnostic. This transformation enables the implementation of diverse modeling languages, including
SysML v2, ontology models, and ER diagrams, without relying on UML as a base.

Credits go to Paul Brown for his help and guidance on this endavour.
A huge shoutout to [Paul C. Brown](https://github.com/pbrown12303) for his guidance and support in making this shift
possible.

0 comments on commit 4038241

Please sign in to comment.