Set Intersection/Subtraction
Advisor(s): Wayne Heym
Participants: A. Karl Kornel
Start Date: Spring Quarter 2002
Project Status: Completed Spring Quarter 2002
Index:
Abstract:
The Set component, besides providing basic operations, also has an
addition component that can be used to union two
sets. However, no components existed to provide
set intersection or subtraction. This project
seeks to provide intersection and subtrction
operations to the Set component.
Calendar:
- 30 April 2002: As part of a presentation to Europa, the creation
of Intersection and Subtraction operations
were proposed and approved.
- Spring 2002: Set_Intersection and Set_Subtract abstract components,
and Set_Intersection_1 and Set_Subtract_1
concrete implementations, we added to the
RESOLVE Catalog. Abstract components made
publicly readable. Concrete components restricted.
Project Development:
During the development of Intersection and Subtract, a choice of
parameter modes was required. Each
operation would require two parameters. It
was possible to write the Subtract and
Intersection operations to consume both
parameters, or consume one and preserve the
other. The decision was made to preserve
one of the parameters, while consuming the
other. This gives the user the choice of
which Set to destroy. Other than that
decision, designing and implementing the
components (and their test program) was
relatively simple.
Findings and Contributions:
This project completed the Set component implementation of Set
theory by providing Intersection and Subtraction operations.
Links and References:
- The following abstract specifications are available in the RESOLVE
HTML Catalog:
- Complete abstract and concrete code is available here.
- The code for the extensions testing program is available on the Sun servers at /use/class/sce/rcpp/test/RESOLVE_Catalog/Test/. The testing program implements all of the standard Set operations, as well as Union, Intersection, and Subtract.
Return to Europa
A. Karl Kornel <kornel@cis.ohio-state.edu>
Last modified: Mon Mar 3 18:34:53 EST 2003