Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decouple ALE environment from .dsl file #115

Merged
merged 5 commits into from
May 2, 2020
Merged

Conversation

echebbi
Copy link
Collaborator

@echebbi echebbi commented Mar 9, 2020

Requires #108 to be merged first

Close #4.

Changes

  • AleValidator does not require the DSL configuration file and ALE source file to have the same name anymore
  • multiple ALE source files can be used at once
  • a new project properties page allows to define a project's ALE environment without having to rely on a DSL file at all
  • this property page is available to projects owning the new ALE nature
  • [regression] Sirius' "Behavior" layer is not updated anymore, a manual refresh is needed
  • [regression] Sirius' "Behavior" layer does not show EReferences declared in ALE as edges

Progress

  • Allow multiple ALE source files
  • Enhance the New Project wizard to:
    • create projects with the new ALE nature
    • create ALE source files in a src/ folder
    • not create a DSL configuration file by default
  • Tests

Screenshot

image

@echebbi echebbi self-assigned this Mar 9, 2020
echebbi added a commit that referenced this pull request Mar 10, 2020
…rface (#115)

An "ALE environment" being the couple (ALE source files ; Ecore models) used by the editor/interpreter.

Because:
 - will ease implementation of incoming features requiring smoother management of the environment
   e.g. loading an environment from preferences instead of from a DSL configuration file.

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
echebbi added a commit that referenced this pull request Mar 10, 2020
Because:
 - allows to load multiple ALE source files at once
 - allows ALE source files and DSL configuration files to have different names (fix #4)
 - allows to get rid of the DSL file (environment can be set from project's properties)

How:
 - provide a new IAleEnvironment interface that abstracts away the way ALE source files and Ecore models are gathered
 - provide a new AleEnvironmentPropertyPage that allows to set the environment

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
@echebbi echebbi force-pushed the 4-decouple-ALE-env-from-DSL branch from b240e2f to 17fa3a1 Compare March 10, 2020 17:03
echebbi added a commit that referenced this pull request Mar 10, 2020
Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
…rface (#115)

An "ALE environment" being the couple (ALE source files ; Ecore models) used by the editor/interpreter.

Because:
 - will ease implementation of incoming features requiring smoother management of the environment
   e.g. loading an environment from preferences instead of from a DSL configuration file.

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
echebbi added a commit that referenced this pull request May 2, 2020
Because:
 - allows to load multiple ALE source files at once
 - allows ALE source files and DSL configuration files to have different names (fix #4)
 - allows to get rid of the DSL file (environment can be set from project's properties)

How:
 - provide a new IAleEnvironment interface that abstracts away the way ALE source files and Ecore models are gathered
 - provide a new AleEnvironmentPropertyPage that allows to set the environment

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
@echebbi echebbi force-pushed the 4-decouple-ALE-env-from-DSL branch from 17fa3a1 to 5662824 Compare May 2, 2020 16:43
echebbi added a commit that referenced this pull request May 2, 2020
Because:
 - this wizard should allow to choice between an environment based on a .dsl configuration
   file and an environment based on project's preferences

Also:
 - perform some code improvements & tests fix

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
Because:
 - allows to load multiple ALE source files at once
 - allows ALE source files and DSL configuration files to have different names (fix #4)
 - allows to get rid of the DSL file (environment can be set from project's properties)

How:
 - provide a new IAleEnvironment interface that abstracts away the way ALE source files and Ecore models are gathered
 - provide a new AleEnvironmentPropertyPage that allows to set the environment

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
Because:
 - this wizard should allow to choice between an environment based on a .dsl configuration
   file and an environment based on project's preferences

Also:
 - perform some code improvements & tests fix

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
Because:
 - its layout does not follow the new default layout

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
Because:
 - broken by recent changes related to ALE environement management

Changes:
 - Sirius' Behavior layer is not automatically updated anymore and requires a manual Refresh
 - dynamic EReferences (declared in ALE) are not represented as edges anymores

Those changes are due to the fact that ALE's environment may not be stored in a .dsl configuration file anymore.
Hence, the AleResource that was used so far has been replaced by calls to an IAleEnvironment. Without the resource,
Sirius is not automatically refreshed anymore.

For the EReferences I'm not sure through. Looks like they are managed by Services::getSource and Services::getTarget
but these methods are never called and I don't know why.

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
@echebbi echebbi force-pushed the 4-decouple-ALE-env-from-DSL branch from 5662824 to eb174eb Compare May 2, 2020 23:21
@echebbi echebbi marked this pull request as ready for review May 2, 2020 23:50
@echebbi echebbi merged commit 321725f into master May 2, 2020
echebbi added a commit that referenced this pull request May 2, 2020
…rface (#115)

An "ALE environment" being the couple (ALE source files ; Ecore models) used by the editor/interpreter.

Because:
 - will ease implementation of incoming features requiring smoother management of the environment
   e.g. loading an environment from preferences instead of from a DSL configuration file.

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
echebbi added a commit that referenced this pull request May 2, 2020
Because:
 - allows to load multiple ALE source files at once
 - allows ALE source files and DSL configuration files to have different names (fix #4)
 - allows to get rid of the DSL file (environment can be set from project's properties)

How:
 - provide a new IAleEnvironment interface that abstracts away the way ALE source files and Ecore models are gathered
 - provide a new AleEnvironmentPropertyPage that allows to set the environment

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
echebbi added a commit that referenced this pull request May 2, 2020
Because:
 - this wizard should allow to choice between an environment based on a .dsl configuration
   file and an environment based on project's preferences

Also:
 - perform some code improvements & tests fix

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
echebbi added a commit that referenced this pull request May 2, 2020
Because:
 - its layout does not follow the new default layout

Signed-off-by: Emmanuel Chebbi <emmanuel.chebbi@outlook.fr>
@echebbi echebbi deleted the 4-decouple-ALE-env-from-DSL branch May 2, 2020 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Validation of .ale file crash when .dsl file has not the same name
1 participant