Search
1996 Volume 11
Article Contents
RESEARCH ARTICLE   Open Access    

An overview of declarative process modelling using logic programming

More Information
  • Abstract: Software process modelling is the activity of formalising the production lifecycle of large software systems. Its aim is to formally describe a software development process, which is then effectively used and possibly enacted by an environment able to support the geographically distributed and coordinated activities involved in the process itself. I show that rule-based languages, especially logic programming languages, are an important technology for the specification, modelling, enactment and coordination of software processes. This is because most routine activities in any development process can be defined by rules. Some initial proposals aimed at simply simulating the software process by a Prolog-like program embedding some development rules. A further step toward the integration of rule-based languages in the software process has been taken using a dynamic knowledge base as project database, and a number of special primitives have been introduced to support process programs. Currently there is a trend toward more complex programming environments, called process-centred development environments. I show how some rule-based coordination language have been used to build an environment of this kind.
  • 加载中
  • Ambriola V, Ciancarini P and Corradini A, 1995. “Declarative specifications of the architecture of a software development environment” Software: Practice and Experience25(2) 143–174.

    Google Scholar

    Ambriola V, Ciancarini P and Montangero C, 1990. “Enacting software processes in Oikos” Proceedings ACM SIGSOFT Conference on Software Development Environments. (ACM SIGSOFT Software Engineering Notes, 15(6) 12–23.)

    Google Scholar

    Ambriola V and Montangero C, 1992a. “Modeling the software development process”, In: Ambriola V and Tortora G (eds.), Advances in Software Engineering and Knowledge Engineering, 41–72, World Scientific.

    Google Scholar

    Ambriola V and Montangero C, 1992b. “Oikos at the age of three”, In: Derniame J. (ed.), Proceedings 2nd European Workshop on the Software Process Technology: Lecture Notes in Computer Science 635, 84–93. Trondheim, Norway. Springer-Verlag.

    Google Scholar

    Armenise P, Bandinelli S, Ghezzi C and Morzenti A, 1993. “A survey on assessment of software process representation formalisms” International Journal on Software Engineering and Knowledge Engineering3(3) 401–426.

    Google Scholar

    Bandinelli S, Fuggetta A and Ghezzi C, 1993. “Software process model evolution in the SPADE environment” IEEE Transactions on Software Engineering19(12) 1128–1144.

    Google Scholar

    Barghouti N, 1992. “Supporting cooperation in the Marvel process centered SDE” Proceedings 5th ACM SIGSOFT Conference on Software Development Environments. (ACM SIGSOFT Software Engineering Notes 17(5) 21–31.)

    Google Scholar

    Barghouti N and Kaiser G, 1990. “Modeling concurrency in rule-based development environments” IEEE Expert5(6) 15–27.

    Google Scholar

    Barghouti N and Kaiser G, 1992. “Scaling up rule-based software development environments” International Journal on Software Engineering and Knowledge Engineering2(1) 59–78.

    Google Scholar

    Ben-Shaul I, Kaiser G and Heineman G, 1992. “An architecture for multi-user software development environments” Proceedings 5th ACM SIGSOFT Conference on Software Development Environments. (ACM SIGSOFT Software Engineering Notes 17(5) 149–158.)

    Google Scholar

    Castellani S, Ciancarini P and Rossi D, 1996. “The ShaPE of ShaDE: a coordination system” Technical Report UBLCS 96−5, Dipartimento di Scienze dell'Informazione, Università di Bologna, Italy.

    Google Scholar

    Chen X and Montangero C, 1995. “Compositional refinements in multiple blackboard systems” Acta Informatica32(5) 415–458.

    Google Scholar

    Christie A, 1995. Software Process Automation, Springer-Verlag.

    Google Scholar

    Ciancarini P, 1993. “Coordinating rule-based software processes with ESP” ACM Transactions on Software Engineering and Methodology2(3) 203–227.

    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 Engineering109–134. World Scientific.

    Google Scholar

    Conradi R, Jaccheri M, Mazzi C, Aarsten A and Nguyen N, 1992. “Design, use and implementation of SPELL, a language for software process modeling and evolution” Proceedings European Workshop on the Software Process: Lecture Notes in Computer Science 635, 167–177. Trondheim, Norway. Springer-Verlag.

    Google Scholar

    Cugola G, Nitto ED, Ghezzi C and Mantione M, 1995. “How to deal with deviations during process model enactment” Proceedings 17th International Conference on Software Engineering (ICSE 17)Seattle, WA.

    Google Scholar

    Curtis B, Kellner M and Over J, 1992. “Process modeling” Communications of the ACM35(9) 75–90.

    Google Scholar

    Garg P, Pham T, Beach B, Deshpande A, Ishizaki A, Wentzel K and Fong W, 1994. “Matisse: a knowledge-based team programming environment” International Journal on Software Engineering and Knowledge Engineering4(1) 17–59.

    Google Scholar

    Heimbigner D, 1989. “P4: a logic language for process programming” Proceedings 5th International Software Process WorkshopKennebunkport, Maine.

    Google Scholar

    Huff K and Lesser V, 1988. “A plan-based intelligent assistant that supports the software development process” Proceedings 3rd ACM SIGSOFT Symposium on Software Development Environments (ACM SIGSOFT Software Engineering Notes13(5) 97–106.)

    Google Scholar

    Jaccheri M and Conradi R, 1993. “Techniques for process model evolution in EPOS” IEEE Transactions on Software Engineering19(12) 1145–1156.

    Google Scholar

    Kaiser G, Popovich S, and Ben-Shaul I, 1993. “A bi-level language for software process modeling” Proceedings 15th International Conference on Software Engineering132–143, Baltimore, MD.

    Google Scholar

    Katayama T, 1989. “A hierarchical and functional software process description and its enaction” Proceedings 11th IEEE International Conference on Software Engineering343–252, Pittsburgh, PA.

    Google Scholar

    Kellner M, Feiler P, Finkelstein A, Katayama T, Osterweil L, Penedo M and Rombach D, 1991. “ISPW-6 software process example” In: Dowson M, (ed.), Proceedings 1st International Conference on the Software Process176–186, Redondo Beach, CA.

    Google Scholar

    Kishida K, 1988. “A novel approach to software environment design and construction” Proceedings 10th International Conference on Software Engineering69–79, Singapore.

    Google Scholar

    Kraut R and Streeter L, 1995. “Coordination in software development” Communications of the ACM38(3) 69–81.

    Google Scholar

    Liu L and Horowitz E, 1989. “A formal model for software project management” IEEE Transactions on Software Engineering15(10) 1280–1293.

    Google Scholar

    Mi P and Scacchi W, 1990. “A knowledge-based environment for modeling and simulating software engineering processes” IEEE Transactions on Knowledge and Data Engineering2(3) 283–294.

    Google Scholar

    Minsky N and Rozenshtein D, 1990. “Configuration management by consensus: an application of law-governed systems” In: Taylor R, (ed.), Proceedings 4th ACM SIGSOFT Symposium on Software Development Environments. (ACM SIGSOFT Software Engineering Notes 15(6) 44–55.)

    Google Scholar

    Montangero C and Scarselli F, 1994. “Software process monitoring mechanisms in Oikos” International Journal on Software Engineering and Knowledge Engineering4(4) 481–499.

    Google Scholar

    Nguyen M and Conradi R, 1994. “Spell: a logic programming language for process modelling” In: Ciancarini P and Sterling L, (eds.), Proceedings ICLP Workshop on Logic Programming and Software EngineeringS. Margherita Ligure, Italy.

    Google Scholar

    Nii H, 1986. “Blackboard systems: the blackboard model of problem solving and the evolution of blackboard architecture” The Al Magazine38–106, Summer.

    Google Scholar

    Ohki A and Ochimizu K.1989. “Process programming with Prolog” Proceedings ACM Software Process Workshop. (ACM SIGSOFT Software Engineering Notes14(4) 118–121.)

    Google Scholar

    Osterweil L, 1987. “Software processes are software too” Proceedings 9th IEEE International Conference on Software Engineering2–13.

    Google Scholar

    Peuschel B, Schaefer W and Wolf S, 1992. “A knowledge-based software development environment supporting cooperative work” International Journal on Software Engineering and Knowledge Engineering2(1) 79–106.

    Google Scholar

    Song X and Osterweil L, 1994. “Experience with an approach to comparing software design methodologies” IEEE Transactions on Software Engineering20(5) 364–384.

    Google Scholar

    Sutton S, Ziv H, Heimbigner D, Yessayan H, Maybee M, Osterweil L and Song X, 1991. “Programming a software requirements specification process” Proceedings 1st International Conference on the Software Process, Redondo Beach, CA.

    Google Scholar

    Welzel D, 1993. “A rule-based process representation technique for software process evaluation” Information and Software Technology35(10) 603–610.

    Google Scholar

  • Cite this article

    Paolo Ciancarini. 1996. An overview of declarative process modelling using logic programming. The Knowledge Engineering Review. 11:6 doi: 10.1017/S0269888900008006
    Paolo Ciancarini. 1996. An overview of declarative process modelling using logic programming. The Knowledge Engineering Review. 11:6 doi: 10.1017/S0269888900008006

Article Metrics

Article views(18) PDF downloads(67)

Other Articles By Authors

RESEARCH ARTICLE   Open Access    

An overview of declarative process modelling using logic programming

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

Abstract: Abstract: Software process modelling is the activity of formalising the production lifecycle of large software systems. Its aim is to formally describe a software development process, which is then effectively used and possibly enacted by an environment able to support the geographically distributed and coordinated activities involved in the process itself. I show that rule-based languages, especially logic programming languages, are an important technology for the specification, modelling, enactment and coordination of software processes. This is because most routine activities in any development process can be defined by rules. Some initial proposals aimed at simply simulating the software process by a Prolog-like program embedding some development rules. A further step toward the integration of rule-based languages in the software process has been taken using a dynamic knowledge base as project database, and a number of special primitives have been introduced to support process programs. Currently there is a trend toward more complex programming environments, called process-centred development environments. I show how some rule-based coordination language have been used to build an environment of this kind.

    • Copyright © Cambridge University Press 19961996Cambridge University Press
References (39)
  • About this article
    Cite this article
    Paolo Ciancarini. 1996. An overview of declarative process modelling using logic programming. The Knowledge Engineering Review. 11:6 doi: 10.1017/S0269888900008006
    Paolo Ciancarini. 1996. An overview of declarative process modelling using logic programming. The Knowledge Engineering Review. 11:6 doi: 10.1017/S0269888900008006
  • Catalog

      /

      DownLoad:  Full-Size Img  PowerPoint
      Return
      Return