Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/41765.41767acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article
Free access

Process models, process programs, programming support

Published: 01 March 1987 Publication History

Abstract

One way of responding to a keynote speaker is to put the expressed views into context, pointing to highlights in the address, suggesting areas where alternative viewpoints might have been presented, exposing any chinks in the armour of the otherwise solid structure erected by the speaker.
Logistics have made it impossible for this respondent to see the paper to be presented to ICSE9 by Professor L Osterweil before generating his own written response,. The above approach cannot, therefore, be taken. Instead, I raise a fundamental issue that follows from a comparison of the respective approaches to process modelling taken by Osterweil and myself. What is expressed here reflects my current understanding of his views on Process Programs and Process Programming, my reaction to what I believe he will present. I can only hope that this will not do too much violence to views to be expressed in his Proceedings paper or in the Keynote lecture itself.
To set the scene and to provide a basis and framework for discussion, let me first summarize my view of studies of the software development process in terms of my own involvement in them.
To the best of my knowledge, the first such study was a 1956 paper by Benington [BEN56]. In this, a process model with basic characteristics of that subsequently termed the 'Waterfall Model', was first presented. Current interest in the software development process makes it most appropriate that this historic paper is to re-presented at this conference. In 1968/9, totally unaware of the earlier paper, I engaged in a study whose conclusions were presented in a confidential report entitled 'The Programming Process' [LEH69]. This has now become available in the open literature [LEH85, chapter 3] and is, I believe, as relevant today as at the time it was written. It was this study and the continuing research it triggered that subsequently led my colleagues and me to the concepts of process models, evolution dynamics, program evolution and support environments.
Our earliest process models reflected the dynamics of the process [LEH85, chs. 5-9, 14, 16, 19]. By the mid 70's, at about the time that Barry Boehm [BOE76] popularized the Waterfall model first proposed by Royce [ROY70], my studies had led to a search for better understanding of the total process of software development.
This total process was seen as extending from initial verbalization of the problem to be solved or computer application to be implemented, through delivery of the product and over its subsequent evolution. The search was expressed through the development and refinement of a sequence of Process Models [LEH85 chs. 3, 7, 14, 20, 21, 2]. It was directed towards first formulating a model of an ideal process ('ideal' though unachievable in the sense of the 'ideal' cycle of thermodynamics). Such a model would constitute a general paradigm. A practical process would be obtained by instantiation in terms of relevant concepts, available technologies, specific implementation environments, process constraints and so on. This development of process models culminated in the LST model [LEH84] and its subsequent analysis and application as presented at the first two Process Workshops [SPW84, 86]. The importance of that model is not only in the process it depicts. It is a canonical model of software development and of development steps.
What has all this to do with process programs? Process programs, as described by Osterweil, are also process models. They are models constructed from linguistic elements expressed and structured in programmatic form. They are intended to define a procedure for achieving some desired end from an initial starting point and are expressed in terms of expressions in a natural or formal language. The procedure is implemented by executing the primitive actions named in the program.
A process program to describe a process that, if followed, will permit execution of some specific task in its environment, can be systematically developed, top-down, in a manner equivalent to top-down development of a procedural program. The Osterweil approach is essentially equivalent, in the context of process modelling, to the use of procedural programming (in contrast to styles such as functional, imperative and so on). Its power is defined by the properties of the language used in relation to available execution mechanisms. In fact, a process program is precisely that - a procedural program whose value depends on the constructability of a mechanism that can execute it mechanically, human intervention being restricted primarily to the provision of information. This is a view that Osterweil will not dispute; in the papers that I have seen the algorithmic nature of process programs is repeatedly stressed.
And therein lies the rub. The approach is fine, almost certainly useful, when comprehensive models of the phenomenon, the domain and the system that are the subject of the program are known and understood, when strategies and algorithms for achieving the desired ends are known a priori, when computational, managerial and administrative practices are fully defined. It is useless, indeed meaningless, if such phenomenological and algorithmic models do not exist [TUR86], if progress in definition (and execution) of the process is a function of the process itself.

References

[1]
Benington HD, 'Production of Large Computer Programs', Proc. Symp. on Advanced Computer Programs for Digital Computers' sponsored by ONR, June 1956. Republished in Annals of the History of Computing, Oct. 1983, pp. 350-361
[2]
Boehm BW, 'Software Engineering', IEEE Trans. on Comp., vol. C-5, no. 12, Dec. 1976, pp. 1226-1241
[3]
Dowson M, 'ISTAR - An Integrated Project Support Environment', Proc. of the 2nd ACM SIGSOFT/SIGPLAN Software Eng. Symp. on Practical Development Support Environments, ACM SIGPLAN Notices, vol. 2, no. 1, Jan. 1987
[4]
Koestler A, 'The Act of Creation', 1970 edition, Pan Books Ltd, London, pp. 176-177
[5]
Lehman MM, 'The Programming Process', IBM Res. Rep. RC 2722, IBM Res. Div., Yorktown Heights, NY 10495, Dec. 1969, 46p. Reprinted in {LEH85} as chap. 3
[6]
Lehman MM, Stenning V and Turski WM, 'Another Look at Software Design Methodology', ACM Software Eng. Notes, vol. 9, no. 2, Apr. 1984, pp. 38-53
[7]
Lehman MM and Belady LA, 'Program Evolution Processes of Software Change', Academic Press 1985, 539p.
[8]
Royce WW, 'Managing the Development of Large Software Systems: Concepts and Techniques', Proc. WestCon., Aug. 1970
[9]
Potts C (ed), 'Proceeding of the Software Process Workshop', Egham, Surrey, U.K., Feb. 1984. Publ. IEEE, cat. no. 84CH2044-6 Comp. Soc., Washington D.C., order no. 587, 175p.
[10]
Wileden JC and Dowson M (eds), Software Eng. Notes Special Issue on the International Workshop on the Software Process and Software Environments, Coto de Caza, Cal., 27-29 March 1985, vol. 11, no. 4, Aug. 1986, 74p
[11]
Turski WM 'And No Philosopher's Stone, Either', Information Processing 86, Proc. of the IFIP World Computer Congress, Dublin, 1986, Publ. by North-Holland, 1986, pp. 1078-1080

Cited By

View all
  • (2019)Empirical study on the effectiveness and efficiency of model-driven architecture techniquesSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-00711-y18:5(3083-3096)Online publication date: 1-Oct-2019
  • (2017)A taxonomy of tool-related issues affecting the adoption of model-driven engineeringSoftware and Systems Modeling (SoSyM)10.1007/s10270-015-0487-816:2(313-331)Online publication date: 1-May-2017
  • (2011)Formally founded, plan-based enactment of software development processesProceedings of the 2011 International Conference on Software and Systems Process10.1145/1987875.1987908(199-203)Online publication date: 21-May-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '87: Proceedings of the 9th international conference on Software Engineering
March 1987
399 pages
ISBN:0897912160

Sponsors

Publisher

IEEE Computer Society Press

Washington, DC, United States

Publication History

Published: 01 March 1987

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)45
  • Downloads (Last 6 weeks)9
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Empirical study on the effectiveness and efficiency of model-driven architecture techniquesSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-00711-y18:5(3083-3096)Online publication date: 1-Oct-2019
  • (2017)A taxonomy of tool-related issues affecting the adoption of model-driven engineeringSoftware and Systems Modeling (SoSyM)10.1007/s10270-015-0487-816:2(313-331)Online publication date: 1-May-2017
  • (2011)Formally founded, plan-based enactment of software development processesProceedings of the 2011 International Conference on Software and Systems Process10.1145/1987875.1987908(199-203)Online publication date: 21-May-2011
  • (2008)Formalisation and implementation of collaborative material research processAdvances in Engineering Software10.1016/j.advengsoft.2006.12.00539:2(107-120)Online publication date: 1-Feb-2008
  • (2007)Challenges in software certificationProceedings of the formal engineering methods 9th international conference on Formal methods and software engineering10.5555/1775348.1775351(4-18)Online publication date: 14-Nov-2007
  • (2002)Software Evolution and Software Evolution ProcessesAnnals of Software Engineering10.1023/A:102055752590114:1-4(275-309)Online publication date: 10-Dec-2002
  • (2002)Process-Centered Software Engineering Environments, A Brief History and Future ChallengesAnnals of Software Engineering10.1023/A:102052211196114:1-4(363-382)Online publication date: 10-Dec-2002
  • (2001)Evolution in software and related areasProceedings of the 4th International Workshop on Principles of Software Evolution10.1145/602461.602463(1-16)Online publication date: 10-Sep-2001
  • (2001)A Change Propagation Model and Platform For Multi-Database ApplicationsProceedings of the IEEE International Conference on Software Maintenance (ICSM'01)10.1109/ICSM.2001.972710Online publication date: 7-Nov-2001
  • (1999)Software Support for Distributed Business ProcessesProceedings of the Sixth Asia Pacific Software Engineering Conference10.5555/518898.785681Online publication date: 7-Dec-1999
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media