Modeling of distributed objects computing design pattern combinations using a formal specification language
Design patterns help us to respond to the challenges faced while developing Distributed Object Computing (DOC) applications by shifting developers' focus to high-level design concerns, rather than platform specific details. However, due to the inherent ambiguity of the existing textual and graphical descriptions of the design patterns, users are faced with difficulties in understanding when and how to use them. Since design patterns are seldom used in isolation but are usually combined to solve complex problems, the above-mentioned difficulties have even worsened. The formal specification of design patterns and their combination is not meant to replace the existing means of describing patterns, but to complement them in order to achieve accuracy and to allow rigorous reasoning about them. The main problem of the existing formal specification languages for design patterns is the lack of completeness. This is mainly because they tend to focus on specifying either the structural or behavioral aspects of design patterns but not both of them. Moreover, none of them even ventured in specifying DOC patterns and pattern combinations. We propose a simple yet Balanced Pattern Specification Language (BPSL) aimed to achieve equilibrium by specifying both the aspects of design patterns. The language combines two subsets of logic: one from the First-Order Logic (FOL) and the other from the Temporal Logic of Actions (TLA).
- Abadi M. and Lamport L. (1993): Composing specifications. - ACM Trans. Programm. Lang. Syst., Vol. 15, No. 1, pp. 73-132.
- Back R.J.R. and Kurki-Suonio R. (1988): Distributed cooperation with action systems. - ACM Trans. Programm. Lang. Syst., Vol. 10, pp. 513-554.
- Cheesman J. and Daniels J. (2000): UML Components: A Simple Process for Specifying Component-Based Software. - Reading, MA: Addison-Wesley.
- Chinnasamy S., Raje R.R. and Liu Z. (1999): Specification of design patterns: An Analysis. - Proc. 7th Int. Conf. Advanced Computing and Communications, ADCOM'99, Roorkee, India, pp. 300-400.
- Dong J., Alencar P.S.C. and Cowan D.D. (2000): Ensuring structure and behavior correctness in design composition. - Proc. 7th IEEE Int. Conf. Workshop on the Engineering of Computer Based Systems, Edinburgh, Scotland, pp. 279-287.
- D'Souza D.F and Wills A.L (1998): Objects, Components, and Frameworks With UML: The Catalysis Approach. - Reading, MA: Addison-Wesley.
- Eden A.H. and Hirshfeld Y. (1999): LePUS-Symbolic Logic Modeling of Object Oriented Architectures: A Case Study. - Proc. 2nd Nordic Workshop Software Architecture, NOSA'99, Ronneby, Sweden.
- Eden A.H. and Hirshfeld Y. (2001): Principles in formal specification of object-oriented architectures. - Proc. IBM Center for Advanced StudiesConference, CASCON'2001, Toronto, Canada.
- Gamma E., Helm R., Johnson R. and Vlissides J. (1995): Design Patterns: Elements of Reusable Object-Oriented Systems. - Reading, MA: Addison-Wesley.
- Helm, R., Holland, I.M. and Gangopadhyay D. (1990): Contracts: Specifying behavioral compositions in object-oriented systems. - Proc. ECOOPOOPSLA'90, Ottawa, Canada, pp. 169-180
- ISO 8807 (1989): Information Processing Systems, Open Systems Interconnection-LOTOS-. - A Formal Description Technique based on the Temporal Ordering of Observational Behavior.
- Lamport L. (1994): The temporal logic of actions. - ACM Trans. Programm. Lang. Syst., Vol. 16, No. 3, pp. 872-923.
- Lauder A. and Kent S.(1998): Precise visual specification of design patterns. - Proc. Europ. Conf. Object-Oriented Programming, ECOOP98, Brussela, Belgium, pp. 114-134.
- Mikkonen T. (1998): Formalizing design patterns. - Proc. Int. Conf.s Software Engineering, ICSE'98, Kyoto, Japan, pp.115-124.
- Rambaugh J., Jacobson I. and Booch G. (1998): The Unified Modeling Language Reference Manual. - Reading, MA: Addison-Wesley.
- Saeki M. (2000): Behavioral Specification of GOF Design Patterns with LOTOS. - Proc. IEEE Asia Pacific Software Engineering Conference, APSEC'2000, Singapore, pp. 408-415.
- Schmidt D.C., Stal M., Rohnert H. and Buschmann F. (2000): Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. - New York: Wiley.
- Taibi T. and Ngo D.C.L (2001): Why and how should patterns be formalized. -J. Object-Oriented Programm., Vol. 14, No. 4, pp. 8-9, 101 communications.
- Taibi T. and Ngo D.C.L (2002): Formal specification of design patterns-A comparison. - Tech. Rep., Faculty of Information Technology, Multimedia University.
- Taibi T. and Ngo D.C.L (2003): Formal specification of design pattern-A balanced approach. - J. Object Technol., Vol. 2, No. 2, pp. 127-140.
- Vlissides J.M. (1997a): Multicast. - C++ Report, Sep. 97, SIGS Publications.
- Vlissides J.M. (1997b): Multicast - Observer = Typed Message. - C++ Report, Nov.-Dec. 97, SIGS Publications.