Search
1996 Volume 11
Article Contents
RESEARCH ARTICLE   Open Access    

Logic Programming and Software engineering—implications for Software design

More Information
  • Abstract: Logic programming is a programming paradigm with potential to contribute to software engineering. This paper is concerned with one dimension of that potential, the impact that experience with developing logic programs can have on software design. We present a logic programming perspective on programming patterns, systematic program development, design for provability, and the paradigm of meta-programming.
  • 加载中
  • Abelson H and Sussman GJ, 1985. Structure and Interpretation of Computer ProgramsMIT Press.

    Google Scholar

    Abramson H and Rogers M (eds), 1989. Meta-Programming in Logic ProgrammingMIT Press.

    Google Scholar

    Bowen KA and Kowalski R, 1982. “Amalgamating language and metalanguage in logic programming” In Clark KL and Tarnlund S-A, eds, Logic ProgrammingAcademic Press.

    Google Scholar

    Brooks FPJr., 1987. “No silver bullet: essence and accidents of software engineering” IEEE Computer20(4) 10–19.

    Google Scholar

    Bugliesi M, Lamma E and Mello P, 1994. “Modularity in logic programming” Journal of Logic Programming19/20443–502.

    Google Scholar

    Ciancarini P and Levi G, 1992. “What is logic programming good for in software engineering?” In Ambriola V and Tortora G, eds, Advances in Software Engineering and Knowledge EngineeringWorld Scientific, pp109–134.

    Google Scholar

    Ciancarini P and Sterling LS. (eds), 1996. “Applications of logic programming in software engineering” International Journal on Software Engineering and Knowledge Engineering6(1).

    Google Scholar

    Cohen J and Hickey T, 1987. “Parsing and compiling using Prolog” ACM Trans. Programming Languages and Systems9125–163.

    Google Scholar

    Dauchy P and Marre B, 1991. “Test data selection from algebraic specifications” Proc. 3rd European Soft. Eng. Conf, LNCS 550, 80–100, Springer-Verlag.

    Google Scholar

    Deville Y, 1990. Logic Programming: Systematic Program DevelopmentAddison Wesley.

    Google Scholar

    Floyd RW, 1987. “The paradigm of programming” In ACM Turing Award Lectures–The First Twenty Years–1966–1985ACM Press, pp131–142.

    Google Scholar

    Foster I and Taylor S, 1989. Strand: New Concepts in Parallel ProcessingPrentice Hall.

    Google Scholar

    Fuchs N and Fromherz M, 1991. “Schema-based transformations of logic programs” In Proietti M, ed, Proc. 5th International Workshop on Logic Program Synthesis and TransformationSpringer-Verlag, pp111–125.

    Google Scholar

    Gamma E, Helm R, Johnson R and Vlissides J, 1995. Design PatternsAddison-Wesley.

    Google Scholar

    Gegg-Harrison T, 1991. “Learning Prolog in a schema-based environment” Instructional Science20173–192.

    Google Scholar

    Gegg-Harrison T, 1995. “Representing logic program schemata in λProlog” In Sterling L, ed, Proc. 12th International Logic Programming ConferenceMIT Press, pp467–481.

    Google Scholar

    Harel D, 1992. “Biting the silver bullet: towards a brighter future for system development” IEEE Computer.

    Google Scholar

    Jaffar J, Michaylov S, Stuckey P and Yap R, 1992. “The CLP(R) language and system” ACM Trans. Programming Languages and Systems14(3) 339–395.

    Google Scholar

    Kirschenbaum M, Sterling LS and Jain A, 1993. “Relating logic programs via program maps” Annals of Mathematics and Artificial Intelligence8229–245.

    Google Scholar

    Kirschenbaum M, Michaylov S and Sterling LS, 1996. “Skeletons and techniques as a normative approach to program development in logic-based languages” Proc. 19th Australian Computer Science ConferenceMelboure.

    Google Scholar

    Kowalski R, 1979. Logic for Problem SolvingElsevier-North Holland.

    Google Scholar

    Lakhotia A, 1989. “Incorporating programming techniques into Prolog programs” In Lusk E and Overbeek R, eds, Proc. 1989 North American Conference on Logic ProgrammingMIT Press, pp426–440.

    Google Scholar

    Lakhotia A, Sterling L and Bojantchev D, 1995. “Development of a Prolog tracer by stepwise enhancement” Proc. Third International Conference on Practical Applications of PrologParis, pp371–393.

    Google Scholar

    Naish L, 1996. “Higher Order Logic Programming in Prolog” Computer Science Technical Report, University of Melbourne.

    Google Scholar

    Nadathur G and Miller D, 1988. “An overview of λ-Prolog” In Kowalski R and Bowen K, eds, Proc. 5th International Conference and Symposium on Logic ProgrammingMIT Press, pp810–827.

    Google Scholar

    O'Keefe R, 1990. The Craft of PrologMIT Press.

    Google Scholar

    Parnas D, 1985. “Software aspects of strategic defense systems” Comm. ACM281326–1335.

    Google Scholar

    Reps T, 1990. “Algebraic properties of program integration” Proc. European Symposium on Programming, LNCS 432 326–340, Springer-Verlag.

    Google Scholar

    Schachte P and Saab G, 1994. “Efficient object-oriented programming in Prolog” Proc. Second International Conf. on Practical Applications of PrologLondon, pp471–496.

    Google Scholar

    Shapiro E (ed), 1987. Concurrent PrologMIT Press.

    Google Scholar

    Somogyi Z, Henderson F and Conway T, 1996. “The execution algorithm of Mercury: an efficient purely declarative logic programming language” Journal of Logic Programming.

    Google Scholar

    Sterling L, Harous S, Kirschenbaum M, Leis B and White L, 1992. “Developing software testing programs using stepwise enhancement” Proc. Int. Conf Software EngineeringMelbourne.

    Google Scholar

    Sterling L and Kirschenbaum M, 1993. “Applying techniques to skeletons” In Jacquet JM, ed, Constructing Logic Programs pp127–140, Wiley.

    Google Scholar

    Sterling L, Ciancarini P and Turnidge T, 1996. “On the animation of ‘non executable’ specifications by Prolog” International Journal on Software Engineering and Knowledge Engineering6(1) 63–87.

    Google Scholar

    Sterling LS and Sitt Sen, Chok , 1993. “A tool to support stepwise enhancement in Prolog” Workshop on Logic Programming EnvironmentsVancouver, pp21–26.

    Google Scholar

    Sterling LS and Shapiro EY, 1994. The Art of Prolog, 2nd edMIT Press.

    Google Scholar

    Tamaki H and Sato T, 1984. “Unfold/Fold transformation of logic programs” Proc. Second International Conf on Logic ProgrammingUppsala, Sweden, pp127–134.

    Google Scholar

    Vasconcelos WW and Fuchs NE, 1996. “An opportunistic approach for logic program analysis and optimization using enhanced schema-based transformations” Proc. Logic Program Synthesis and Transformation, LNCS, pp174–188.

    Google Scholar

    Yalçinalp Lü, 1991. “Meta-Programming for Knowledge-Based Systems in Prolog” PhD Thesis, Case Western Reserve University.

    Google Scholar

  • Cite this article

    Leon Sterling, Ümit Yalçinalp. 1996. Logic Programming and Software engineering—implications for Software design. The Knowledge Engineering Review. 11: doi: 10.1017/S026988890000802X
    Leon Sterling, Ümit Yalçinalp. 1996. Logic Programming and Software engineering—implications for Software design. The Knowledge Engineering Review. 11: doi: 10.1017/S026988890000802X

Article Metrics

Article views(261) PDF downloads(461)

Other Articles By Authors

RESEARCH ARTICLE   Open Access    

Logic Programming and Software engineering—implications for Software design

The Knowledge Engineering Review  11 Article number: 10.1017/S026988890000802X  (1996)  |  Cite this article

Abstract: Abstract: Logic programming is a programming paradigm with potential to contribute to software engineering. This paper is concerned with one dimension of that potential, the impact that experience with developing logic programs can have on software design. We present a logic programming perspective on programming patterns, systematic program development, design for provability, and the paradigm of meta-programming.

    • Copyright © Cambridge University Press 19961996Cambridge University Press
References (39)
  • About this article
    Cite this article
    Leon Sterling, Ümit Yalçinalp. 1996. Logic Programming and Software engineering—implications for Software design. The Knowledge Engineering Review. 11: doi: 10.1017/S026988890000802X
    Leon Sterling, Ümit Yalçinalp. 1996. Logic Programming and Software engineering—implications for Software design. The Knowledge Engineering Review. 11: doi: 10.1017/S026988890000802X
  • Catalog

      /

      DownLoad:  Full-Size Img  PowerPoint
      Return
      Return