250 likes | 374 Views
Dagstuhl Seminar on Autonomous and Adaptive Web Services February 05-09, 2007. Reconfigurable Architecture Designs with Constraints. Ugo Montanari Dipartimento di Informatica University of Pisa. Roadmap. Software architecture styles as graph languages/types
E N D
Dagstuhl Seminar on Autonomous and Adaptive Web Services February 05-09, 2007 Reconfigurable Architecture Designs with Constraints Ugo Montanari Dipartimento di Informatica University of Pisa
Roadmap • Software architecture styles as graph languages/types • Software designs as derivations/type proofs • Constraints, soft constraints, named constraints • Cc-pi, a pi-calculus with constraints
Roadmap • Software architecture styles as graph languages/types • Software designs as derivations/type proofs • Constraints, soft constraints, named constraints • Cc-pi, a pi-calculus with constraints
Software Architectures, I A refinement production for a pipeline architecture (work in collaboration with Dan Hirsch)
Software Architectures, II An inference rule for composing two productions
Safe Reconfiguration A reconfiguation transformation between two proofs
Roadmap • Software architecture styles as graph languages/types • Software designs as derivations/type proofs • Constraints, soft constraints, named constraints • Cc-pi, a pi-calculus with constraints
Designs as Proofs • This formula can be interpreted as: • A type inference rule defining an architectural style • A context-free hyperedge replacement rule • A datalog resolution step
e <> y y C C x z e <> C x , {(x, y e <>), ( ,e,<>)} x, y C(x,y) x, y nz.C(x,z) | C(z,y) Datalog example
RML SENSORIA Discovery and binding in an event executed by agent a triggers the discovery of a service of type R_B(a) the module B(a) that provides the business specification of agent a agent a executing in a given configuration
RML SENSORIA Reconfiguration in the new business specification of agent a the new state configuration of agent a
Roadmap • Software architecture styles as graph languages/types • Software designs as derivations/type proofs • Constraints, soft constraints, named constraints • Cc-pi, a pi-calculus with constraints
Constraint Programming • 1960's • Sutherland’s Sketchpad (Interactive graphical interface that solved geometric constraints) • 1970‘s • Fikes' REF-ARF • Montanari (networks of constraints with path consistency) • Laurière's ALICE (solve prediction/detection problems in geology) • Next years… • several constraint languages (the language of Steele, CONSTRAINTS of Sussman & Steele, Thinglab and Bertrand
CP Killer Applications, I • Assignment problems • Stand allocation for airports (Roissy airport in Paris) • Berth allocation to container ships (Honk Kong harbor) • Personnel assignment • Rosters for nurses in hospitals (France) • Personnel for the French TV, TGV high-speed train, British Telecom, Telecom Italia • Transport problems • COBRA (workplans for train in UK) • DAISY Esprit project and SAS-Pilot (assignement of airline crews to flights)
CP Killer Applications, II • Network management • Cabling of telecommunication network (France Telecom) • Electrical power network reconfiguration (Spanish electricity company) • Load-balancing of the network-flow for inter-banking system (Italy) • Management and operational control of water systems • Planning of wireless digital network
C-Semirings (work in collaboration with Stefano Bistarelli and Francesca Rossi)
Bistarelli 94Optimization Fargier 93Probabilistic Schiex 92Prade 93Ruttkay 94Fuzzy Schiex 95Valued <+,min,+,+,0> <[0,1],max,,0,1> <[0,1],max,min,0,1> C-semirings Freuder 92Partial <{false,true},,,false,true> ClassicalMontanari 74 Chiu, Lee 98FuzzyHCLP Borning 89HCLP C-semirings Fit Interesting Cases
Constraint Programming with C-Semirings • Several existing algorithms can be extended to c-semirings • Constrant Logic Programming (CLP(X)) can be extended to c-semirings • Cartesian product of c-semirings is a c-semiring (it is not the case for booleans) • Functional domains, power domains preserve the c-semiring structure and allow for the same logic, algorithms • Example: multicriteria shortest path optimization (useful for high QoS networking) needs a powerdomain on top of a cartesian product. Then Bellman-Ford of Warshall-Floyd can be used. • Concurrent constraint programming for network aware programming
Named c-Semirings, I • C-Semirings with additional features • Every constraint has a finite set of free names (support) • There are operations of renaming and of name restriction (á la pi-calculus) with suitable axioms, e.g. x)(c x d) = c xx)d if x is not in the support of c similar to pi-calculus x)(p|q) = p xx)q if x is not a free name of p (work in collaboration with Marzia Buscemi)
: A can be any constraint semiring Named c-Semirings, II Several interesting constraint systems are named c-semirings: • Equivalence relations of names with lub and glb • Herbrand constraint systems (equivalence relations of terms): • Soft Constraint Satisfaction Problems (CSP):
Roadmap • Software architecture styles as graph languages/types • Software designs as derivations/type proofs • Constraints, soft constraints, named constraints • Cc-pi, a pi-calculus with constraints
Cc-pi, A Language for Contracts, I (work in collaboration with Marzia Buscemi)
An Example A Provider and Client example
Future Work • Basic graph representation • Processes with constraints • Hierarchy/history via graph derivations • Transformation via (synch) hyperedge replacement/DPO • Matching vs. unification • Compositionality of graph derivations • Mapping SRML • Efficient computation via dynamic programming • Assert-guarantee verification • Reconfiguration as proof rewriting