TY - GEN
T1 - A declarative approach for software modeling
AU - Goldberg, Mayer
AU - Wiener, Guy
PY - 2012/2/21
Y1 - 2012/2/21
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84857077954&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-27694-1_3
DO - 10.1007/978-3-642-27694-1_3
M3 - Conference contribution
SN - 9783642276934
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 18
EP - 32
BT - Practical Aspects of Declarative Languages - 14th International Symposium, PADL 2012, Proceedings
T2 - 14th International Symposium on Practical Aspects of Declarative Languages, PADL 2012
Y2 - 23 January 2012 through 24 January 2012
ER -