Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » M2T (model-to-text transformation) » - Acceleo - Check consistency - multi domain
- Acceleo - Check consistency - multi domain [message #1829502] Sun, 05 July 2020 19:45 Go to next message
Weslley Torres is currently offline Weslley TorresFriend
Messages: 6
Registered: May 2020
Junior Member
Dear All,

I have already sent a very similar question in the - Epsilon - forum ( https://www.eclipse.org/forums/index.php?t=msg&th=1103881&goto=1827750&#msg_1827750 ) and Viatra ( https://www.eclipse.org/forums/index.php/t/1103882/ ). Unfortunately, I couldn't find the exclusive forum page for Acceleo. The link presented on Acceleo webpage sends me to this forum.

Can anyone please clarify whether ACCELEO can check consistency between models? In case the answer is positive, does the consistency checking is performed between models from different domains or only between the same domain?

Finally, in case this tool can check consistency between models from different domains. Can you please specify what kind of consistency these tools provide? Bellow you can find some kind of consistency to help you answering this last question:

Behavioral inconsistencies - occur between components that request and provide services whose names and interfaces match, but whose behaviors do not.

Information Consistency - It checks if the data that can be presented on different media, remain the same regardless of how they are presented. Example of Information inconsistency would be when the distance is presented in different units without respecting the conversion calculation

Interaction inconsistencies - occur when a component's provided operations are accessed in a manner that violates certain interaction constraints, such as the order in which the component's operations are to be accessed.

Interface inconsistencies - happen when connected interface elements have mismatching values, terminologies or schemes.

Name inconsistencies - happen when components, connectors or services have the same name.

Refinement inconsistencies - occur between models of different abstraction levels due to the fact the some elements are suppressed/inserted to fit the corresponding abstraction level.

Requirement Consistency - It checks whether the requirements from a requirement list are related to some model element and if this relationship is valid.
Thank you in advance,
Re: - Acceleo - Check consistency - multi domain [message #1829521 is a reply to message #1829502] Mon, 06 July 2020 06:56 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 6794
Registered: July 2009
Senior Member
Hi

Your question implies that your 'consistent' models confirm to distinct structural metamodels but share some semantic commonality. If however your models share the same structural metamodel you should be looking at EMF Compare / EMF Merge/Diff.

For distinct structural metamodels, you are asking slightly the wrong question. Presumably your consistency indicates some deterministic relationship between your models that can be codified at least as rules and possibly as a model transformation. It is entirely your responsibility to obtain/create the rules/transformation except where those inconsistencies are so simple as to fall into the category normally handled as model validation. It may be that your ideas form the foundation for research in a richer semantic validation field.

Then you can ask whether a particular tool is able to execute rules and produce a suitable report output, or to execute a transformation in a comparison mode with a corresponding report output.

In so far as '"it's only software" many tools can be used, but some are much more suitable than others. Given that you start with models, one might look to an M2M tool and then read the small print to see how well a comparison mode is supported. You might choose to handle the comparison yourself by coding a model A + model B => report model transformation.

In so far as an M2T such as Acceleo supports queries, typically OCL, you can program your rules and arrange for the M2T to produce a stylish textual report.

IMHO your challenge is an M2M tool one and so I would very carefully assess the ability of distinct tools to do what you want. Few tools have sufficient documentation to actually have any 'small print', so you will have to do careful evaluation taking great care to fully explore the poorly documented corners before dismissing a tool as "can't do X".

Regards

Ed Willink
Re: - Acceleo - Check consistency - multi domain [message #1829537 is a reply to message #1829521] Mon, 06 July 2020 11:56 Go to previous messageGo to next message
Weslley Torres is currently offline Weslley TorresFriend
Messages: 6
Registered: May 2020
Junior Member
Hi Ed Willink,

First of all, thank you very much for you answer.
I partially agree with your comments. Indeed my question implies that there are semantic sharing between the models.

What I don't fully agree with you (please forgive me if I misunderstood you), is the need of model transformation (M2M/M2T) to provide the consistency checking capabilities.

And again I agree with you that one can use constraints (OCL) to check the consistencies, but of course using constraints implies some drawbacks that I think we can skip it for now =).

You are completely right when you say that few tools have sufficient documentation. I am doing my best to be as careful as possible before saying that a tool "can't do X".

Thank you again for your answer.

[Updated on: Mon, 06 July 2020 11:57]

Report message to a moderator

Re: - Acceleo - Check consistency - multi domain [message #1829554 is a reply to message #1829537] Mon, 06 July 2020 18:32 Go to previous message
Ed Willink is currently offline Ed WillinkFriend
Messages: 6794
Registered: July 2009
Senior Member
Hi

You are being too narrow minded in your terminology.

If you have a mechanism to detect an inconsistency that is capable of being programmed, then that is a rule which yields a true/false according to the presence of an inconsistency. This is a (validity) constraint whether programmed in OCL or Java or ...

You have models that need manipulation. Possibly to detect an inability to transform one into another. Possibly by converting both to a common semantic form that may be easily compared. Whatever, it is a model transformation, that you might realize with a model transformation tool, or with EMF+Java or if you are a glutton for punishment in VisualBasic.

Regards

Ed Willink
Previous Topic:Acceleo [ Run problem]
Next Topic:Acceleo
Goto Forum:
  


Current Time: Tue Aug 04 01:29:03 GMT 2020

Powered by FUDForum. Page generated in 0.02056 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top