|  
          
          
 
             
              | Stepwise Refinement Validation of Design 
                Patterns Formalized in TLA+ using the TLC
                Model CheckerToufik Taibi,  Department of Electrical and Computer Engineering
			      University of Western Ontario London N6A5B9, Ontario, CanadaÁngel Herranz, Babel Group, Universidad Politécnica
			      de Madrid, Campus de Montegancedo s/n, Boadilla del Monte 28660, Spain
 Juan José Moreno-Navarro, Babel Group, Universidad
			      Politécnica de Madrid & IMDEA-Software, Campus de Montegancedo s/n,
	          Boadilla del Monte 28660, Spain
 |  | REFEREED ARTICLE
 
 
  PDF Version
 |   Abstract Despite being around for only a little more than a decade, design patterns have proved
           to be successful reuse artifacts. However, the fact that they are mostly described informally
           gives rise to ambiguity and hinders correct usage. This paper discusses how
           to formally specify the "solution element" of patterns using TLA+, the formal specification
           language of Temporal Logic of Actions (TLA). The focus is first on formally
           specifying the most abstract version of a pattern before validly doing stepwise refinements
           by adding more details along the way until reaching a concrete implementation.
           Checking that the refinement properties hold was done using TLC — the TLA+ model
           checker.
 
 Note: Due to the typographical sophistication of this article, no HTML version is available. Please use the PDF version. 
 About the authors
           
             |  
 
 |  |  Toufik Taibi received his PhD from Multimedia University,
               Malaysia in 2003. He is currently a post-doctoral fellow at the department
               of Electrical and Computer Engineering at the University
               of Western Ontario, Canada. Prior to that he was Assistant Professor
               at United Arab Emirates University, UAE. Dr. Taibi has more
               than 16 years of combined teaching, research and software industry
               experience. His research interests include formal methods as it applied
               to software engineering, multi-agent systems and cooperative
             distributed systems. He can be reached at ttaibi@uwo.ca. |  
             |  
 
 |  |  Ángel Herranz is an associate professor of computer science and
               member of the Babel Research Group at Universidad Politécnica de
               Madrid. He is a partner in Sistemas de Identificaci´on Giro, an electronic
               engineering start-up. His research interests include formal
               aspects of software development, assisted and automatic program
             derivation and programming languages. He can be reached at aherranz@fi.upm.es. |  
             |  
 
 |  | Juan José Moreno-Navarro received his Ph.D. degree in Computer
               Science from the Technical University of Madrid in 1989. Since
               1996 he is full professor at its Department of Computer Science,
               where he leads the research group Babel, focused on high-quality
               software development through the use of declarative technology.
               Currently he is also Deputy Director of IMDEA-Software (Madrid
               Research Institute for Software Technologies). His research lines
               cover all the topics related to declarative technology and software
             development. He can be reached at jjmoreno@fi.upm.es. |  
  Toufik Taibi, Ángel Herranz, Juan José Moreno-Navarro: "Stepwise Refinement Validation of Design 
Patterns Formalized in TLA+ using the TLC
Model Checker", in Journal of Object Technology, vol. 8, no. 2, March-April 2009, pp. 137-161 http://www.jot.fm/issues/issue_2009_03/article3/   |