Skip to Navigation | Skip to Content

Ref_impl_Eiffel mailing list archives

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[ref_impl_eiffel] [879] Various validation improvements:


Revision: 879
Author:   thomas.beale
Date:     2009-07-27 15:36:58 +0100 (Mon, 27 Jul 2009)

Log Message:
-----------
Various validation improvements:
- major improvements in organisation of validation logic
- removal of some obsolete validation
- move of ARCHETYPE_CONSTRAINT.is_valid logic, which is no longer needed
- addition of ARCHETYPE_CONSTRAINT.rem_descriptor, to allow live ref to 
the meta-model **
- addition of basic strict/non-strict compilation option

** This introduces a new problem - we use deep_twin to generate initial 
flat form archetypes from differential form archetypes; e.g. in 
FLAT_ARCHETYPE.make_from_differential - at the moment this will cause 
massive in-memory copying of the meta-model structure becuase of the 
rm_descriptor links. A solution is till to be found.

TODO
- both top-level and specialised archetypes need to be compressed with 
the RM to pick up existence, cardinality, occurrences. Currently only 
top-level ones are. (ARCHETYPE_FLATTENER).
- connect in post-flattening validation; posibly create a new validator 
class to do this? Currently only logic is to check for occurrences v 
cardinality; logic is at bottom of ARCHETYPE_VALIDATOR. 

Modified Paths:
--------------
    BRANCHES/specialisation/apps/adl_workbench/src/main/constants_imp.e
    BRANCHES/specialisation/apps/adl_workbench/src/main/main_window.e
    BRANCHES/specialisation/apps/adl_workbench/src/main/option_dialog.e
    
BRANCHES/specialisation/apps/adl_workbench/src/main/option_dialog_imp.e
    
BRANCHES/specialisation/apps/adl_workbench/src/main/shared_ui_resources.e
    
BRANCHES/specialisation/apps/adl_workbench/src/main/system_interface.xml
    
BRANCHES/specialisation/components/adl_parser/src/syntax/cadl/cadl_engine.e
    
BRANCHES/specialisation/components/adl_parser/src/syntax/cadl/parser/cadl_validator.e
    
BRANCHES/specialisation/components/adl_parser/src/syntax/cadl/parser/cadl_validator.y
    
BRANCHES/specialisation/components/archetype_repository/src/directory/arch_rep_archetype.e
    
BRANCHES/specialisation/components/reference_model_checker/src/model_access.e
    
BRANCHES/specialisation/libraries/common_libs/src/basic/multiplicity_interval.e
    
BRANCHES/specialisation/libraries/common_libs/src/structures/object_graph/path/og_path.e
    
BRANCHES/specialisation/libraries/common_libs/src/utility/error_reporting/in_memory_message_db.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/archetype_path_analyser.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/archetype_validator.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/comparator/archetype_flattener.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/constraint_model/archetype_constraint.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/constraint_model/archetype_internal_ref.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/constraint_model/c_attribute.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/constraint_model/c_complex_object.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/constraint_model/c_object.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/constraint_model/c_primitive_object.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/constraint_model/c_unidentified_node_checker.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/constraint_model/constraint_ref.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/ontology/archetype_ontology.e
    
BRANCHES/specialisation/libraries/openehr/src/am/archetype/shared_application_context.e
    
BRANCHES/specialisation/libraries/openehr/src/rm/common/resource/authored_resource_validator.e