Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1022471.1022480acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Structured programming using processes

Published: 22 September 2004 Publication 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.
[2]
Dijkstra, E. W. Go To Statement Considered Harmful. Comm. ACM, 11, 3 (Mar. 1968), 147--148.
[3]
Dijkstra, E. W. The Structure of "THE"-multiprogramming system. Comm. ACM, 11, 5 (May 1968), 341--346.
[4]
Dijkstra, E. W. Structured Programming, Software Engineering Techniques, NATO Science Committee, Rome, Italy, (Aug 1970), 65--68.
[5]
Meyer, B. Object-Oriented Software Construction, 2nd Edition. Prentice Hall, Upper Saddle River, NJ, 2000.
[6]
Parnas, D.L. On the Criteria To Be Used in Decomposing Systems into Modules. Comm. ACM, 15, 12 (Dec. 1972), 1053--1058.
[7]
Raymond, E.S. The Art of Unix Programming. Addison-Wesley, Boston, MA, 2004.

Cited By

View all
  • (2005)A stream library using Erlang binariesProceedings of the 2005 ACM SIGPLAN workshop on Erlang10.1145/1088361.1088364(9-16)Online publication date: 26-Sep-2005

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 September 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. COPL
  2. concurrency oriented programming language
  3. erlang
  4. inductive decomposition

Qualifiers

  • Article

Conference

ERLANG04
Sponsor:

Acceptance Rates

Overall Acceptance Rate 51 of 68 submissions, 75%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2005)A stream library using Erlang binariesProceedings of the 2005 ACM SIGPLAN workshop on Erlang10.1145/1088361.1088364(9-16)Online publication date: 26-Sep-2005

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media