Project Topics: MCI 2007.1
Download
Report
Transcript Project Topics: MCI 2007.1
Project Topics: MCI 2007.1
Jacques Robin
Ontologies
Reasoning
Components
Agents
Simulations
Topic
Developing a component framework of search algorithms
Based on the books:
Artificial Intelligence a Modern Approach by Russell & Norvig
Constraint Processing by Dechter
Stochastic Local Search by Hoos & Stützle
Using under development KobrA-2 method for PIM modeling
Maximizing separation of concerns:
Search problem specifications
Search algorithms
Search heuristics (variable choice, value choice, backtracking point
choice, etc.)
Search visualization (GUI to follow reasoning)
Topic
Modeling a hierarchical framework of abstract components
which generic description is inherited by concrete components
that can be used to assemble variations of two main target algorithms
Conflict directed backjumping (complete, not very scalable)
Min-conflict (incomplete, very scalable)
Something along those lines ...
SearchProblem
PartialStateFormulation
SearchProblem
GlobalSearchAlgo
LocalSearchAlgo
CSPSearchProblem
CSPSearchAlgo
FDCSP
SearchProblem
FDCSP
SearchAlgo
PartialStateFormulation
FDCSPSearchProblem
Backtracking
Heuristic
FullStateFormulation
SearchProblem
VariableChoice
Heuristic
SearchAlgo
FullStateFormulation
FDCSPSearchProblem
ValueChoice
Heuristic
GlobalFDCSP
SearchAlgo
LocalFDCSP
SearchAlgo
CDBJ
Min-Confllict
PSM and Code
Develop a partial UML Profile for Java OSGi Component Model
Model the PSM using this profile
Either:
Manually translate the PIM to PSM and to source code
Write ATL rules that automatically perform these translations
Test the framework on a set of benchmark problems including:
Map coloring
N-Queens
Division of Labor
All four students:
PIM of general abstract framework classes
Problem formulations (Heron)
Algorithms (Geovane)
Heuristics (Juliana)
UML profile for Java OSGi (Weslei)
PIM of benchmark problems (Roberto)
Can suggest division of labor for those tasks
Division of Labor
Heron & Weslei:
PIM of abstract superclasses of Conflict-Direct Backjumping
PIM of abstract Conflict-Direct Backjumping
PIM of benchmark problems Partial State Formulation
PIM of concrete Conflict-Direct Backjumping variant assemblies
PSM of these PIM
Java code of these PIM
Geovane, Juliana & Roberto:
PIM of abstract superclasses of Min-Conflict
PIM of abstract Min-Conflict
PIM of benchmark problem Full State Formulations
PIM of concrete Min-Conflict variant assemblies
PSM of these PIM
Java code of these PIM
Timetable
21/03: Version 1.0 of KobrA PIM for common components
10/04:
Version 2.0 of KobrA PIM for common components
Version 1.0 of KobrA PIM for concrete components
Version 1.0 of UML Profile for OSGi Java
24/04:
Version 2.0 of KobrA PIM for concrete components
Version 2.0 of UML Profile for OSGi Java
Version 1.0 of PSM and Source Code for common and concrete
components
03/05: Final oral presentation and demos
Reminder: KobrA’s PIM as a
Recursive Component Assembly
Clientship +
Containment rules
Clientship +
Containment rules
Containment rules
Clientship
rules
Cliensthip
rules
Clientship +
Containment rules
Clientship
rules
KobrA-2 Artifacts for each
Component Specification
Class diagrams: interfaces with operations, realizing component
classes, classes defining non-primitives types of operation
parameters
Structural OCL constraints of these class diagrams
(if needed) OCL derived attributes
OCL pre and post conditions or body for each operation of each
interface
Component diagrams: socket-lollypop interfaces, port types,
realizing component classes
(if needed) Protocol state machine: states changes of components
resulting from calling operations of the interface that it realizes,
primitive operation calls or OCL expressions on the transitions,
primitive state attribute specification or OCL expression on the
nodes
KobrA-2 Artifacts for each
Component Realization
Class diagrams: interfaces with operations, realizing component
classes, classes defining non-primitives types of operation
parameters
Structural OCL constraints of these class diagrams
(if needed) OCL derived attributes
OCL pre and post conditions or body for each operation of each
interface
Component diagrams: socket-lollypop interfaces, port types,
realizing component classes
Composite structure diagrams (one for each constructor operation):
component instances, port instances, connections
Activity diagrams (one for each operation): nodes either names of
other activities, names of primitive actions or OCL expressions
joining primitive actions