Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Eclipse 4diacWiki/Development/Detecting Model Inconsistencies in 4diac Models with OCL"

(Init)
Line 8: Line 8:
 
* Assigning the requirements to OCL constraints to facilitate traceability
 
* Assigning the requirements to OCL constraints to facilitate traceability
 
* OCL constraint types: invariant, pre- and postcondition, derived element, operation contracts
 
* OCL constraint types: invariant, pre- and postcondition, derived element, operation contracts
* Format: Table format? Columns: ID, Name, Description, Contraint type, Context
+
* Format: Table format
 +
* [https://docs.google.com/spreadsheets/d/1JFpQhYCTBrei3QrgTYtS0RLJ0daLuESjP0bE87VRZas/edit?usp=sharing Google Sheet]
  
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
|+ '''Requirements'''
 
|-
 
! style="background: #CEF2CE;" width="200"  align="center"| ID
 
! style="background: #CEF2CE;" width="200"  align="center"| Name
 
! style="background: #CEF2CE;" width="400"  align="center"| Description
 
! style="background: #CEF2CE;" width="200"  align="center"| Constraint type
 
! style="background: #CEF2CE;" width="200"  align="center"| Context
 
|-
 
! style="background: #FFFFFF;" width="200"  align="center"| 1
 
! style="background: #FFFFFF;" width="200"  align="center"| DTMustHaveValue
 
! style="background: #FFFFFF;" width="400"  align="center"| Check if DT is null 
 
! style="background: #FFFFFF;" width="200"  align="center"| Invariant
 
! style="background: #FFFFFF;" width="200"  align="center"| VarDeclarationImpl
 
|}
 
  
 
=== Improving 4diac Ecore models ===
 
=== Improving 4diac Ecore models ===
* Adding new elements (e.g. classes and operations) to the Ecore models to facilitate the introduction of OCL constraints
+
* Adding new elements (e.g. classes and helper operations) to the Ecore models to facilitate the introduction of OCL constraints
* Making suggestions for improvements on the Ecore models
+
* Making suggestions for improvements on the Ecore models (without side-effects!)
  
 
=== Validity view for displaying validation results ===
 
=== Validity view for displaying validation results ===

Revision as of 05:06, 27 May 2020

Overview page of GSoC 2020 Project

The aim of this project is to develop OCL constraints and well-formedness rules to the metamodels of 4diac in order to improve the usability of the IDE.

Milestones

Requirement specification

  • Precise and traceable requirement list for rules which should be validated on the Ecore models
  • Assigning the requirements to OCL constraints to facilitate traceability
  • OCL constraint types: invariant, pre- and postcondition, derived element, operation contracts
  • Format: Table format
  • Google Sheet


Improving 4diac Ecore models

  • Adding new elements (e.g. classes and helper operations) to the Ecore models to facilitate the introduction of OCL constraints
  • Making suggestions for improvements on the Ecore models (without side-effects!)

Validity view for displaying validation results

  • Displaying the violated OCL constraints and the problematic model elements in a user-friendly way
  • Modal window? Something like the errors and warning view? Customizing built-in OCL errors view?
  • Highlighting the problematic model elements in the model editor

Implementing OCL constraints

  • Developing the OCL constraints and well-formedness rules based upon the requirement list
  • Testing the newly implemented features and constraints

Back to the top