Title: QC-Trees: An Efficient Summary Structure for Semantic OLAP
1Constrained Objects for Modeling Complex Systems
Pallavi Tambay, Yang Zhang, Prof. Bharat
Jayaraman
Constrained Objects gt Constraints Objects
What is a Constrained Object?
- Constraint languages
- Constraints model behavior
- - No resemblance to structure
- - Complex system is a flat collection of
constraints - - Constraints cannot be visualized
- Object-oriented languages
- Objects model structure
- - Methods not appropriate for modeling behavior
of complex systems - Visualization tools
- Natural, intuitive geometric representation
- - No representation of semantics or behavior of
system - - Modeler may not understand underlying
representation
- An object is a container of data that is
accessed via a well-defined interface of
procedures. (Imperative) - A constrained object contains data that is
governed by laws, or constraints. (Declarative) - Examples resistor in a circuit, a joint in a
truss, a cell in a spreadsheet, etc. - Cob is a programming language combining
Java-like - classes with declarative constraints instead of
methods.
Principles underlying Constrained Objects
- Compositional specification of structure
- ? objects
- Declarative specification of behavior
- ? constraints
- Visual specification of structure ?
smart diagrams
Typical Modeling Scenario
modeling define_Cob_classes
build_object_structu
re solve_structure
modify_structure
re_solve_structure
query_structure
Truss as Constrained Object
CUML Constraint-based UML (with R. Jyotwani)
class joint attributes bar Bars
load Loads constraints (sum X
in Bars X.B.F sin(X.A)) (sum
L in Load L.F sin(L.A)) 0 (sum Y
in Bars Y.B.F cos(Y.A)) (sum
M in Loads M.F cos(M.A)) 0 constructor
joint(B1, L1) Bars B1 Loads
L1
Domain-Specific Visual Language (with A. Dev
N. Menon)
class slab attributes level Pl beam
Peripherialbeams real Z constraints
forall B in Peripheralbeams B.Z Z
constructor slab(L,B) Pl L
Peripherialbeams B
Compilation and Execution
What is Partial Evaluator
Input
o
P
CCLP
-
translation of a Cob Program
G
CCLP
-
translation of a Cob Query
Evaluate
parEval(
G
, ,
C
)
o
Output
o
C
Set of constraints
P
C
G
?
Partial Evaluator (PE) - Strategy
parEval(true, C, C). parEval((A,B), Cin, Cout)
- parEval(A, Cin, Cout1),
parEval(B, Cout1, Cout). parEval(G, C, C) -
(clp_built-in(G) unification(G)
cob_builtin(G)), call(G).