Monitoring compliance of a software system with its high-level design models
Proceedings of the 18th international conference on Software engineering
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Object-oriented modeling and design for database applications
Object-oriented modeling and design for database applications
Analysis patterns: reusable objects models
Analysis patterns: reusable objects models
Artificial Intelligence: Techniques in PROLOG
Artificial Intelligence: Techniques in PROLOG
Metrics Are Fitness Functions Too
METRICS '04 Proceedings of the Software Metrics, 10th International Symposium
A comparison of logic-based infrastructures for concern detection and extraction
Proceedings of the 3rd workshop on Linking aspect technology and evolution
Round-Trip Modeling Using OPM/PL
SWSTE '10 Proceedings of the 2010 IEEE International Conference on Software Science, Technology & Engineering
A survey of traceability in requirements engineering and model-driven development
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
In this paper we describe a method for encoding software models as Prolog programs, and how to use these programs to support incremental development. Requirements, alternative designs, and implementation patterns are encoded as predicates in the program, and define a search routine, the solutions of which are possible implementations of the requirements. Under default operation, this routine validates that a given parsed code is compatible with one of these solutions. Additionally, the same search routine can be executed by special interpreters that provide traceability and code generation as well. Code generation may be complete or partial, allowing the user to combine hand-written and generated code. By customizing the interpreter, the user can generate an outline of the design or a tasks list, instead of code. We demonstrate these techniques using Java and SQL, but our approach is applicable to other programming languages and paradigms as well.