FUNCTION temporal_spatial_domain_for_model
(domain : numerical_model) : BOOLEAN;
LOCAL spatial_set : SET OF spatial_decomposition_of_numerical_model; behavioural_set : SET OF behavioural_decomposition_of_numerical_model; domains : SET OF numerical_model := []; viewing : BAG OF view_relationship; spatial_bag : BAG OF spatial_decomposition_of_numerical_model; behavioural_bag : BAG OF behavioural_decomposition_of_numerical_model; END_LOCAL;
viewing := USEDIN(domain, 'ANALYSIS_PRODUCT_RELATIONSHIPS_SCHEMA.VIEW_RELATIONSHIP.VIEW'); IF SIZEOF(viewing) > 0 THEN RETURN(TRUE); END_IF;
spatial_bag := USEDIN(domain, 'ANALYSIS_SCHEMA.SPATIAL_DECOMPOSITION_OF_NUMERICAL_VIEW.PARTS'); IF SIZEOF(spatial_bag) > 0 THEN spatial_set := bag_to_set(spatial_bag); REPEAT i := 1 TO HIINDEX(spatial_set); domains := domains + spatial_set[i].whole; END_REPEAT; END_IF;
behavioural_bag := USEDIN(domain, 'ANALYSIS_SCHEMA.BEHAVIOURAL_DECOMPOSITION_OF_NUMERICAL_VIEW.PARTS'); IF SIZEOF(behavioural_bag) > 0 THEN behavioural_set := bag_to_set(behavioural_bag); REPEAT i := 1 TO HIINDEX(behavioural_set); domains := domains + behavioural_set[i].whole; END_REPEAT; END_IF;
IF SIZEOF(domains) > 0 THEN REPEAT i := 1 TO HIINDEX(domains); IF temporal_spatial_domain_for_model(domains[i]) THEN RETURN(TRUE); END_IF; END_REPEAT; END_IF; RETURN(FALSE); END_FUNCTION; -- temporal_spatial_domain_for_model
|