DocumentCode
916759
Title
The separation principle: A programming paradigm
Author
Kambayashi, Yasushi ; Ledgard, Henry F.
Author_Institution
Nippon Inst. of Technol., Saitama, Japan
Volume
21
Issue
2
fYear
2004
Firstpage
78
Lastpage
87
Abstract
In the development of any technology, there´s always a tendency to lose sight of the basic problems that stimulated its introduction in the first place. Technologies in software construction are no exception. One of the essential parts of software construction is the underlying programming paradigm. In the last few decades, different software construction paradigms have evolved - for example, structured programming in the 1970s and object-oriented programming in the 1980s. Although OOP dominates current software construction, it introduces several problems that might raise questions about its understandability and efficiency. W. Cave (1995) was the first to propose and develop the separation principle as a programming paradigm. One major contribution is that it moves most complex issues related to data sharing, parameter passing, and scope into a programming model in which simple graphics can represent access to data. The separation principle can simplify or even eliminate these issues. By expressing access permissions in simple, canonical drawings, the separation principle makes it easy to comprehend the full range of relationships between data and instructions, and thus the code´s structure. A simple way to show connectivity, a key property affecting program understandability, is by separating data from instructions. Two of prediction systems´ flagship products, the visual software environment (VSE) and the general simulation system (GSS), embody this idea. This paper discusses the separation principle in the context of conventional languages such as C and C++.
Keywords
programming environments; software development management; data sharing; general simulation system; object-oriented programming; parameter passing; programming paradigm; separation principle; software construction; structured programming; visual software environment; Computer networks; Costs; Information retrieval; Joining processes; Permission; Software design;
fLanguage
English
Journal_Title
Software, IEEE
Publisher
ieee
ISSN
0740-7459
Type
jour
DOI
10.1109/MS.2004.1270767
Filename
1270767
Link To Document