Architecture, software and complexity

Abstraction of smaller design tasks into hierarchies is the accepted solution to the problem of having to deal with the enormous amount of detail that arises in software design. Unfortunately, the practice of abstracting the semantics of the problem being addressed out of the data processed leads to dependencies that cannot be expressed in relation to that problem and consequently are not easily understood by the human mind. A use of abstraction techniques that will minimize the number of dependencies, and thus significantly reduce the complexity of the programming task, is suggested. In addition, a system architecture is proposed that permits direct execution of the resulting programs and exhibits properties that are very desirable for real-time, reliable systems.<<ETX>>

[1]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

[2]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[3]  Gruia-Catalin Roman,et al.  A shared dataspace language supporting large-scale concurrency , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[4]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.