extraction_case


INSTANCE extraction_case#1;
	description = "A case for extracting an adder from an equation of the form x+y=z";
	problem = equation#1;
	solution = adder#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/adder-plus.filc";
END_INSTANCE;

INSTANCE extraction_case#2;
	description = "A case for extracting an adder from an equation of the form x=z-y";
	problem = equation#2;
	solution = adder#2;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/adder-minus.filc";
END_INSTANCE;

INSTANCE extraction_case#3;
	description = "A case for extracting at_most_one from a concrete oneof supertype";
	problem = entity_type#172;
	solution = choice_set#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/at_most_one-supertype.filc";
END_INSTANCE;

INSTANCE extraction_case#4;
	description = "A case for extracting a lower bound from a comparator";
	problem = comparator#1;
	solution = bound#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/bound-lower.filc";
END_INSTANCE;

INSTANCE extraction_case#5;
	description = "A case for extracting an upper bound from a comparator";
	problem = comparator#2;
	solution = bound#2;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/bound-upper.filc";
END_INSTANCE;

INSTANCE extraction_case#6;
	description = "A case for extracting choice_set from an enumeration";
	problem = explicit_attribute#278;
	solution = choice_set#2;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/choice_set-enumeration.filc";
END_INSTANCE;

INSTANCE extraction_case#7;
	description = "A case for extracting choice_set from a select";
	problem = explicit_attribute#279;
	solution = choice_set#3;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/choice_set-select.filc";
END_INSTANCE;

INSTANCE extraction_case#8;
	description = "A case for extracting a domain_rules_hlc from an entity";
	problem = entity_type#173;
	solution = {domain_rules_hlc#1};
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/domain_rules_hlc.filc";
END_INSTANCE;

INSTANCE extraction_case#9;
	description = "A case for extracting an equation from a derived attribute";
	problem = derived_attribute#1;
	solution = equation#3;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/equation-derive.filc";
END_INSTANCE;

INSTANCE extraction_case#10;
	description = "A case for extracting exactly_one from an abstract oneof supertype";
	problem = entity_type#174;
	solution = choice_set#4;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/exactly_one-supertype.filc";
END_INSTANCE;

INSTANCE extraction_case#11;
	description = "A case for extracting for_all from QUERY(x <* s | p(x)) = s";
	problem = equation#4;
	solution = for_all#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/for_all.filc";
END_INSTANCE;

INSTANCE extraction_case#12;
	description = "A case for extracting many_to_many relationship from two entities";
	problem = inverse_attribute#20;
	solution = many_to_many_relationship#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/many-to-many.filc";
END_INSTANCE;

INSTANCE extraction_case#13;
	description = "A case for extracting many_to_one relationship from two entities";
	problem = inverse_attribute#21;
	solution = one_to_many_relationship#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/many-to-one.filc";
END_INSTANCE;

INSTANCE extraction_case#14;
	description = "A case for extracting multiplier from an equation of form x*y=z";
	problem = equation#5;
	solution = multiplier#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/multiplier-multiply.filc";
END_INSTANCE;

INSTANCE extraction_case#15;
	description = "A case for extracting multiplier from an equation of form x=z/y";
	problem = equation#6;
	solution = multiplier#2;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/multiplier-divide.filc";
END_INSTANCE;

INSTANCE extraction_case#16;
	description = "A case for extracting non_null from EXISTS";
	problem = function_call#2;
	solution = non_null#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/non_null-exists.filc";
END_INSTANCE;

INSTANCE extraction_case#17;
	description = "A case for extracting one_to_many_relationship from two entities";
	problem = inverse_attribute#22;
	solution = one_to_many_relationship#2;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/one-to-many.filc";
END_INSTANCE;

INSTANCE extraction_case#18;
	description = "A case for extracting one_to_one_relationship from two entities";
	problem = inverse_attribute#23;
	solution = one_to_one_relationship#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/one-to-one.filc";
END_INSTANCE;

INSTANCE extraction_case#19;
	description = "A case for extracting optional_xor_empty from [0:?]";
	problem = explicit_attribute#284;
	solution = optional_xor_empty_aggregation#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/optional_xor_empty-empty.filc";
END_INSTANCE;

INSTANCE extraction_case#20;
	description = "A case for extracting optional_xor_empty from OPTIONAL [1:?]";
	problem = explicit_attribute#285;
	solution = optional_xor_empty_aggregation#2;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/optional_xor_empty-optional.filc";
END_INSTANCE;

INSTANCE extraction_case#21;
	description = "A case for propagating domain rules from defined types to entities";
	problem = explicit_attribute#286;
	solution = {type_hlc#1, domain_rules_hlc#2};
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/propagate_from_defined_type.filc";
END_INSTANCE;

INSTANCE extraction_case#22;
	description = "A case for extracting range from two bounds in conjunction";
	problem = conjunction#1;
	solution = range#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/range-from-2-bounds.filc";
END_INSTANCE;

INSTANCE extraction_case#23;
	description = "A case for extracting a range and two bounds from an interval";
	problem = interval#1;
	solution = range#2;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/range-from-interval.filc";
END_INSTANCE;

INSTANCE extraction_case#24;
	description = "A case for extracting there_exists from SIZEOF(QUERY(x<*s|p(x)))>=1";
	problem = comparator#5;
	solution = there_exists#1;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/there_exists.filc";
END_INSTANCE;

INSTANCE extraction_case#25;
	description = "A case for extracting type_hlc & non_null from a mandatory attribute";
	problem = explicit_attribute#287;
	solution = {type_hlc#2, non_null#2};
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/type_hlc+non_null-attr.filc";
END_INSTANCE;

INSTANCE extraction_case#26;
	description = "A case for extracting type_hlc from an optional attribute";
	problem = explicit_attribute#288;
	solution = type_hlc#3;
	language = express;
	filename = "CASES/EXPRESS/EXTRACTION/type_hlc-optional.filc";
END_INSTANCE;

INSTANCE extraction_case#27;
	description = "A case for extracting swap from [t= a; a= b; b= t;]";
	problem = block#1;
	solution = swap#1;
	language = java;
	filename = "CASES/JAVA/EXTRACTION/swap.filc";
END_INSTANCE;