Skip to main content

Regularities in software systems

  • Architecture
  • Conference paper
  • First Online:
Studies of Software Design (WSSD 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1078))

Included in the following conference series:

Abstract

Regularities, or the conformity to unifying principles, are essential to the comprehensibility, manageability and reliability of large software systems. Yet, as is argued in this paper, the inherent globality of regularities makes them very hard to establish in traditional methods, unless they are imposed on a system by some kind of higher authority. This paper explores an approach to regularities which greatly simplifies their implementation, making them more easily employable for taming of the complexities of large systems. This approach, which is based on the concept of law-governed architecture (LGA), provides system designers and builders with the means for establishing regularities simply by declaring them formally and explicitly as the law of the system. Once such a lawgoverned regularity is declared, it is enforced by the environment in which the system is developed. Although not all desirable regularities can be established this way, it is argued that the range of feasible ”law-governed regularities,” which can be easily defined and efficiently enforced, is sufficiently broad for this to become a powerful software engineering technique.

Work supported in part by NSF grant No. CCR-8807803

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Frederick P. Jr. Brooks. No silver bullet — the essence and accidents of software engineering. IEEE Computer, pages 10–19, April 1987.

    Google Scholar 

  2. L. Cardelli, J. Dinahue, L. Glassman, M. Kalsow Jordan, B., and G. Nelson. Modula-3 report (revised). Technical Report 52, Digital System Research Center, November 1989.

    Google Scholar 

  3. W.F. Clocksin and C.S. Mellish. Programming in Prolog. Springer-Verlag, 1981.

    Google Scholar 

  4. P.J. Denning. Fault tolerant operating systems. Computing Surveys, 8(4):359–389, December 1976.

    Google Scholar 

  5. M. A. Harrison, W. L. Ruzzo, and J. D. Ullman. Protection in operating systems. Communications of the ACM, 19(8):461–471, Aug. 1976.

    Google Scholar 

  6. J. Leichter and N.H. Minsky. Obligations in law-governed distributed systems. Technical report, Rutgers University, LCSR, 1993. (In preperation).

    Google Scholar 

  7. B. Meyer. Object-Oriented Software Construction. Prentice-Hall, 1987.

    Google Scholar 

  8. N.H. Minsky. Selective and locally controlled transport of privileges. ACM Transactions on Programming Languages and Systems (TOPLAS), 6(4):573–602, October 1984.

    Google Scholar 

  9. N.H. Minsky. Governing distributed systems: From protocols to laws. In Proceedings of the Hawaii International Conference on System Sciences, January 1991.

    Google Scholar 

  10. N.H. Minsky. The imposition of protocols over open distributed systems. IEEE Transactions on Software Engineering, February 1991.

    Google Scholar 

  11. N.H. Minsky. Law-governed systems. The IEE Software Engineering Journal, September 1991.

    Google Scholar 

  12. N.H. Minsky. Regularities in software systems. Technical Report LCSR-TR-204, Rutgers University, LCSR, April 1993.

    Google Scholar 

  13. N.H. Minsky. Law-governed regularities in software systems. Technical Report LCSR-TR-220, Rutgers University, LCSR, January 1994.

    Google Scholar 

  14. N.H. Minsky and P Pal. Establishing regularity in object-oriented (eiffel) systems. Technical Report LCSR-TR-227, Rutgers University, LCSR, June 1994. (Presented at the ECOOP Workshop on Patterns on OO programming, Bologna, July 1994).

    Google Scholar 

  15. N.H. Minsky and D. Rozenshtein. Law-based approach to object-oriented programming. In Proceedings of the OOPSLA '87 Conference, pages 482–493, October 1987.

    Google Scholar 

  16. N.H. Minsky and D Rozenshtein. Controllable delegation: An exercise in law-governed systems. In Proceedings of the OOPSLA '89 Conference, pages 371–380, October 1989.

    Google Scholar 

  17. N.H. Minsky and D. Rozenshtein. Specifications of the darwin/2 environment. Technical report, Rutgers University, LCSR, 1991.

    Google Scholar 

  18. W. Morris. The American Heritage Dictionary of the English Language. Houghton Mifflin Company, 1981.

    Google Scholar 

  19. S.P. Reiss. Working on the garden environment for conceptual programming. IEEE Software, 6(4):16–27, November 1987.

    Google Scholar 

  20. D. Rozenshtein and N.H. Minsky. Constraining interactions between objects in the presence of class inheritance. In Proceedings of the 2nd International Workshop on Computer-Aided Software Engineering, July 1988.

    Google Scholar 

  21. D. Rozenshtein and N.H. Minsky. Law-governed object-oriented system. Journal of Object-Oriented Programming, 1(6): 14–29, March/April 1989.

    Google Scholar 

  22. R.E. Strom. Mechanism for compile-time enforcement of security. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 276–284, January 1983.

    Google Scholar 

  23. E. P. Wigner. Symmetries and Reflections. Ox Bow Press, 1979.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Alex Lamb

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Minsky, N.H. (1996). Regularities in software systems. In: Lamb, D.A. (eds) Studies of Software Design. WSSD 1993. Lecture Notes in Computer Science, vol 1078. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030519

Download citation

  • DOI: https://doi.org/10.1007/BFb0030519

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61285-8

  • Online ISBN: 978-3-540-68434-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics