Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[osee-dev] OSEE Type Inheritance Addition

OSEE currently has two tables that define which attribute types and
relation types are allowed in an artifact type. These tables have been
known historically as the validity tables. By defining attribute types
and relation types on a per branch basis, these tables allow artifact
types to vary faking some form of primitive inheritance. 

This has been identified as a weakness in the system. Therefore, we
would like to implement true inheritance among artifact types.

Current validity table definitions: 

osee_valid_attribute table
	a. attr_type_id
	b. art_type_id
	c. branch_id

osee_valid_relation 
	a. rel_link_type_id
	b. art_type_id
	c. branch_id
	d. side_a_max
	e. side_b_max

Proposed changes:
	1. Delete the branch_id entry in the two validity tables.

	2. Create an osee_artifact_type_inheritance table with the
following columns:
		a. art_type_ancestor_id
		b. art_type_descendant_id

	3. Update SQL and type managers to use the inheritance table.
		
Any comments or suggestions on this change? What impacts and additional
changes will be needed to support this effort?



Back to the top