The CCUBE Constraint Object-Oriented Database System:

10 downloads 15134 Views 291KB Size Report
Can we put an additional desk from the catalog in a non-empty room so that its ..... ENTAIL D,C , where D is DC LIN and C is C LIN, is represented as: SELECT ...
The CCUBE Constraint Object-Oriented Database System: Alex Brodsky Department of Information and Software Engineering George Mason University

Joint work with Victor Segal, Jia Chen and Pavel Exarkhopoulo

1

CCUBE Functional Components

CCUBE System CCUBE layer CST Library

OStore layer OS Queries

CCUBE queries

Constraint calculus Monoid Comprehension

Indexing support

Approx.-based filtering, indexing and grouping

Aggregation

Extensible aggregation monoids

Collections

Extensible collection monoids

Persistence Transactions Data Integrity Version Management Client-Server Architecture

...

2

Motivation:  intermediate optimization-level language for implementing highlevel constraint (oo) languages  directly building software systems with extensible use of constraint database features

Focus: Balance between  expressiveness  complexity and  representation usefulness Potential Applications:  engineering design  manufacturing and warehouse support  command and control (such as spatio-temporal data fusion or manuever planning)  distribution logistics  market analysis

3

Architectural Design Given catalog of oce objects: desks, le cabinets, chairs etc.  Can we put an additional desk from the catalog in a non-empty room so that its drawer will not touch any other object in the room, and still have an unoccupied 4ft :  4 ft : space?  Can we put in a room two desks, two le cabinets, and two chairs from the catalog such that (1) no two objects or their opened drawers will touch each other or the walls, and (2) there will be at least 4 feet between the front of each desk and the opposite wall?  Can the system give constraints describing possible interconnections of centers of objects such that the above goals are achieved?  What would be the location of the above mentioned objects if we wanted to maximize the size of a square of available empty space?  Given a collection of objects in the room, show a projection of their cut at the height of 1/2 ft.

4

Electronic Trade with Complex Objectives Chemical manufacturer M produces products using raw material.  Limitations in resources: materials in stock, ability to raise money, manufacturing capacity (machines, operators etc)  A variety of manufacturing processes with di erent pro t functions. Examples of trade objectives/queries:  Find a set of electronic bids for products M is capable of producing and a set of of raw materials from suppliers that would satisfy the existing business constraints, and maximize the pro t function  for each electronic bid of a product M can produce, what is the relationship (described by constraints) among the required raw materials?  Is it possible to improve pro ts by 5% by making an electronic trade with a raw materials supplier, and then using a better manufacturing process?  How much of each raw material should be purchased to satisfy all electronic bid with pro tability more than 15%?  What are the ranges of and the interconnections among the quantities of all the products that can be produced using raw materials available in the electronic market place with the investment x?  What is the best manufacturing process for a given set of electronic bids?  Can an electronic bid be lled purely from inventory? and so on. 5

Spatio-Temporal Data Fusion and Sensor Management Typical scenario:  Sensors are periodically assigned to areas of responsibility.  Sensor output is collected, correlated, fused, and analyzed to form a representation of the environment.  The fused data is then used to discover patterns of behavior, assess threats, take appropriate actions, etc. In [ABK95]:  Information on sensors, targets (hostile planes), target complexes (formations), emitters which are bodies emitting signals, and platforms (friendly planes).  Obtained through a variety of sensors mounted on platforms.  Each sensors may track a restricted number of targets. Constraints as a uniform data type for heterogeneous data:  4D-trajectories  elds of vision and regard  interconnections among di erent coordinate systems  geographic regions and layers  description of legal sensor assignments  templates (such as formation types) used to de ne expected behavior of of targets for situation assessment.  description of possible platform-to-target assignments 6

Activities, captured as Constraint DB queries, include:  Assignment of sensors to areas of responsibility over targets is a

mathematical programming (combinatorial optimization) problem  Correlation and fusion process for reports from sensors. The representation of an environment based on the fused reports consists of 4D-trajectories of targets, including its prediction for some period of time.  Constructing \big picture": formations of targets (e.g., a squadron of ghter jets ying a standpoint tier formation) are identi ed. The type of a formation is also naturally described by constraints expressing geometrical interposition of targets over a period of time.  Computing launch envelopes (of weapon systems) of formations (expressed as constraints relative to a sensor's system of coordinates)  Assessing threats (e.g., nding all formations whose launch envelops will intersect a military zone within less than 2 minutes), etc.  Optimal assignment of (weapons systems of) platforms to targets (combinatorial optimization problem).

7

Why Constraints as Data? Uniformity: Constraints possess great modeling power and as such

can serve as a uniform data type for conceptual representation of heterogeneous data, including spatial and temporal behavior, complex design requirements and partial and incomplete information. Expressiveness: Constraint objects are manipulated by means of a constraint calculus/algebra: a sub-family of rst-order logic, renaming of variables, and atomic (e.g., arithmetic) constraints. For example, if we only use linear constraint over reals within rst-order logic we can express any linear transformation such as rotation, translation and stretch; check convexity, discreteness, and boundness; compute convex hulls, augment objects, change coordinate systems; etc. Thus, constraint objects can be manipulated by an expressive language. Compactness: Moreover, since this language uses only a small number of operators (i.e., logical connectors and quanti ers), it is also very compact, as compared to using a separate operator for each speci c type of transformation, which is typically done in extensible or spatial database systems. Optimizability: We also claim that for many useful constraint domains, query languages manipulating constraint objects are deeply optimizable, in terms of indexing and ltering (e.g. [BLLM95,KRVV93,Sri92], and constraint algebra algorithms and global optimization (e.g. [BJM93,GK95,BGS96]).

8

Constraints and CST objects V Z

my_desk

2

4

−4

−2

4

Z1

(x,y)

W

W1 −2 1 1

(p,q)

6 U

An instance of a desk with a drawer in the room

9

Extent of a desk: (,4  w  4) ^ (,2  z  2) viewed as a set of points f(w; z)j(,4  w  4) ^ (,2  z  2)g Extent of drawer: (,1  w1  1) ^ (,1  z 1  1) Possible locations (p; q) of the drawer's center: p = ,2 ^ ,3  q  ,1 Translation between the desk's W; Z and the room's U; V coordinates: u = x + w ^ v = y + z

10

Extent of the desk in the room's coordinates (if centered at (6,4)): (9x; y; w; z ) [(,4  w  4) ^ (,2  z  2)]^ [u = x + w ^ v = y + z ]^ [x = 6 ^ y = 4] that simpli es to (2  u  10) ^ (2  v  6) In CCUBE syntax: (u,v) |

((-4 extent), for all desks that, if centered at (6; 4), would intersect the area (3