Abstract:
In current-day software development, programmers often use programming patterns to clarify their intents and to increase the understandability of their programs. Unfortunately, most software development environments do not adequately support the declaration and use of such patterns. To explicitly codify these patterns, we adopt a declarative meta-programming approach. In this approach, we reify the structure of an (object-oriented) program in terms of logic clauses. We declare programming patterns as logic rules on top of these clauses. By querying the logic system, these rules allow us to check, enforce and search for occurrences of patterns in the software. As such, the programming patterns become an active part of the development and maintenance environment.
Citations
|
3853
|
Design Patterns: Elements of Reusable Object-Oriented Software
– Gamma, Helm, et al.
- 1995
|
|
174
|
Advanced C++ Programming Styles and Idioms
– Coplien
- 1992
|
|
103
|
Object-Oriented Design Heuristics
– Riel
- 1996
|
|
98
|
Smalltalk Best Practice Patterns
– Beck
- 1997
|
|
83
|
A Logic Meta Programming Approach to Support the Co-Evolution of Object-Oriented Design and Implementation
– Wuyts
- 2001
|
|
81
|
Declarative reasoning about the structure of object-oriented systems
– Wuyts
- 1998
|
|
48
|
Refactoring: Improving the Design of Existing Programs
– Fowler
- 1999
|
|
25
|
Automating Architectural Conformance Checking by means of Logic Meta Programming
– Mens
- 2000
|
|
22
|
eds., Interactive Programming Environments
– Barstow, Shrobe, et al.
- 1984
|
|
14
|
Symbiotic reflection between an object-oriented and a logic programming language
– Wuyts, Ducasse
- 2001
|
|
4
|
A display-oriented programmer’s assistant
– Teitelman
- 1977
|
|
2
|
Automated programmering: The programmer’s assistant
– Teitelman
- 1984
|
|
2
|
Addison-Wesley, Reprinted with corrections
– Reading
- 1994
|
|
1
|
OO anthropology: Crossing the chasm (panel 3
– Fraser, Cockburn, et al.
- 1996
|
|
1
|
OO anthropology: Crossing the chasm (panel 3
– West
- 1996
|
|
1
|
Advanced Cþþ programming styles and idioms
– Coplien
- 1992
|
|
1
|
Mens obtained the degrees of Licentiate in Mathematics, Licentiate in Computer Science and Doctor in Computer Science at the Vrije Universiteit Brussel. He started as a teaching assistant in mathematics, before becoming a teaching and research assistant i
– Kim
|