Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/64135.65004acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article
Free access

Foundations for the Arcadia environment architecture

Published: 03 November 1988 Publication History

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.

References

[1]
Military Standard Ada Programming Language {ANSI/MIL-STD- 1815A-1983). American National Standards Institute, Jan. 1983.
[2]
M. Atkinson, P. Bailey, K. Chisholm, P. Cockshott, and R. Morrison. An approach to persistent programming. The Cotiputer Journal, 26(4):360-365, 1983.
[3]
T. E. Bell, D. C. Bixler, and M. E. Dyer. An extendable approach to computer-aided software requirements engineering. IEEE Tmns. on Software Engineering, SE3(1):49-60, Feb. 1977.
[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.
[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.
[6]
B. Boehm. A spiral model of software development and enhancement. Computer, May 1983.
[7]
B. Boehm and F. Belz. Applying process programming to the spiral model. In Proceedings of the Fourth International Sojtruore Process Workshop, pages l-11, Moretonhampstead, Devon, United Kingdom, May 1988.
[8]
G. Booth. Object-oriented development. IEEE Trans. on Software Engineering, SE-12(2):211-221, Feb. 1986.
[9]
M. II. Brown and R. Sedgewick. A system for algorithm animation. Computer Gmphics, 18(3):177-186, July 1984.
[10]
DOD-STD-18.98, Common Ada Programming Support Environment (APSE) Interface Set (CAIS). Department of Defense, Oct. 1986.
[11]
Common Ada Programming Support Environment (APSE) Interface Set (CAIS), Proposed Military Standard DOD-STD-1838A (Revision A). Department of Defense, May 1988.
[12]
J. R. Cameron. An overview of JSD. IEEE Trans. on Software Engineering, SE-12(2):222-240, Feb. 1986.
[13]
M. J. Carey, D. J. Dewitt, D. Frank, G. Graefe, J. E. Richardson, E. J. Shekita, and M. Mnralikrishna. The Architecture of the EXODUS Extensible DBMS: A Preliminary Report. Technical Report CS-644, Computer Sciences Department, University of Wisconsin - Madison, May 1986.
[14]
T. A. Cargill. The feel of Pi. In Winter 1986 USENIX Technical Conference, pages 62-71, USENIX Association, Denver, Colorado, Jan. 1986.
[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.
[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.
[17]
G. M. Clemm and L. J. Osterweil. A Mechanism for Enoironment Integmtion. Technical Report CU-CS-323-86, University of Colorado, Boulder, Jan. 1986.
[18]
ClF Overview. USC Information Sciences Institute, Marina de1 Rey, California, March 1986. Informal Report.
[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.
[20]
M. Dowson, editor. Proceedings of the 3rd International Software Process Workshop, IEEE Computer Society Press, Breckenridge, Colorado, Nov. 1986.
[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 Tmna. on Software Engineering, S&12(2):293-313, Feb. 1986.
[22]
S. I. Feldman. Make--a program for maintaining computer programs. Software - Pmctice d Experience, 9(4):255-265, Apr. 1979.
[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.
[24]
A. N. Kabermann and D. Notkin. Gandalf: software development environments. IEEE TMIW. on Software Engineering, SE12(12):1117-1127, Dec. 1986.
[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.
[26]
D. Heimbigner and D. McLeod. A federated architecture for information management. ACM Transactions on Ofice Information Systems, 3(3):253-278, July 1985.
[27]
D. Heimbigner, L. Osterweil, and S. Sutton. APPL/A: A Language for Managing Relations Among Sojttllare Objects and Processe& Technical Report CU-CS-374-87, University of Colorado, Department of Computer Science, Boulder, Colorado, 1987.
[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.).
[29]
C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666-677, 1978.
[30]
S. Hudson and R. King. The Cactis project: database support for software environments. IEEE Trans. on Software Engineering, June 1988. (to appear).
[31]
Inside Macintosh. Apple Computer, Inc., Cupertino, California, promotional edition, March 1985.
[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.
[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 SIG- SOFT/SIGPLAN Symposium on Practical Software Development Environments).
[34]
B. Liskov and R. Scheifler. Guardians and actions: linguistic support for robust, distributed programs. ACM Transactions on Pmgmmming Languages and Systems, 5(3):381-404, July 1983.
[35]
J. McCormack. X Toolkit Intrinsics - C Language X Interface. Technical Report Review Version 2.1, Western Software Laboratory, Digital Equipment Corporation, Feb. 1988.
[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.
[37]
B. A. Myers. Incense: A system for displaying data structures. Computer Graphics, 17(3):115-125, July 1983.
[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.
[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.
[40]
L. J. Osterweil. Software environment research: Directions for the next five years. Computer, 14(4):35-43, 1981.
[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.
[42]
D. L. Parnss and P. C. Clements. A rational design process: how and why to fake it. IEEE Trans. on Software Engineering, SE12(2):251- 257, Feb. 1986.
[43]
M. H. Penedo. Prototyping a project master data base for software engineering environments. In Pmceedings of the First ACM SIG- SOFT/SIGPLAN Software Engineering Symposium on Pmctical Development Environments, Palo Alto, California, Dec. 1986.
[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 Softwwe Engineering, pages 150-157, London, England, Aug. 1985.
[45]
D. E. Perry. Software interconnection models. In Proceedings of the Ninth International Conference on Software Engineering, pages 61-69, March 1987.
[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.
[47]
C. Potts, editor. Proceedings ofSoftware Process Workshop, IEEE Computer Society Press, Egham, Surrey, United Kingdom, Feb. 1984.
[48]
R. A. Radice, N. K. Roth, A. C. 0. Jr., and W. A. Ciarfella. A programming process architecture. IBM Systems Journal, 24(2):79-90, 1985.
[49]
S. P. Reiss. PECAN: program development systems that support multiple views. IEEE Trans. on Software Engineering, SEl1(3):276-285, 1985.
[50]
W. Rosenblatt, J. Wiieden, and A. Wolf. PreZiminary Report on the OROS Type Model. Technical Report 88-70, COINS, University of Msssachusetts, Amherst, MA, Aug. 1988.
[51]
D. T. Ross and K. E. S. Jr. Structured analysis for requirements definition. IEEE Trans. on Software Engineering, SE3(1):6-15, Feb. 1977.
[52]
G. Ross. Integral C - A practical environment for c programming. In Proceedings of the Second ACM SIGSOFT/SIGPLAN Symposium on Pmctical Software Development Environments, pages 42-48, Dec. 1986.
[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.
[54]
M. Satyanarayanan, J. II. 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.
[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.
[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.
[57]
Proceedings of 4th International Sojtware Process Workshop, Moretonhampstead, Devon, United Kingdom, May 1988.
[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 Environmerits)
[59]
M. St&k and D. Bobrow. Object-oriented programming: Themes and variations. AI Magazine, 6(4):40-62, Winter 1986.
[60]
M. .I. St&k, D. G. Bobrow, and K. M. Kahn. Integrating accessoriented programming into a multiparadigm environment. IEEE Softvmre, 3(1):10-18, Jan. 1986.
[61]
M. Stonebraker and L. A. Rowe. The design of POSTGRES. In Proceedings of the ACM SZGMOD '86 International Conference on Management of Data, pages 340-355, June 1986.
[62]
SunView Progmmmer's Guide. Sun Microsystems, Inc., Mountain View, California, Feb. 1986.
[63]
T. Teitelbaum and T. Reps. The Cornell Pprogram Synthesizer: A syntax directed programming environment. Communications of the ACM, 24(9):563-573, Sep. 1981.
[64]
W. Teitelman. A tour through Cedar. IEEE Trans. on Software Engineering, SE11(3):285-302, 1985.
[65]
W. Teitelman and L. Mssinter. The Interlisp programming environment. Computer, 14(4):25-33, Apr. 1981.
[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.
[67]
W. F. Tichy. Design, implementation, and evaluation of a revision control system. In Proceedings of the Sizth International Conference on Software Engineering, pages 58-67, Tokyo, Japan, Sep. 1982.
[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.
[69]
B. Walker, G. Popek, R. English, C. Kline, and G. ThieI. The LOCUS distributed operating system. Operating Systems Review, 17(5):49-70, 1983.
[70]
P. T. Ward. The transformation schema: an extension of the data flow diagram to represent control and timing. IEEE Tmns. on Software Engineering, SE12(2):198-210, Feb. 1986.
[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.
[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.
[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).
[74]
A. Wolf, L. Clarke, and J. Wileden. The AdaPIC toolset: supporting interface control and analysis throughout the software development pro cess. IEEE Tmnsactions on Software Engineering, 1988. (To appear).
[75]
M. Young, R. N. Taylor, and D. B. Troup. Software environment architectures and user interface facilities. IEEE Trans. on Software Engineering, June 1988.
[76]
P. Zave and W. Schell. Salient features of an executable specification language and its environment. ZEEE Trans. on Software Engineering, SE-12(2):312-325, Feb. 1986.
[77]
S. B. 'Zdonik and P. Wegner. Language and methodology for objectoriented database environments. In Proceedings of the Nineteenth Annual Hawaii International Conference on System Sciences, pages 378- 387, Jan. 1986.

Cited By

View all

Recommendations

Reviews

Agnes Marguerite Decroix

This paper presents the Arcadia environment research project, which describes research funded by NSF and ARPA. It is a consortium of workers from three universities, AT&T Bell Laboratories, and TRW. The Arcadia consortium investigates the integrated software engineering environment, the purpose of which is to give support to users for their development and maintenance activities. Such an integrated environment does not restrict support to programming. This project addresses a broad range of software environment issues, such as the environment architecture for organizing large collections of tools and for facilitating their interactions with users and each other. It also describes the tools used for testing and analyzing concurrent and sequential software. The paper clearly explains the difficulties of defining a fully integrated environment and describes the trade-offs between flexibility, extensibility, ergonomy, and integration of the environment. The Arcadia environment architecture is composed of three parts: the User Interface Management System, the Process Program Interpreter, and the Object Management System. The paper uses the concept of process programming. Process programs, written in a process programming language (PPL), describe software processes that are used in developing or maintaining software. In a PPL, tools are operators and objects—created by tools or users—are operands. Flexibility is obtained by modifying process programs, and extensibility is maintained by writing new programs. Process programming is one of the key concepts in the Arcadia environment. The paper gives some details on the requirements for a process programming language (such as a powerful typing mechanism) and compares these with previous or existing so-called process programming languages. The description of the Arcadia programming research is detailed and gives some hints about the problems to be solved. “The Object Management System will be a major component of the Arcadia environment infrastructure. It will be responsible for managing two distinct categories of object: the components of the software products being produced by users of the environment and the tools and information structures that constitute the environment itself.” The Arcadia project is a meaningful improvement over previous works on object management. The Object Management System is the fundamental mechanism on which the data management capabilities of a process programming language can be implemented. The Arcadia project draws the most out of the process programming concept. The main issues that an object management system should tackle are described, namely types, relationships, persistence, and concurrency and distribution. For a research phase, the Object Management System is extensively presented. The description of the User Interface Management System highlights three main characteristics: uniformity or consistency, direct manipulation, and permissiveness. The User Interface Management System for the software engineering environment addresses those problems that have already been solved with advanced user interfaces. Arcadia user interface management research deals with separating functionality and interaction and managing the display, input model, and different approaches to uniformity. This well-written paper is of interest to those concerned about the integrated software engineering environment. It is also of interest to researchers in the field. But parts of the paper read more as a research proposal than a paper reporting important results of experiments. The bibliography misses a reference to the Portable Common Tool Environment (PCTE), a dedicated software engineering environment known since the mid-1980s.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SDE 3: Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
January 1989
257 pages
ISBN:089791290X
DOI:10.1145/64135
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 24, Issue 2
    Special issue: Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments
    Feb. 1989
    257 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/64140
    Issue’s Table of Contents
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 13, Issue 5
    Special issue: Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments
    November 1988
    257 pages
    ISSN:0163-5948
    DOI:10.1145/64137
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 November 1988

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SIGSOFT88
SIGSOFT88: 3rd Symposium on Software Development Environments
November 28 - 30, 1988
Massachusetts, Boston, USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)181
  • Downloads (Last 6 weeks)30
Reflects downloads up to 21 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2011)Software Architecture, (In)consistency, and IntegrationEngineering of Software10.1007/978-3-642-19823-6_9(153-161)Online publication date: 2011
  • (2011)Language Constructs for Managing Change in Process-Centered EnvironmentsEngineering of Software10.1007/978-3-642-19823-6_19(361-382)Online publication date: 2011
  • (2008)Breaking up is hard to doACM Transactions on Software Engineering and Methodology10.1145/1348250.134825317:2(1-52)Online publication date: 5-May-2008
  • (2006)Breaking up is hard to doProceedings of the 2006 international symposium on Software testing and analysis10.1145/1146238.1146250(97-108)Online publication date: 21-Jul-2006
  • (2006)Instant consistency checking for the UMLProceedings of the 28th international conference on Software engineering10.1145/1134285.1134339(381-390)Online publication date: 28-May-2006
  • (2006)On developing a repository structure tailored for reuse with improvementLearning Software Organizations10.1007/BFb0101413(51-71)Online publication date: 2-Dec-2006
  • (2005)Legion: Lessons Learned Building a Grid Operating SystemProceedings of the IEEE10.1109/JPROC.2004.84276493:3(589-603)Online publication date: Mar-2005
  • (2005)User interface technology and software engineering environmentsSoftware Engineering and Human-Computer Interaction10.1007/BFb0035810(113-126)Online publication date: 25-Jun-2005
  • (2005)Application and system prototyping via an extensible object-oriented environmentEntity-Relationship Approach — ER '9310.1007/BFb0024354(24-33)Online publication date: 18-Jun-2005
  • (2005)Software process modelling in EPOSAdvanced Information Systems Engineering10.1007/BFb0000589(109-133)Online publication date: 22-Sep-2005
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media