160 likes | 256 Views
Support for Managing Design-Time Decisions. By: Dan Garubba Based on a Paper by Alexander Egyed and David S. Wile. Scenario. You are at a party and everyone wants to eat pizza.
E N D
Support for Managing Design-Time Decisions By: Dan Garubba Based on a Paper by Alexander Egyed and David S. Wile
Scenario • You are at a party and everyone wants to eat pizza. • However, not everyone wants the same kind of pizza. Some want different toppings; some want different kinds of cuts. • The configuration of the pizzas must be determined before placing and order. • Any changes after placing the order requires further pizzas to be ordered
Topics • Formalizing Constraints, Ambiguities, and Design Choices • Algorithmically Eliminating Infeasible Choices • Computational Complexity
Formalizing Design Choices, Ambiguities, Constraints • CSP: Constraint Satisfaction Problem • CST: CSP Solution Techniques • Ambiguity: a variable • Choice: elements that determine the domain of an ambiguity • Assignment = Ambiguity -> Choice • Constraint: Assignment -> Boolean
Focus of CSP example Ambiguities Choices
The Algorithm • Eliminate Choices, One Constraint at a time • Determine Mandatory Ambiguities • Promoting Optional Ambiguities to Mandatory Ambiguities
Choice Elimination by Explicit Constraints • Collect All Positive Assignments • Model Profiling: Create assignments from ambiguities which may produce more assignments
Mandatory Ambiguities • The ambiguities that are that are referenced in every positive assignment • Removing invalid choices:
Optional Ambiguities • Ambiguities that are referenced in some, but not all positive assignments • Conditionally dependent on other ambiguities
Promoting Optional Ambiguities to Mandatory Ambiguities • Optional ambiguities maybe promoted to mandatory, which makes them eliminatable • Constraint Propagation: If a choice is eliminated, it should be removed in all positive assignments of all constraints.
Computational Complexity • Positive Assignments: O(C# * Csize * ChPAAPC) • Choice Elimination: O(CPA * (ChPAAPC-1 + APC * ChPA)) • Though it appears that the order is high, Csize, CPA, and APC are small, even in big models. • Further more, tests on small models reveal that optimal (most choices eliminated), and consistency verified solutions were verified.
Real Life • Give an example or real life anecdote • Sympathize with the audience’s situation if appropriate
Conclusion • Automated tools cannot derive the best design, that is up to the designer • However the authors guarantee: • No valid choice is ever eliminated from the designer’s consideration • Now choice reported to the designer as inconsistent could possibly be consistent with the decisions made to that point • Determining what choices should be removed is near optimal • The algorithm is computationally scalable • The algorithms guarantees all of the above properties despite the fact that it is not able to evaluate all of the constraints.
Source • Support for Managing Design Time Decisions, Egyed & Wile. IEEE Transactions on Sovtare Engineering, Vol32., No. 5, May 2006. <http://csdl.computer.org/dl/trans/ts/2006/05/e0299.htm>