Information and Computer Science 228
Software Environments

Winter Quarter, 2002
Location: CS 253
Time: MW 11:00 — 12:20
Course code: 36615

Instructor | Overview and FAQ | Textbooks | Assignments | Schedule | Academic Dishonesty |
(Last modified February 11, 2002)

What's New


Overview, Prerequisites, and Frequently Asked Questions

UCI Catalog Description:

Study of the requirements, concepts, and architectures of comprehensive, integrated, software development and maintenance environments. Major topics include process support, object management, communication, interoperability, measurement, analysis, and user interfaces in the environment context.
Themes: Software architectures and composition technologies.

This offering of ICS 228, as with its predecessor, adopts something of a design studio approach to the topic. During the quarter the class will jointly create a software development environment focused on architecture-centric development. In particular, the environment will aim to provide lifecycle support for applications developed in the C2 architectural style. Since this was the focus of the previous class's project, you can expect to build upon their results. Moreover the architeture itself will be an "application" built in the style, so it will be amenable to further evolution using itself.

Textbook and Readings

Discussion Section (surprise!)

Successfully pursuing the project will require some focused instruction in the cornerstone technologies: the xADL architecture representation mechanism, the c2.fw architectural framework, and so on. To provide this instruction we'll be holding discussion sections during the first half of the quarter. Unfortunately this section was not scheduled through the Registrar, so we'll have to quickly identify a time and place where everyone can meet. To faciliate this please bring your schedule to the first meeting of class, and we'll decide the time then.

Eric Dashofy will be running the Discussion Section and maintaining its website.

Assignments and Assessment

Name Assignment  Weight 
Pop quizzes (no kidding!)  These will be simple, short, in-class quizzes designed to assess whether or not you've read the assigned readings. If you have read the papers these quizzes will be a snap. If you haven't read them, I'll be able to tell. Be sure to bring pen/cil and paper to class everyday, just in case!  15% 
Progress reports and presentations  These are oral reports to the class covering the progress you've made in the previous week on your part of the course project.  15% 
Project  You will be developing a part of a software development environment, cooperatively with the rest of the class. This portion of your grade will reflect what you've built as part of the project.  35% 
Summary paper  By the time you're done with your part of the development project, you'll necessarily know the related work, what you've done, what happened when you tried to integrate with the other students' projects, and how well the C2 framework,, supported you in your task. All you have to do here is capture that understanding in a paper not to exceed 5000 words (unless you are REALLY interesting). With luck, this paper will be publishable.  35% 

Schedule (Subject to Change)

Week 1
January 7/9


AST-based environments 

Event-based communication

[TM81] W. Teitelman and L. Manister. "The Interlisp Programming Environment", IEEE Computer, 14(4):25-33, April 1981.

[RT84] T. Reps and T. Teitelbaum. "The Synthesizer Generator", in Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pp. 42-48, Pittsburgh, PA, April 1984.

[Rei90] S.P. Reiss. "Connecting Tools Using Message Passing in the Field Environment", IEEE Software, 7(4):57-66, July 1990.

The idea
Week 2
January 14/16

Architecture-based development

The Web of Design

Taylor, R. N., N. Medvidovic, et al. (1996). "A Component- and Message-Based Architectural Style for GUI Software." IEEE Transactions on Software Engineering 22(6): 390-406.

Anderson, K. M., R. N. Taylor, et al. (2000). "Chimera: Hypermedia for Heterogeneous Software Development Environments." ACM Transactions on Office Information Systems (TOIS) 18(3): 211-245.


See also Chimera-2

[FWABOT98] R. Fielding, "Web-Based Development of Complex Information Products" CACM, August 1998, pp. 84-92. Acrobat PDF (200K).

Week 3

January 21/23

No class on the 21st!

Process-centered environments.

Heterogeneous environments

No class on 1/21 (MLK Day holiday)

[KFP88] G.E. Kaiser, P.H. Feiler and S.S. Popovich. "Intelligent Assistance for Software Development and Maintenance", IEEE Software, 5(3):40-49, May 1988.

Bandinelli, S., A. Fuggetta, et al. (1994). SPADE: An Environment for Software Process Analysis, Design and Enactment. Software Process Modeling and Technology. A. Finkelstein, J. Kramer and B. A. Nuseibeh, Wiley: 223-248.

[Kad92] R. Kadia. "Issues Encountered in Building a Flexible Software Development Environment: Lessons Learned from the Arcadia Project", in Proceedings of ACM SIGSOFT '92: Fifth Symposium on Software Development Environments, pp. 169-180, Washington, DC, December 1992. Postscript version.

Week 4
January 28/30
Analysis and environments

Bandinelli,S., E. Di Nitto, andA. Fuggetta. Supporting Cooperation in the SPADE-1 Environment. IEEE TSE, 22, 12 December 1996. pp. 841-865.

[TN92] I. Thomas and B.A. Nejmeh. "Definitions of Tool Integration for Environments", IEEE Software, 9(2):29-35, March 1992.

Robbins, J. E., D. M. Hilbert, et al. (1998). "Extending Design Environments to Software Architecture Design." Automated Software Engineering 5(3): 261-90.

Vieira, M. E. R., M. S. Dias, et al. (2000). Analyzing Software Architectures with Argus-I. 2000 International Conference on Software Engineering (ICSE 2000), Limerick, Ireland.

[Med98] N. Medvidovic. "Architecture-based Specification-Time Software Evolution" (Ph.D. dissertation, ICS, UCI) Acrobat PDF (981K) (Parts of this document)

Armani and Rapide's poset analyzer.

Week 5
February 4/6
Architecture-based environments, round 2

Garlan, D., R. Allen, et al. (1994). Exploiting Style in Architectural Design Environments. ACM SIGSOFT '94 Second Symposium on the Foundations of Software Engineering, New Orleans, LA, ACM Press.

Medvidovic, N., D. S. Rosenblum, et al. (1999). A Language and Environment for Architecture-Based Software Development and Evolution. 21st International Conference on Software Engineering, Los Angeles, CA, IEEE Computer Society.

Khare, R., Guntersdorfer, M., P. Oreizy, Medvidovic, N.,, et al. (2000). xADL: Enabling Architecture-Centric Tool Integration with XML. 2001. (You've seen this paper before,listed below under the project))

Nenad Medvidovic„ Peyman Oreizy„„ Richard N. Taylor„„ Rohit Khare„„ Michael Guntersdorfer. An Architecture-Centered Approach to Software Environment Integration

1st progress report due Wednesday

(Powerpoint, 2 or 3 slides)

Week 6
February 11/13

Expect the topic above to slide into this week, on to 2/13

Object management, configuration management, deployment, and environments


Andre van der Hoek: 2/11/02

LŸer, C. and D. S. Rosenblum (2001). Wren - An Environment for Component-Based Development. Joint 8th European Software Engineering Conference (ESEC) and 9th ACM Sigsoft International Symposium on the Foundations of Software Engineering (FSE-9), Vienna, Austria.

Magee, J., N. Dulay, et al. (1994). "Regis: A Constructive Development Environment for Distributed Programs." IEE/IOP/BCS Distributed Systems Engineering 1(5): 304ö312.


Menage and The Software Dock (and ??)

2nd progress report
Week 7

February 18/20

No class on the 18th!

No class on 2/18 (President's Day holiday)

Process and architectures, redux.

Consider the use of Magi? Event-based project awareness tools? Knowledge Depot? "Source Forge"
3rd progress report
Week 8
February 25/27

Integrating with commercial tools and environments

Visiting lecturer:  Sriram Sankar ??

COM based integration; J2EE, Rational. Sullivan's papers
4th progress report
Week 9
March 4/6

Analysis tools, redux.

Frameworks: NIST/ECMA, ESF, Corporation model

Harrison, W., H. Ossher, et al. (2000). Software Engineering Tools and Environments: A Roadmap. The Future of Software Engineering. A. Finkelstein. New York, ACM: 261-277.
Week 10
March 11/13
Demos of project components
Review and future directions
Final papers due on 3/13

Getting Underway with ArchStudio

The course environment will be built "in the ArchStudio" way, which means drawing from the previous versions of ArchStudio, and using xADL and its associated tools as the technical heart of the environment. You'll need to consult the following websites and read the listed papers.


Paper 1: ICSE 2002

Paper 2: WICSA 2001


Paper 1: HICSS 2001

Additional Readings (to be moved into the schedule above)

Potential Project Emphases

Academic Dishonesty

Cheating in ICS 228 will be dealt with in accordance with University policy and ICS policy. Please familiarize yourself with those documents. 
Department of Information and Computer Science,

University of California, Irvine CA 92697-3425