• 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