Skip to main content

A Declarative Approach for Software Modeling

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7149))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J.: The B-book: assigning programs to meanings. Cambridge University Press (1996)

    Google Scholar 

  2. Blaha, M., Premerlani, W.: Object-oriented modeling and design for database applications. Prentice-Hall, Inc., Upper Saddle River (1997)

    Google Scholar 

  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)

    Article  Google Scholar 

  4. Favre, J.M.: Towards a basic theory to model model driven engineering. In: 3rd Workshop in Software Model Engineering, WiSME (2004)

    Google Scholar 

  5. Fowler, M.: Analysis patterns: reusable objects models. Addison-Wesley Longman Publishing Co., Inc., Boston (1997)

    Google Scholar 

  6. Goldberg, M., Wiener, G.: Round-Trip Modeling using OPM/PL. In: International Conference on Software Science, Technology and Engineering, SwSTE (2010)

    Google Scholar 

  7. Harman, M., Clark, J.: Metrics are fitness functions too. In: 10th International Symposium on Software Metrics, pp. 58–69 (2004)

    Google Scholar 

  8. Kang, K.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, Carnegie-Mellon University, Pittsburgh PA, USA (1990)

    Google Scholar 

  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)

    Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Google Scholar 

  14. Shoham, Y.: Artificial Intelligence Techniques in PROLOG. Morgan Kaufmann Publishers Inc., San Francisco (1993)

    MATH  Google Scholar 

  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)

    MATH  Google Scholar 

  17. Stevens, P.: Bidirectional model transformations in QVT: Semantic issues and open questions. Software and Systems Modeling 9(1), 7–20 (2010)

    Article  Google Scholar 

  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)

    Google Scholar 

  20. Winkler, S., Pilgrim, J.: A survey of traceability in requirements engineering and model-driven development. Software and System Modeling 9, 529–565 (2010)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goldberg, M., Wiener, G. (2012). A Declarative Approach for Software Modeling. In: Russo, C., Zhou, NF. (eds) Practical Aspects of Declarative Languages. PADL 2012. Lecture Notes in Computer Science, vol 7149. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27694-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-27694-1_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-27693-4

  • Online ISBN: 978-3-642-27694-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics