Recent News
- Aug 30, 2024v6.12.0 - Stakeholder and Value Modelling Support
- Jan 11, 2024v6.11.0 Release Notes
- Nov 24, 2023v6.10.0 Release Notes
- Aug 16, 2023v6.9.0 Release Notes
- Jun 13, 2023Eclipse Update Site URL Changed
- May 8, 2023v6.8.0 Release Notes
- Dec 2, 2022v6.7.0 Release Notes
- Oct 6, 2021v6.6.0 Release Notes
- May 31, 2021ArchUnit Extension for Context Mapper Released
- May 8, 2021Eclipse Update Site URL Changed
- All news ...
v6.8.0 Release Notes
May 8, 2023 • Stefan Kapferer
Today we released version 6.8.0 of Context Mapper 🥳 With this release we implemented the following features and bugfixes:
- Target states in aggregate state transitions are used in PlantUML generator (GitHub Issue).
- Tactic DDD DSL bugfix: lists of enums are now possible (GitHub issue)
- Tactic DDD DSL enhancement: domain services can be specified alongside aggregates, instead of inside aggregates (GitHub Issue).
- PlantUML Use Case diagram generation (GitHub Issue).
Target States in PlantUML State Diagram Generator
As we have already documented here, you can use an asterisk (*) to mark target states in aggregate state transitions:
// target states can be marked as end states with a star:
CHECK_IN_PROGRESS -> ACCEPTED* X REJECTED*
If you use these asterisks, they are now used in the PlantUML generator to visualize the end states correspondingly. An example:
Tactic DDD: Lists of Enums
Sometimes it can be useful to have collections of enum values. This was not supported by the original Sculptor DSL as we integrated it. We adjusted the DSL now so that collections of enums are supported. The following example illustrates a use case:
Tactic DDD: Domain Services outside Aggregates
The tactic DDD DSL so far expected domain services to be specified within aggregates. This does not match with our understanding of the tactic DDD patterns. A domain service does not have to belong to a specific aggregate and should therefore not be specified on that level.
With this newest release, you can specify the services on the same level as aggregates:
Note: The MDSL generator currently only uses operations of services inside aggregates that are exposed in your Context Map. So these services specified besides aggregates are currently ignored there.
PlantUML Use Case Diagram Generation
It was possible to write use cases and user stories in CML already before this release. The documentation on how to write such user requirements can be found here.
Just one example:
UseCase Get_paid_for_car_accident { // title
actor "Claimant" // primary actor
scope "Insurance company" // scope
level "Summary" // level
benefit "A claimant submits a claim and and gets paid from the insurance company." // story (brief summary)
}
With this release we added the secondaryActors keyword in case you want to specify that your use case also involves secondary actors:
UseCase UC1_Example {
actor = "Insurance Employee"
secondaryActors = "Insurance Administrator", "Sales Person"
interactions = create a "Customer", update a "Customer", "offer" a "Contract"
benefit = "I am able to manage the customers data and offer them insurance contracts."
}
If your CML model contains use cases and/or user stories, we now generate a Use Case diagram as part of the output of the PlantUML generator. An example:
As always, if you have any issues or other feedback, please let us know.
- Older
- Newer