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.
- Armstrong, J. Making reliable distributed systems in the presence of software errors. Ph.D. Thesis, The Royal Institute of Technology, Stockholm, Sweden, 2003.Google Scholar
- Dijkstra, E. W. Go To Statement Considered Harmful. Comm. ACM, 11, 3 (Mar. 1968), 147--148. Google ScholarDigital Library
- Dijkstra, E. W. The Structure of "THE"-multiprogramming system. Comm. ACM, 11, 5 (May 1968), 341--346. Google ScholarDigital Library
- Dijkstra, E. W. Structured Programming, Software Engineering Techniques, NATO Science Committee, Rome, Italy, (Aug 1970), 65--68.Google Scholar
- Meyer, B. Object-Oriented Software Construction, 2nd Edition. Prentice Hall, Upper Saddle River, NJ, 2000. Google ScholarDigital Library
- Parnas, D.L. On the Criteria To Be Used in Decomposing Systems into Modules. Comm. ACM, 15, 12 (Dec. 1972), 1053--1058. Google ScholarDigital Library
- Raymond, E.S. The Art of Unix Programming. Addison-Wesley, Boston, MA, 2004. Google ScholarDigital Library
Index Terms
- Structured programming using processes
Recommendations
Advanced structured COBOL programming
Special issue seventh technical symposium on computer science educationThere is a large market demand for COBOL programmers. Can a single introductory course in COBOL programming provide the students with sufficient professional expertise to qualify them for these job openings? If not, is it feasible to offer a second ...
Object-Oriented Programming for Structured Procedural Programmers
Object technology is attracting attention in many areas, such as programming, databases, systems analysis and design, computer architecture, operating systems, and expert systems. The object-oriented programming approach promises to produce greater ...
Advanced structured COBOL programming
SIGCSE '77: Proceedings of the seventh SIGCSE technical symposium on Computer science educationThere is a large market demand for COBOL programmers. Can a single introductory course in COBOL programming provide the students with sufficient professional expertise to qualify them for these job openings? If not, is it feasible to offer a second ...
Comments