Skip to content

UML to CIF translation: Discuss whether the current default activity-can-call-all-behaviors is helping or not #651

@AndreaPuffo

Description

@AndreaPuffo

Our default setting allows an abstract activity to call all opaque behaviors and activities in the class.
Whilst this is aligned with a CIF model, I find it quite annoying as a SynthML user: to achieve "nice" UML activity diagrams, adding occurrence constraints that limit the number of calls to behaviors is almost mandatory. Adding an occurrence constraint is quite annoying per se (see #650).
I usually create a model incrementally, namely only some components are modeled first, maybe an activity is synthesized, which includes occurrence constraints; then, once I move on to a second iteration on the model, add new components, new opaque behaviors, etc, I need to re-visit all occurrence constraints to limit the calls on these new behaviors and activities. The whole process is quite time consuming and error-prone.

I wonder if changing the default setting for an activity to call no opaque behaviors and activities would make a user's life easier. This means that a user should declare which behaviors can be called by the abstract activity. If nothing is specified, the activity cannot call anything. Generally speaking, I find this is a much easier mental approach (e.g. activity "transfer A to B" needs to do X, Y, Z) against thinking about what an activity cannot/should not do. This change makes small examples more annoying to model, but I think it can help with larger models.

This is quite low-prio, but good to have it in mind.

Metadata

Metadata

Assignees

No one assigned

    Labels

    for discussionto be discussed in sprint / ccb meetingindustrializationImprovements after proof of concept

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions