@PhDThesis{ wahler:using:2008, abstract = {Developing constraint specifications for class models is a time-consuming and error-pronetask because typical specifications contain numerous constraints, which in addition oftenstate complex facts about the elements of the model. As the size and the complexity of constraintspecifications grow, so does the probability of inadvertently specifying inconsistentmodels that cannot be instantiated because of contradictory constraints.In this thesis, we introduce a novel approach to developing consistent constraint specificationsbased on constraint patterns. The input for this approach is an unconstrainedclass model and the output is a formal constraint specification. The approach comprisesfour phases. First, class models are automatically analyzed to elicit potentially missingconstraints. Second, a library of composable constraint patterns allows developers to writeconcise constraint specifications based on the results from the elicitation phase. Third, thisapproach contains consistency assertions on the constraint pattern library that enable automaticconsistency analysis of pattern-based constraint specifications. As basis for theseconsistency observations, we provide formal definitions of consistency properties of constrainedclass models. Fourth, pattern-based constraint specifications are transformed intological expressions or code in a programming language.The focus of the approach is on effectiveness and practicability. Therefore, we introducea tool that allows model developers to follow the theoretic approach in a guidedway and effectively apply it in modeling projects. We use this tool to conduct severalcase studies in which we validate that our approach improves the state-of-the-art constraintdevelopment in terms of detecting missing constraints, shortening developmenttime, avoiding inconsistencies, and yielding more comprehensible constraints.}, address = {Switzerland}, author = {Michael Wahler}, language = {USenglish}, pdf = {papers/2008/0_wahler-diss.pdf}, school = {ETH Zurich}, title = {Using Patterns to Develop Consistent Design Constraints}, year = 2008, user = {pretscha} }