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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Military Standard Ada Programming Language (ANSI/MIL-STD-1815A-1983). American National Standards Institute, Jan. 1983.
M. Atkinson, P. Bailey, K. Chisholm, P. Cockshott, and R. Morrison. An approach to persistent programming. The Computer Journal, 26(4):360–365, 1983.
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.
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.
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.
B. Boehm. A spiral model of software development and enhancement. Computer, May 1983.
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.
G. Booch. Object-oriented development. IEEE Trans. on Software Engineering, SE-12(2):211–221, Feb. 1986.
M. H. Brown and R. Sedgewick. A system for algorithm animation. Computer Graphics, 18(3):177–186, July 1984.
DOD-STD-18.98, Common Ada Programming Support Environment (APSE) Interface Set (CAIS). Department of Defense, Oct. 1986.
Common Ada Programming Support Environment (APSE) Interface Set (CAIS), Proposed Military Standard DOD-STD-1838A (Revision A). Department of Defense, May 1988.
J. R. Cameron. An overview of JSD. IEEE Trans. on Software Engineering, SE-12(2):222–240, Feb. 1986.
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.
T. A. Cargill. The feel of Pi. In Winter 1986 USENIX Technical Conference, pages 62-71, USENIX Association, Denver, Colorado, Jan. 1986.
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.
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.
G. M. Clemm and L. J. Osterweil. A Mechanism for Environment Integration. Technical Report CU-CS-323-86, University of Colorado, Boulder, Jan. 1986.
CLF Overview. USC Information Sciences Institute, Marina del Rey, California, March 1986. Informal Report.
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.
M. Dowson, editor. Proceedings of the 3rd International Software Process Workshop, IEEE Computer Society Press, Breckenridge, Colorado, Nov. 1986.
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.
S. I. Feldman. Make—a program for maintaining computer programs. Software–Practice & Experience, 9(4):255–265, Apr. 1979.
C. Green, D. Luckham, R. Balzer, T. Cheatham, and C. Rich. Report on a Knowledge-Based Software Assistant. Technical Report, Kestrel Institute, June 1983.
A. N. Kabermann and D. Notkin. Gandalf: software development environments. IEEE Trans. on Software Engineering, SE-12(12):1117–1127, Dec. 1986.
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.
D. Heimbigner and D. McLeod. A federated architecture for information management. ACM Transactions on Office Information Systems, 3(3):253–278, July 1985.
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.
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.)
C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.
S. Hudson and R. King. The Cactis project: database support for software environments. IEEE Trans. on Software Engineering, June 1988. (to appear).
Inside Macintosh. Apple Computer, Inc., Cupertino, California, promotional edition, March 1985.
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.
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).
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.
J. McCormack. X Toolkit Intrinsics - C Language X Interface. Technical Report Review Version 2.1, Western Software Laboratory, Digital Equipment Corporation, Feb. 1988.
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.
B. A. Myers. Incense: A system for displaying data structures. Computer Graphics, 17(3):115–125, July 1983.
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.
L. J. Osterweil. A Process-Object Centered View of Software Environment Architecture. Technical Report CU-CS-332-86, University of Colorado, Boulder, May 1986.
L. J. Osterweil. Software environment research: Directions for the next five years. Computer, 14(4):35–43, 1981.
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)
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.
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.
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.
D. E. Perry. Software interconnection models. In Proceedings of the Ninth International Conference on Software Engineering, pages 61–69, March 1987.
D. E. Perry. Version control in the Inscape environment. In Proceedings of the Ninth International Conference on Software Engineering, pages 142–149, March 1987.
C. Potts, editor. Proceedings of Software Process Workshop, IEEE Computer Society Press, Egham, Surrey, United Kingdom, Feb. 1984.
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.
S. P. Reiss. PECAN: program development systems that support multiple views. IEEE Trans. on Software Engineering, SE-l1(3):276–285, 1985.
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.
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.
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.
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.
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.
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.
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.
Proceedings of 4th International Software Process Workshop, Moretonhampstead, Devon, United Kingdom, May 1988.
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)
M. Stefik and D. Bobrow. Object-oriented programming: Themes and variations. AI Magazine, 6(4):40–62, Winter 1986.
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.
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.
SunView Programmer’s Guide. Sun Microsystems, Inc., Mountain View, California, Feb. 1986.
T. Teitelbaum and T. Reps. The Cornell Program Synthesizer: A syntax directed programming environment. Communications of the ACM, 24(9):563–573, Sep. 1981.
W. Teitelman. A tour through Cedar. IEEE Trans. on Software Engineering, SE-11(3):285–302, 1985.
W. Teitelman and L. Masinter. The Interlisp programming environment. Computer, 14(4):25–33, Apr. 1981.
R. M. Thall. The KAPSE for the Ada Language System. In Proceedings of the AdaTEC Conference on Ada, pages 31–47, ACM, Oct. 1982.
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.
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.
B. Walker, G. Popek, R. English, C. Kline, and G. Thiel. The LOCUS distributed operating system. Operating Systems Review, 17(5):49–70, 1983.
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.
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.
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.
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).
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).
M. Young, R. N. Taylor, and D. B. Troup. Software environment architectures and user interface facilities. IEEE Trans. on Software Engineering, June 1988.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)