Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1007/978-3-642-27694-1_3acmotherconferencesArticle/Chapter ViewAbstractPublication PagespadlConference Proceedingsconference-collections
Article

A declarative approach for software modeling

Published: 23 January 2012 Publication History

Abstract

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.

References

[1]
Abrial, J.: The B-book: assigning programs to meanings. Cambridge University Press (1996)
[2]
Blaha, M., Premerlani, W.: Object-oriented modeling and design for database applications. Prentice-Hall, Inc., Upper Saddle River (1997)
[3]
Clarke, J., Dolado, J., Harman, M., Hierons, R., Jones, B., Lumkin, M., Mitchell, B., Mancoridis, S., Rees, K., Roper, M., Shepperd, M.: Reformulating software engineering as a search problem. IEEE Software 150(3), 161-175 (2003)
[4]
Favre, J. M.: Towards a basic theory to model model driven engineering. In: 3rd Workshop in Software Model Engineering, WiSME (2004)
[5]
Fowler, M.: Analysis patterns: reusable objects models. Addison-Wesley Longman Publishing Co., Inc., Boston (1997)
[6]
Goldberg, M., Wiener, G.: Round-Trip Modeling using OPM/PL. In: International Conference on Software Science, Technology and Engineering, SwSTE (2010)
[7]
Harman, M., Clark, J.: Metrics are fitness functions too. In: 10th International Symposium on Software Metrics, pp. 58-69 (2004)
[8]
Kang, K.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, Carnegie-Mellon University, Pittsburgh PA, USA (1990)
[9]
Kniesel, G., Hannemann, J., Rho, T.: A comparison of logic-based infrastructures for concern detection and extraction. In: 3rd Workshop on Linking Aspect Technology and Evolution, p. 6. ACM (2007)
[10]
Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (2008), http://www.omg.org/spec/QVT/1.0/
[11]
ROOTS Group: The JTransformer project web page, http://sewiki.iai.uni-bonn.de/research/jtransformer/
[12]
Schmidt, D.: Guest editor's introduction: Model-driven engineering. Computer 39(2), 25-31 (2006)
[13]
Sefika, M., Sane, A., Campbell, R.: Monitoring compliance of a software system with its high-level design models. In: 18th International Conference for Software Engineering, ICSE, vol. 18, pp. 387-396 (1996)
[14]
Shoham, Y.: Artificial Intelligence Techniques in PROLOG. Morgan Kaufmann Publishers Inc., San Francisco (1993)
[15]
Soley, R.: The OMG Staff Strategy Group: Model-Driven Architecture. White paper (November 2000), http://www.omg.org/cgi-bin/doc?omg/00-11-05
[16]
Sterling, L., Shapiro, E.: The art of Prolog. MIT Press, Cambridge (1994)
[17]
Stevens, P.: Bidirectional model transformations in QVT: Semantic issues and open questions. Software and Systems Modeling 9(1), 7-20 (2010)
[18]
Wiener, G.: Heuristic partial evaluator source code, http://www.cs.bgu.ac.il/~gwiener/software/hpe/
[19]
Wiener, G.: Persistent Semantic Information. PhD thesis, Ben-Gurion University (March 2011) (to be published)
[20]
Winkler, S., Pilgrim, J.: A survey of traceability in requirements engineering and model-driven development. Software and System Modeling 9, 529-565 (2010)

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
PADL'12: Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
January 2012
303 pages
ISBN:9783642276934
  • Editors:
  • Claudio Russo,
  • Neng-Fa Zhou

Sponsors

  • The Association for Logic Programming: The Association for Logic Programming
  • Microsoft Research, Cambridge, UK

In-Cooperation

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 23 January 2012

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media