Component-based tool for verifying applications using object-oriented patterns
Keywords:Design Patterns, Formal Methods, Software Engineering, Object-Oriented Design, CASE Tools
Applying design patterns is considered a helpful technique for designing software systems. Patterns description, however, results not sufficiently precise providing a weak understanding and making it difficult to be certain when a pattern is being used correctly. We have formally specified a metamodel where properties of patterns and object-oriented design can be rigorously described. In the present work, our formal basis is used to build a component-based tool for verifying proper applications of object-oriented patterns. The usage of this tool is also focused on the learning process about patterns applications. Through a better understanding of patterns, the designer may certify when and how a pattern is being appropriately applied to solve a specific design problem. Furthermore, the whole design process could be improved by using a precise technique supported by an automatic tool for verification.
 Doug Lea. Patterns-Discussion FAQ. http://g.oswego.edu/dl/pd-FAQ/pd-FAQ.html, December 1999.
 Robert Zubeck. Much Ado about Patterns. http://www.acm.org/crossroads/xrds5-1. ACM Crossroads Student Magazine, Fall 1998
 Gamma E., Helm R., Johnson R. and Vlissides J. Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
 The RAISE Language Group. The RAISE Specification Language. BCS Practitioner Series, Prentice Hall, 1992.
 Andrés Flores, Luis Reynoso and Richard Moore. A Formal Model of Object Oriented Design and GoF Design Patterns. In proceedings of the FME 2001, Formal Methods Europe, Berlin, Germany, LNCS 2021, Springer Verlag 2001, 12-16 March 2001, pp. 223-241.
 Andrés Flores and Richard Moore. Analisis and Specification of GoF Structural Patterns. In proceedings of 19th IASTED, International Conference on Applied Informatics (AI 2001), Innsbruck, Austria, 19-22 February 2001, pp. 625-630.
 Luis Reynoso and Richard Moore. A Precise Specification of GoF Behavioural Patterns. In proceedings of SNPD'01, 2nd International Conference on Software Engineering, Artificial Intelligence, Networking & Parallel/Distributed Computing, Nagoya, Japan, 20-22 August 2001, pp. 262-270.
 Gabriela Aranda and Richard Moore. GoF Creational Patterns: A Formal Specification. Technical Report 224, UNU/IIST, P.O. Box 3058, Macau, 2000♦.
 Marco Meijers, Tool Support for ObjectOriented Design Patterns. Master Thesis. Department of Computer Science, Utrecht University, The Netherlands, August 1996, http://www.serc.nl/people/florijn/work/patterns.html.
 Andrés Flores, Luis Reynoso and Richard Moore. A Formal Model of Object Oriented Design and GoF Design Patterns. Technical Report 200, UNU/IIST, P.O. Box 3058, Macau, July 2000.
 Andrés Flores and Richard Moore. GoF Structural Patterns: A Formal Specification. Technical Report 207. UNU/IIST, P.O. Box 3058, Macau, August 2000.
 Luis Reynoso and Richard Moore. GoF Behavioural Patterns: A Formal Specification. Technical Report 201, UNU/IIST, P.O. Box 3058, Macau, May 2000.
 Gabriela Aranda and Richard Moore. Formally Modelling Compound Design Patterns. Technical Report 225, UNU/IIST, P.O. Box 3058, Macau. Available at http://www.iist.unu.edu December 2000.
 Software Engineering Group. FUJABA (From UML to Java And Back Again). University of Paderborn, Germany, http://www.unipaderborn.de/cs/fujaba.
 Nickel U.A., Niere J., Wadsack J. P., and Zündorf A., Roundtrip Engineering with FUJABA. In Proceedings of 2nd Workshop on Software Re-engineering (WSR), Bad Honnef, Germany, August 2000.
 Klein T., Nickel U., Niere J., and Zündorf A. From UML to Java and Back Again. Technical Report TR-RI-00-216, University of Paderborn, Germany, September 2000.
 Martin J. And Odell J.J., Object-Oriented Methods: A Foundation. Prentice-Hall, 1995.