-
Notifications
You must be signed in to change notification settings - Fork 1
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
Modeling Exercises
: Refactor Feedback Reference (#354)
#354
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
github-actions
bot
added
the
lock:athena-test1
Is currently deployed to Athena Test Server 1
label
Nov 16, 2024
LeonWehrhahn
temporarily deployed
to
athena-test1.ase.cit.tum.de
November 16, 2024 19:02 — with
GitHub Actions
Inactive
…apping and uniqueness resolution
…tum/Athena into feature/modeling/reference
LeonWehrhahn
added
deploy:athena-test1
Athena Test Server 1
and removed
lock:athena-test1
Is currently deployed to Athena Test Server 1
labels
Nov 18, 2024
|
github-actions
bot
added
the
deployment-error
Added by deployment workflows if an error occured
label
Nov 18, 2024
LeonWehrhahn
added
deploy:athena-test1
Athena Test Server 1
and removed
deployment-error
Added by deployment workflows if an error occured
labels
Nov 19, 2024
LeonWehrhahn
temporarily deployed
to
athena-test1.ase.cit.tum.de
November 19, 2024 10:07 — with
GitHub Actions
Inactive
github-actions
bot
added
lock:athena-test1
Is currently deployed to Athena Test Server 1
and removed
deploy:athena-test1
Athena Test Server 1
labels
Nov 19, 2024
LeonWehrhahn
requested review from
EneaGore,
dmytropolityka and
maximiliansoelch
November 22, 2024 07:42
github-actions
bot
removed
the
lock:athena-test1
Is currently deployed to Athena Test Server 1
label
Nov 22, 2024
DominikRemo
previously approved these changes
Nov 24, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code LGTM
LeonWehrhahn
added
deploy:athena-test1
Athena Test Server 1
and removed
lock:athena-test1
Is currently deployed to Athena Test Server 1
labels
Dec 3, 2024
LeonWehrhahn
temporarily deployed
to
athena-test1.ase.cit.tum.de
December 3, 2024 10:37 — with
GitHub Actions
Inactive
github-actions
bot
added
the
lock:athena-test1
Is currently deployed to Athena Test Server 1
label
Dec 3, 2024
LeonWehrhahn
temporarily deployed
to
athena-test1.ase.cit.tum.de
December 3, 2024 10:43 — with
GitHub Actions
Inactive
LeonWehrhahn
added
deploy:athena-test1
Athena Test Server 1
and removed
lock:athena-test1
Is currently deployed to Athena Test Server 1
labels
Dec 3, 2024
LeonWehrhahn
temporarily deployed
to
athena-test1.ase.cit.tum.de
December 3, 2024 16:28 — with
GitHub Actions
Inactive
github-actions
bot
added
lock:athena-test1
Is currently deployed to Athena Test Server 1
and removed
deploy:athena-test1
Athena Test Server 1
labels
Dec 3, 2024
…n feedback model conversion
LeonWehrhahn
added
deploy:athena-test1
Athena Test Server 1
and removed
lock:athena-test1
Is currently deployed to Athena Test Server 1
labels
Dec 3, 2024
github-actions
bot
added
lock:athena-test1
Is currently deployed to Athena Test Server 1
and removed
deploy:athena-test1
Athena Test Server 1
labels
Dec 3, 2024
maximiliansoelch
requested changes
Dec 6, 2024
@@ -11,7 +11,8 @@ | |||
class DBModelingFeedback(DBFeedback, Base): | |||
__tablename__ = "modeling_feedbacks" | |||
|
|||
element_ids: Optional[list[str]] = Column(JSON) # type: ignore | |||
element_ids: Optional[list[str]] = Column(JSON) # type: ignore |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a todo comment to remove that in the future?
maximiliansoelch
approved these changes
Dec 8, 2024
maximiliansoelch
changed the title
Refactor Feedback Reference
Dec 8, 2024
Modeling Exercises
: Refactor Feedback Reference (#354)
github-actions
bot
removed
the
lock:athena-test1
Is currently deployed to Athena Test Server 1
label
Dec 8, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
This PR introduces two changes:
Simplified Feedback Schema: The feedback schema has been simplified by replacing the list of
element_ids
with a singlereference
field. This change avoids unnecessary conversions on the Artemis side and aligns the reference format with how manual references are handled in Artemis.Enabled Detailed Element Referencing: Previously, feedback could only reference entire elements. With this update, feedback can now reference specific attributes, methods within elements and also references between elements.
Description
1. Simplified Feedback Schema
DBModelingFeedback
andModelingFeedback
models to replace theelement_ids
field with areference
field that accepts a single string in the formatelementType:elementId
(e.g.,ClassAttribute:5a337bdf-da00-4bd0-a6f0-78ba5b84330e
).2. Enabled Detailed Element Referencing
Enhanced Parsers and Transformers:
ApollonJSONTransformer
and its parsers to extract IDs and types of attributes, methods, and relations.Element
andUMLParser
classes to support detailed mapping between element names and their IDs/types.Adjusted Prompts and Utility Functions:
convert_to_athana_feedback_model
andget_exercise_model
to handle the newreference
field and support the enhanced referencing capabilities.Steps for Testing
API Testing:
/feedback_suggestions
endpoint of the module.Verify Feedback Generation:
reference
field in the formatelementType:elementId
.Check Granular Referencing:
ClassAttribute:[attribute-id]
orClassMethod:[method-id]
.Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.
Screenshots
Example of how attribute and method referencing is displayed in the feedback UI on Artemis: