/* 2D Shapes - sample system Last updated: May 22, 2008 */ //Namespace for facade class. namespace Shapes //Namespace for core of the system. namespace Shapes.core class Shape2D { center; } //Abstract class EllipticalShape { isA Shape2D; semiMajorAxis; } //Abstract class Polygon { isA Shape2D; } class Circle { isA EllipticalShape; } class Ellipse{ isA EllipticalShape; } class SimplePolygon { orientation; isA Polygon; } class ArbitraryPolygon { points; isA Polygon; } class Rectangle { isA SimplePolygon; height; width; } class RegularPolygon { numPoints; radius; isA SimplePolygon; }