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

Prototype for EMF model instance language module #856

Merged
merged 46 commits into from
May 19, 2023
Merged

Conversation

tsaglam
Copy link
Member

@tsaglam tsaglam commented Dec 20, 2022

This PR adds a language module for parsing EMF models (as in instances of EMF metamodels). In this prototypic implementation, the metamodel (Ecore file) needs to be provided as a submission to parse the metamodel itself. Tokens are extracted dynamically, meaning for every metaclass in the metamodel. This means the token set is very generic and not tailored according to specific kinds of models. As for visualization, Emfatic (which is used for metamodels) does not support models; we thus use a simplified textual tree view.

Additionally, this PR now adds the token normalization mechanism.

Tasks:

  • Loading and registering metamodel first
  • Parse models and extract tokens dynamically
  • Generate simple textual representation (simplified tree view)
  • Enrich tokens with tracing information
  • Test language module
  • Add to CLI
  • Implement a proper way of specifying the metamodels for the model language module
  • Document language module
  • Rename language Interfaces
  • Ensure visualization in report viewer works, this recently broke!

Additionally, with #1053 this PR now includes the newly added model normalization.

@tsaglam tsaglam added the language PR / Issue deals (partly) with new and/or existing languages for JPlag label Dec 20, 2022
@tsaglam
Copy link
Member Author

tsaglam commented Jan 12, 2023

For some reason, the coverage calculation is off, even though the test case is executed.

@tsaglam tsaglam requested review from a team and smjonas January 12, 2023 13:07
@tsaglam tsaglam added enhancement Issue/PR that involves features, improvements and other changes major Major issue/feature/contribution/change labels Jan 12, 2023
@tsaglam tsaglam marked this pull request as ready for review January 23, 2023 15:19
@dfuchss

This comment was marked as outdated.

@tsaglam

This comment was marked as outdated.

@dfuchss

This comment was marked as outdated.

@jplag jplag deleted a comment from sonarcloud bot Mar 17, 2023
@tsaglam tsaglam removed the request for review from smjonas May 16, 2023 08:21
# Conflicts:
#	language-api/src/main/java/de/jplag/Token.java
@jplag jplag deleted a comment from sonarcloud bot May 19, 2023
@sonarcloud
Copy link

sonarcloud bot commented May 19, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

86.1% 86.1% Coverage
0.0% 0.0% Duplication

@tsaglam tsaglam merged commit 7dd74c6 into develop May 19, 2023
@tsaglam tsaglam deleted the emf-model-new branch May 19, 2023 09:41
@tsaglam
Copy link
Member Author

tsaglam commented May 19, 2023

Open issues are documented in #576.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Issue/PR that involves features, improvements and other changes language PR / Issue deals (partly) with new and/or existing languages for JPlag major Major issue/feature/contribution/change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants