Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » OCL » Migration of "Sequencer" dependencies(Questions on migrating to newer OCL versions (from 2021 to 2024))
Migration of "Sequencer" dependencies [message #1864096] Fri, 15 March 2024 13:55 Go to next message
Nghia Be is currently offline Nghia BeFriend
Messages: 2
Registered: March 2024
Junior Member
Sorry if this is a stupid question, but I'm still very new to OCL in general.

I'm currently working on my thesis (improving a DSL) and have some problem with the new OCL system (migrating from older to newer version).

The DSL I be working with has used Eclipse 2021-12 toolset, which has some differences comparing to newer versions (OCL 6.19/6.20).

Specifically, the files (*):
- (Abstract)OCLinEcoreSemanticSequencer.java,
- (Abstract)EssentialOCLSemanticSequencer.java
- (Abstract)BaseSemanticSequencer.java

are not available in newer versions of OCL.

About my DSL:
- It has some folders that were taken from OCL repository.
- It has a serializer package (src-gen/org.eclipse.dsl.serializer), which contains AbstractDSLSemanticSequencer (extends org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer) and AbstractDSLSyntacticSequencer (extends org.eclipse.ocl.xtext.oclinecore.serializer.OCLinEcoreSemanticSequencer).

I have several questions:

1. What's the purpose of AbstractSyntacticSequencer and OCLinEcoreSemanticSequencer? Can you guess why the DSL authors decided to inherit OCLinEcoreSemanticSequencer and not AbstractSemanticSequencer (in same package with the Abs.Syntactic.Seq)?

2. For not understanding the purpose of the Semantic Sequencer, I have tried 3 methods.
- Remove the files (*) and related dependencies.
- Copied the files that was lacking in the new OCL versions.
- Write my own helper functions that replaced the dependency on (*).

For all 3 methods, I could boot up the Eclipse runtime/editor and haven't find any bugs. So I couldn't get to understand what's the functionalities of the Semantic Sequencer.

3. Should I edit files in "folder-gen" (source-gen, xtend-gen, emf-gen)? I guess it was made in the building process, but having some files there makes me wonder how I could interact with them if not editing directly.

Thank you for reading this! I haven't mention the problem with migrating mw2 files, but I would prefer to ask for more help after this.
Re: Migration of "Sequencer" dependencies [message #1864097 is a reply to message #1864096] Fri, 15 March 2024 15:05 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7663
Registered: July 2009
Senior Member
Not stupid at all.

The problem is that Xtext has migrated from an original generator framework to a second generation framework. OCL (and QVTd) were slow to track this change because IMHO the second generation serializer was worse. I developed an idiom-based declarative serializer which allowed migration to the new framework.

The difference between classes that puzzle you is probably that they are no longer used.

Migrating to the new framework was not trivial but not that horrible,

You may find that commits such as "[563046] Use new Xtext generator framework" shed some insight.

Since QVTd is an OCL client, you may find it easier to emulate the [563046] commits in the QVTd repo.

Sorry for the trouble, but there was a limit to how long OCL could fail to track Xtext for.
Re: Migration of "Sequencer" dependencies [message #1864098 is a reply to message #1864097] Fri, 15 March 2024 15:13 Go to previous message
Nghia Be is currently offline Nghia BeFriend
Messages: 2
Registered: March 2024
Junior Member
Thanks for your suggestion, I would look for those mentioned resources! Hopefully this time I could solve the problem.
Previous Topic:Drops and Updates are now Builds
Next Topic:how to merge two collections
Goto Forum:
  


Current Time: Sun Jul 14 03:10:12 GMT 2024

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

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

Back to the top