Skip to main content

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

True artifact type inheritance would also allow for a proper
(extensible) implementation of
org.eclipse.osee.framework.skynet.core.artifact.Artifact.isOfType() and
this in turn could be used by classes that extend
org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory in their
isResponsibleFor() methods.  This would allow for the runtime creation
of new artifact types whose instances could be instantiated using a
subclass of Artifact (via an existing factory) without a code
modification.

Regards,
Ryan

-----Original Message-----
From: Escobar, Roberto E 
Sent: Tuesday, February 17, 2009 10:21 AM
To: osee-dev@xxxxxxxxxxx
Subject: [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?

_______________________________________________
osee-dev mailing list
osee-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/osee-dev


Back to the top