skip to main content
10.1145/1022471.1022480acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Structured programming using processes

Published:22 September 2004Publication History

ABSTRACT

Structured Programming techniques are applied to a personal accounting software application implemented in erlang as a demonstration of the utility of processes as design constructs. Techniques for enforcing strong encapsulation, partitioning for fault isolation and data flow instrumentation, reusing code, abstracting and adapting interfaces, simulating inputs, managing and distributing resources and creating complex application behavior are described. The concept of inductive decomposition is introduced as a method for modularizing code based on the dynamic behavior of the system over time, rather than the static structure of a program. This approach leads to code subsumption, behavior abstraction, automated testing, dynamic data versioning and dynamic code revision all of which contribute to more reliable, fault-tolerant software.

References

  1. Armstrong, J. Making reliable distributed systems in the presence of software errors. Ph.D. Thesis, The Royal Institute of Technology, Stockholm, Sweden, 2003.Google ScholarGoogle Scholar
  2. Dijkstra, E. W. Go To Statement Considered Harmful. Comm. ACM, 11, 3 (Mar. 1968), 147--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dijkstra, E. W. The Structure of "THE"-multiprogramming system. Comm. ACM, 11, 5 (May 1968), 341--346. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Dijkstra, E. W. Structured Programming, Software Engineering Techniques, NATO Science Committee, Rome, Italy, (Aug 1970), 65--68.Google ScholarGoogle Scholar
  5. Meyer, B. Object-Oriented Software Construction, 2nd Edition. Prentice Hall, Upper Saddle River, NJ, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Parnas, D.L. On the Criteria To Be Used in Decomposing Systems into Modules. Comm. ACM, 15, 12 (Dec. 1972), 1053--1058. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Raymond, E.S. The Art of Unix Programming. Addison-Wesley, Boston, MA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Structured programming using processes

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ERLANG '04: Proceedings of the 2004 ACM SIGPLAN workshop on Erlang
      September 2004
      78 pages
      ISBN:1581139187
      DOI:10.1145/1022471

      Copyright © 2004 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 22 September 2004

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate51of68submissions,75%

      Upcoming Conference

      ICFP '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader