Skip to main content

Foundations for the Arcadia Environment Architecture

  • Chapter
Book cover Engineering of Software

Abstract

Early software environments have supported a narrow range of activities (programming environments) or else been restricted to a single “hard-wired” software development process. The Arcadia research project is investigating the construction of software environments that are tightly integrated, yet flexible and extensible enough to support experimentation with alternative software processes and tools. This has led us to view an environment as being composed of two distinct, cooperating parts. One is the variant part, consisting of process programs and the tools and objects used and defined by those programs. The other is the fixed part, or infrastructure, supporting creation, execution, and change to the constituents of the variant part. The major components of the infrastructure are a process programming language and interpreter, object management system, and user interface management system. Process programming facilitates precise definition and automated support of software development and maintenance activities. The object management system provides typing, relationships, persistence, distribution and concurrency control capabilities. The user interface management system mediates communication between human users and executing processes, providing pleasant and uniform access to all facilities of the environment. Research in each of these areas and the interaction among them is described.

This work was supported in part by the National Science Foundation under grant CCR-8704311, with cooperation from the Defense Advanced Research Projects Agency (ARPA Order 6108, Program Code 7T10), by the National Science Foundation under grants CCR-8451421 and CCR-8521398, Hughes Aircraft (PYI program), and TRW (PYI program).

This work was supported in part by the National Science Foundation under grant CCR-87-04478, with cooperation from the Defense Advanced Research Projects Agency (ARPA Order 6104), and by the National Science Foundation under grants DCR-8404217 and DCR-8408143.

This work was supported in part by the National Science Foundation under grant CCR-8705162, with cooperation from the Defense Advanced Research Projects Agency (ARPA Order 6100, Program Code 7E20), by the National Science Foundation under grant DCR-0403341, and by the U.S. Department of Energy under grant DEFG02-84ER13283.

This work was sponsored in part by TRW and by the Defense Advanced Research Projects Agency/Information Systems Technology Office, ARPA Order 9152, issued by the Space and Naval Warfare Systems Command under contract N00039-88-C-0047.

Richard N. Taylor et. al, “Foundations for the Arcadia Environment Architecture,” Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments, 1988. DOI: 10.1145/64135.65004, © 1988 ACM, Inc. Reprinted with permission

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Military Standard Ada Programming Language (ANSI/MIL-STD-1815A-1983). American National Standards Institute, Jan. 1983.

    Google Scholar 

  2. M. Atkinson, P. Bailey, K. Chisholm, P. Cockshott, and R. Morrison. An approach to persistent programming. The Computer Journal, 26(4):360–365, 1983.

    MATH  Google Scholar 

  3. T. E. Bell, D. C. Bixler, and M. E. Dyer. An extendable approach to computer-aided software requirements engineering. IEEE Trans. on Software Engineering, SE3(1):49–60, Feb. 1977.

    Article  Google Scholar 

  4. P. A. Bernstein. Database system support for software engineering. In Proceedings of the Ninth International Conference on Software Engineering, pages 166–178, IEEE Computer Society Press, Monterey, California, March 1987.

    Google Scholar 

  5. D. Bjorner. On the use of formal methods in software development. In Proceedings of the Ninth International Conference on Software Engineering, pages 17–29, IEEE Computer Society Press, Monterey, California, March 1987.

    Google Scholar 

  6. B. Boehm. A spiral model of software development and enhancement. Computer, May 1983.

    Google Scholar 

  7. B. Boehm and F. Belz. Applying process programming to the spiral model. In Proceedings of the Fourth International Software Process Workshop, pages l-11, Moretonhampstead, Devon, United Kingdom, May 1988.

    Google Scholar 

  8. G. Booch. Object-oriented development. IEEE Trans. on Software Engineering, SE-12(2):211–221, Feb. 1986.

    Google Scholar 

  9. M. H. Brown and R. Sedgewick. A system for algorithm animation. Computer Graphics, 18(3):177–186, July 1984.

    Article  Google Scholar 

  10. DOD-STD-18.98, Common Ada Programming Support Environment (APSE) Interface Set (CAIS). Department of Defense, Oct. 1986.

    Google Scholar 

  11. Common Ada Programming Support Environment (APSE) Interface Set (CAIS), Proposed Military Standard DOD-STD-1838A (Revision A). Department of Defense, May 1988.

    Google Scholar 

  12. J. R. Cameron. An overview of JSD. IEEE Trans. on Software Engineering, SE-12(2):222–240, Feb. 1986.

    Google Scholar 

  13. M. J. Carey, D. J. Dewitt, D. Frank, G. Graefe, J. E. Richardson, E. J. Shekita, and M. Muralikrishna. The Architecture of the EXODUS Extensible DBMS: A Preliminary Report. Technical Report CS-644, Computer Sciences Department, University of Wisconsin - Madison, May 1986.

    Google Scholar 

  14. T. A. Cargill. The feel of Pi. In Winter 1986 USENIX Technical Conference, pages 62-71, USENIX Association, Denver, Colorado, Jan. 1986.

    Google Scholar 

  15. L. A. Clarke, J. C. Wileden, and A. L. Wolf. Graphite: A meta-tool for Ada environment development. In Proceedings of the IEEE Computer Society Second International Conference on Ada Applications and Environments, pages 81–90, IEEE Computer Society Press, Miami Beach, Florida, Apr. 1986.

    Google Scholar 

  16. G. M. Clemm, D. Heimbigner, L. Osterweil, and L. G. Williams. Keystone: a federated software environment. In Proceedings of the Workshop on Software Engineering Environments for Programming-in-the-Large, pages 80–88, June 1985.

    Google Scholar 

  17. G. M. Clemm and L. J. Osterweil. A Mechanism for Environment Integration. Technical Report CU-CS-323-86, University of Colorado, Boulder, Jan. 1986.

    Google Scholar 

  18. CLF Overview. USC Information Sciences Institute, Marina del Rey, California, March 1986. Informal Report.

    Google Scholar 

  19. V. Donzeau-Gouge, G. Huet, G. Kahn, and B. Lang. Programming environments based on structured editors: the Mentor experience. In Interactive Programming Environments, pages 128–140, McGraw-Hill Book Co., New York, 1984.

    Google Scholar 

  20. M. Dowson, editor. Proceedings of the 3rd International Software Process Workshop, IEEE Computer Society Press, Breckenridge, Colorado, Nov. 1986.

    Google Scholar 

  21. G. Estrin, R. S. Fenchel, R. R. Razouk, and M. K. Vernon. SARA (System ARchitects Apprentice): modeling, analysis, and simulation support for design of concurrent systems. IEEE Trans. on SoftwareEngineering, SE-12(2):293–313, Feb. 1986.

    Google Scholar 

  22. S. I. Feldman. Make—a program for maintaining computer programs. Software–Practice & Experience, 9(4):255–265, Apr. 1979.

    Article  MATH  Google Scholar 

  23. C. Green, D. Luckham, R. Balzer, T. Cheatham, and C. Rich. Report on a Knowledge-Based Software Assistant. Technical Report, Kestrel Institute, June 1983.

    Google Scholar 

  24. A. N. Kabermann and D. Notkin. Gandalf: software development environments. IEEE Trans. on Software Engineering, SE-12(12):1117–1127, Dec. 1986.

    Google Scholar 

  25. A. N. Habermann and D. E. Perry. System composition and version control for ada. In H. Huenke, editor, Software Engineering Environments, pages 331–343, North-Holland, 1981.

    Google Scholar 

  26. D. Heimbigner and D. McLeod. A federated architecture for information management. ACM Transactions on Office Information Systems, 3(3):253–278, July 1985.

    Article  Google Scholar 

  27. D. Heimbigner, L. Osterweil, and S. Sutton. APPL/A: A Language for Managing Relations Among Software Objects and Processes. Technical Report CU-CS-374-87, University of Colorado, Department of Computer Science, Boulder, Colorado, 1987.

    Google Scholar 

  28. P. Henderson, editor. Proceedings of the A CM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, ACM SIGPLAN, Pittsburgh, Pennsylvania, Apr. 1984. (Appeared as SIGPLAN Notices, 19(51), May 1984.)

    Google Scholar 

  29. C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  30. S. Hudson and R. King. The Cactis project: database support for software environments. IEEE Trans. on Software Engineering, June 1988. (to appear).

    Google Scholar 

  31. Inside Macintosh. Apple Computer, Inc., Cupertino, California, promotional edition, March 1985.

    Google Scholar 

  32. B. W. Lampson and E. E. Schmidt. Organizing software in a distributed environment. In Proceedings of the ACM SIGPLAN ‘89 Symposium on Programming Language Issues in Software Systems, pages 1–13, June 1983.

    Google Scholar 

  33. D. B. Leblang and J. Robert P. Chase. Computer-aided software engineering in a distributed workstation environment. SIGPLAN Notices, 19(5):104–112, May 1984. (Proceedings of the First ACM SIGSOFT/SIGPLAN Symposium on Practical Software Development Environments).

    Article  Google Scholar 

  34. B. Liskov and R. Scheifler. Guardians and actions: linguistic support for robust, distributed programs. ACM Transactions on Programming Languages and Systems, 5(3):381–404, July 1983.

    Article  MATH  Google Scholar 

  35. J. McCormack. X Toolkit Intrinsics - C Language X Interface. Technical Report Review Version 2.1, Western Software Laboratory, Digital Equipment Corporation, Feb. 1988.

    Google Scholar 

  36. J. Moss and S. Sinofsky. Managing Persistent Data with Mneme: Issues and Applications of a Reliable, Shared Object Interface. Technical Report 88-30, COINS, University of Massachusetts, Amherst, MA, Apr. 1988.

    Google Scholar 

  37. B. A. Myers. Incense: A system for displaying data structures. Computer Graphics, 17(3):115–125, July 1983.

    Article  Google Scholar 

  38. J. A. Orenstein, S. K. Sarin, and U. DayaI. Managing Persistent Objects in Ada. Technical Report CCA-86-03, Computer Corporation of America, Cambridge, Massachusetts, May 1986.

    Google Scholar 

  39. L. J. Osterweil. A Process-Object Centered View of Software Environment Architecture. Technical Report CU-CS-332-86, University of Colorado, Boulder, May 1986.

    Google Scholar 

  40. L. J. Osterweil. Software environment research: Directions for the next five years. Computer, 14(4):35–43, 1981.

    Article  Google Scholar 

  41. L. J. Osterweil. Software processes are software too. In Proceedings of the Ninth International Conference on Software Engineering, pages 2-13, Monterey, CA, March 1987. (Reprinted as Chapter 17)

    Google Scholar 

  42. D. L. Parnas and P. C. Clements. A rational design process: how and why to fake it. IEEE Trans. on Software Engineering, SE-12(2):251–257, Feb. 1986.

    Google Scholar 

  43. M. H. Penedo. Prototyping a project master data base for software engineering environments. In Proceedings of the First ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Development Environments, Palo Alto, California, Dec. 1986.

    Google Scholar 

  44. M. H. Penedo and E. D. Stuckle. PMDB - A project master database for software engineering environments. In Proceedings of the 8th International Conference on Software Engineering, pages 150-157, London, England, Aug. 1985.

    Google Scholar 

  45. D. E. Perry. Software interconnection models. In Proceedings of the Ninth International Conference on Software Engineering, pages 61–69, March 1987.

    Google Scholar 

  46. D. E. Perry. Version control in the Inscape environment. In Proceedings of the Ninth International Conference on Software Engineering, pages 142–149, March 1987.

    Google Scholar 

  47. C. Potts, editor. Proceedings of Software Process Workshop, IEEE Computer Society Press, Egham, Surrey, United Kingdom, Feb. 1984.

    Google Scholar 

  48. R. A. Radice, N. K. Roth, A. C. O’Hara Jr., and W. A. Ciarfella. A programming process architecture. IBM Systems Journal, 24(2):79–90, 1985.

    Article  Google Scholar 

  49. S. P. Reiss. PECAN: program development systems that support multiple views. IEEE Trans. on Software Engineering, SE-l1(3):276–285, 1985.

    Article  Google Scholar 

  50. W. Rosenblatt, J. Wileden, and A. Wolf. Preliminary Report on the OROS Type Model. Technical Report 88-70, COINS, University of Massachusetts, Amherst, MA, Aug. 1988.

    Google Scholar 

  51. D. T. Ross and K. E. Schoman Jr. Structured analysis for requirements definition. IEEE Trans. on Software Engineering, SE-3(1):6–15, Feb. 1977.

    Article  Google Scholar 

  52. G. Ross. Integral C - A practical environment for c programming. In Proceedings of the Second ACM SIGSOFT/SIGPLAN Symposium on Practical Software Development Environments, pages 42–48, Dec. 1986.

    Google Scholar 

  53. W. W. Royce. Managing the development of large software systems. In Proceedings, IEEE WESCON, pages 1-9, IEEE, Aug. 1970. Also reprinted in Proceedings 9th International Conference on Software Engineering, pp. 328-338.

    Google Scholar 

  54. M. Satyanarayanan, J. H. Howard, D. A. Nichols, R. N. Sidebotham, A. Z. Spector, and M. J. West. The ITC distributed file system: principles and design. Operating Systems Review, 19(5):35–50, 1985.

    Article  Google Scholar 

  55. A. H. Skarra, S. B. Zdonik, and S. P. Reiss. An object server for an object-oriented database system. In Proceedings of the Object-Oriented Database Systems Workshop, pages 196–204, IEEE Computer Society Press, Sep. 1986.

    Google Scholar 

  56. A. Z. Spector. Distributed Transaction Processing in the Camelot System. Technical Report CMU-CS-87-100, Computer Science Department, Carnegie-Mellon University, Pittsburgh, Pennsylvania, Jan. 1987.

    Google Scholar 

  57. Proceedings of 4th International Software Process Workshop, Moretonhampstead, Devon, United Kingdom, May 1988.

    Google Scholar 

  58. T. A. Standish and R. N. Taylor. Arcturus: A prototype advanced Ada programming environment. Software Engineering Notes, 9(3):57–64, May 1984. (Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments)

    Article  Google Scholar 

  59. M. Stefik and D. Bobrow. Object-oriented programming: Themes and variations. AI Magazine, 6(4):40–62, Winter 1986.

    Google Scholar 

  60. M. J. Stefik, D. G. Bobrow, and K. M. Kahn. Integrating access-oriented programming into a multiparadigm environment. IEEE Software, 3(1):10–18, Jan. 1986.

    Article  Google Scholar 

  61. M. Stonebraker and L. A. Rowe. The design of POSTGRES. In Proceedings of the ACM SIGMOD ‘86 International Conference on Management of Data, pages 340–355, June 1986.

    Google Scholar 

  62. SunView Programmer’s Guide. Sun Microsystems, Inc., Mountain View, California, Feb. 1986.

    Google Scholar 

  63. T. Teitelbaum and T. Reps. The Cornell Program Synthesizer: A syntax directed programming environment. Communications of the ACM, 24(9):563–573, Sep. 1981.

    Article  Google Scholar 

  64. W. Teitelman. A tour through Cedar. IEEE Trans. on Software Engineering, SE-11(3):285–302, 1985.

    Article  Google Scholar 

  65. W. Teitelman and L. Masinter. The Interlisp programming environment. Computer, 14(4):25–33, Apr. 1981.

    Article  Google Scholar 

  66. R. M. Thall. The KAPSE for the Ada Language System. In Proceedings of the AdaTEC Conference on Ada, pages 31–47, ACM, Oct. 1982.

    Google Scholar 

  67. W. F. Tichy. Design, implementation, and evaluation of a revision control system. In Proceedings of the Sixth International Conference on Software Engineering, pages 58-67, Tokyo, Japan, Sep. 1982.

    Google Scholar 

  68. W. F. Tichy. Software development control based on module interconnection. In Proceedings of the Fourth International Conference on Software Engineering, pages 29–41, IEEE Computer Society Press, Munich, West Germany; Sep. 1979.

    Google Scholar 

  69. B. Walker, G. Popek, R. English, C. Kline, and G. Thiel. The LOCUS distributed operating system. Operating Systems Review, 17(5):49–70, 1983.

    Article  Google Scholar 

  70. P. T. Ward. The transformation schema: an extension of the data flow diagram to represent control and timing. IEEE Trans. on Software Engineering, SE12(2):198–210, Feb. 1986.

    Google Scholar 

  71. A. I. Wasserman, P. A. Pircher, D. T. Shewmake, and M. L. Kersten. Developing interactive information systems with the user software engineering methodology. IEEE Trans. on Software Engineering, SE12(2):326–345, Feb. 1986.

    Google Scholar 

  72. J. Wileden, A. Wolf, C. Fisher, and P. Tarr. PGraphite: an experiment in persistent typed object management. In Proceedings SIGSOFT ‘88: Third Symposium on Software Development Environments, Dec. 1988.

    Google Scholar 

  73. J. C. Wileden and M. Dowson, editors. Proceedings of the International Workshop on the Software Process and Software Environments, ACM SIGSOFT, Coto de Caza, Trabuco Canyon, California, March 1985. (Appeared in ACM Software Engineering Notes, Vol.11, No.4, Aug. 1986).

    Google Scholar 

  74. A. Wolf, L. Clarke, and J. Wileden. The AdaPIC toolset: supporting interface control and analysis throughout the software development process. IEEE Transactions on Software Engineering, 1988. (To appear).

    Google Scholar 

  75. M. Young, R. N. Taylor, and D. B. Troup. Software environment architectures and user interface facilities. IEEE Trans. on Software Engineering, June 1988.

    Google Scholar 

  76. P. Zave and W. Schell. Salient features of an executable specification language and its environment. IEEE Trans. on Software Engineering, SE-12(2):312–325, Feb. 1986.

    Google Scholar 

  77. S. B. Zdonik and P. Wegner. Language and methodology for object-oriented database environments. In Proceedings of the Nineteenth Annual Hawaii International Conference on System Sciences, pages 378–387, Jan. 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Taylor, R.N. et al. (2011). Foundations for the Arcadia Environment Architecture. In: Tarr, P., Wolf, A. (eds) Engineering of Software. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19823-6_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-19823-6_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-19822-9

  • Online ISBN: 978-3-642-19823-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics