![]() |
Architectures for Software SystemsSpring 2003 Schedule |
Monday and Wednesday, 10:30a - 11:50a
Newell-Simon Hall 1305
David Garlan
garlan@cs.cmu.edu
WeH 8115 (x8-5056)
Office Hours: Mon 9:30a-10:30a
Secretary: Margaret Weigand, WeH 8120 (x8-2568)Rick Kazman
kazman@sei.cmu.edu
SEI 5215 (x8-1588)
Office Hours: By appointment
Jung Soo Kim
jungsoo@cmu.edu
WeH 5320A (x8-39907)
Office Hours: 12:00p-1:00pGil Taran
WeH 4614 (x8-6191)
gill@andrew.cmu.edu
Office Hours: TBD
Communication. Course materials are available through CMUs Blackboard System: http://www.cmu.edu/blackboard/ Readings. The required textbooks for this course are Software Architecture: Perspectives on an Emerging Discipline, by Mary Shaw and David Garlan, published by Prentice Hall in 1996, and Software Architecture in Practice, by Len Bass, Paul Clements, and Rick Kazman, published by Addison-Wesley in 1998. We will also use a collection of supplementary readings.
Grading. The course grade will be determined as a combination of four factors. Please note that late submissions will be penalized. Grading factors are as follows:
| Assignment | Date Assigned | Discuss | Due | Topic |
| Acme Lab | 01/20 | -- | 01/27 | Architectural Documentation |
| A1 | 01/22 | 01/29 | 02/05 | Pipes and Filters |
| A2 | 02/10 | 02/19 | 02/26 | Objects |
| A3 | 03/03 | 03/10 | 03/19 | Events |
| A4 | 03/31 | -- | 04/16 | Architectural Standards |
| Project | 01/22 | 04/07
04/09 04/14 |
02/12 (proposal
03/31 (prelim) 04/30 (final) |
Architectural Design and Evaluation |
| Lecture | Date | Major Topic | Subtopic | Readings | Assignment |
| 1 | Mon, Jan 13 | Introduction | Overview and Organization
(pdf) |
None | Reading Questions 1 |
| 2 | Wed, Jan 15 | Software Architecture in
Perspective Architectural Concepts
(pdf) |
SG96 Ch1; scan Ch2; BCK98 1.1, 1.2, Ch2; PN86; GMW00 | ||
| 3 | Mon, Jan 20 | Dataflow Systems | Dataflow Systems
Part A, Part B (3a.pdf) (3b.pdf) |
Mor93; Rec92; SG96 Ch 2.1, 2.2, 2.8, 4.2.1, 4.3.1 | Reading Questions 2
Distribute Acme Lab (pdf) |
| 4 | Wed, Jan 22 | 4A: Dataflow Case Studies
and Implementation Techniques (4a.pdf)
4B: Pipe-Filter Implementation (4b.pdf) |
SG96 Ch 3.2, Lat01 | Distribute A1
Distribute Project |
|
| 5 | Mon, Jan 27 | Techniques | Quality Attributes and Tradeoff
Analysis
(pdf) |
BCK98 Ch4; KK99 (1-27) | Reading Questions 3
Acme Lab |
| 6 | Wed, Jan 29 | Documenting Software Architectures
(pdf) |
Jac95
pp. 39-51; C+03;Kru95;
NASA01 |
Discuss A1 | |
| 7 | Mon, Feb 3 | Call-Return Systems | Call-Return Styles (including
Protocols, Implementation techniques)
(pdf) |
SG96 Ch 2.3, 3.1; Par 72, PCW85 | Reading Questions 4 |
| 8 | Wed, Feb 5 | Middleware
(pdf) |
Vin02 | A1 Due | |
| 9 | Mon, Feb 10 | Layered Architectures
Part A (pdf) Part B (pdf) |
BB00, DD94 | Distribute A2
Reading Questions 5 |
|
| 10 | Wed, Feb 12 | Event-Based Systems | Event Styles
(pdf) |
SG96 2.4; GKN92 | Project Proposals Due |
| 11 | Mon, Feb 17 | Implementation/Case Studies
(pdf) |
Rei90; SG96 Ch. 7.3, skim 6.4-6.6; HLA-RTI; HLA P1516 Rules | Reading Questions 6 | |
| 12 | Wed, Feb 19 | Techniques | How to present an architecture
Part A (pdf) Part B: ADS (pdf) |
Mar91 | Discuss A2 |
| 13 | Mon, Feb 24 | Arch Evaluation 1 (Overview
+ SAAM)
(pdf) |
BCK98 Ch. 9, 10 | Reading Questions 7 | |
| 14 | Wed, Feb 26 | Arch Evaluation 2 (ATAM)
(pdf) |
KKC00 | A2 Due | |
| 15 | Mon, Mar 3 | Formal Specification and Analysis (incl UML) (pdf) | SG96 6.1-6.3, 8.3; AGI98;Gar00; RJB99; GK00 | Reading Questions 8
Distribute A3 |
|
| 16 | Wed, Mar 5 | Shared Info Systems | Shared Information Systems
Styles
(pdf) |
SG96 Ch. 2.6-2.7, 3.5.3; Nii86 | |
| 17 | Mon, Mar 10 | Data Management Architectures/Web/E-Commerce
(pdf) |
BCK98 Ch7 | Reading Questions 9
Discuss A3 |
|
| 18 | Wed, Mar 12 | Techniques | Cost-Benefit Analysis Method
(CBAM)
(pdf) |
AKK01 | |
| 19 | Mon, Mar 17 | Reverse Engineering
(pdf) |
KOV02, O01 | Reading Questions 10 | |
| 20 | Wed, Mar 19 | Predictable Assembly of Components
Part I (pdf) Part II (pdf) |
HM02, KS01 | A3 Due | |
| Mon, Mar 24 | Spring Break -- No Class | ||||
| Wed, Mar 26 | Spring Break -- No Class | ||||
| 21 | Mon, Mar 31 | Product Lines + Architecture
in Context
(pdf) |
BCK98 Ch15, Ch16 | Reading Questions 11
Distribute A4 |
|
| 22 | Wed, Apr 2 | Architecting for X | Usability
(pdf) |
LB+01 | Prelim Project Report |
| 23 | Mon, Apr 7 | APTAS Case Study
(pdf) |
BCK98 Ch 16 | Reading Questions 12
Discuss Project |
|
| 24 | Wed, Apr 9 | Performance
(pdf) |
FB+03; SG90 | Discuss Project | |
| 25 | Mon, Apr 14 | Security
(pdf) |
CMK+01 | Reading Questions 13
Discuss Project |
|
| 26 | Wed, Apr 16 | Architecture in Practice | Enterprise Architecture
& J2EE
(pdf) |
Sin+02; Bod+02; End+02 | A4 Due |
| 27 | Mon, Apr 21 | E-Commerce Architectures
(pdf) |
STR00; DNA00; Paw01 | Reading Questions 14 | |
| 28 | Wed, Apr 23 | Architectural Mismatch and
Future Directions
(pdf) |
GA095; G+02; SG02; GCS03 | ||
| 29 | Mon, Apr 28 | Final Project Presentations | |||
| 30 | Wed, Apr 30 | Final Project Presentations | Final Projects Due |
| [ADS] | ADS Architecture: Executive Summary. |
| [AGI98] | Robert Allen. David Garlan. And James Ivers. Formal Modeling and Analysis of the HLA Component Integration Standard. Proc. of the 6th International Symposium on the Foundations of Software Engineering (FSE-6), November 1998. |
| [AKK01] | J. Asundi, R. Kazman, M. Klein, “Using Economic Considerations to Choose Amongst Architecture Design Alternatives”, CMU/SEI-2001-TR-035, Software Engineering Institute, Carnegie Mellon University, 2001. |
| [Bod+02] | Bodoff et.al., "The J2EE Tutorial", Addison-Wesley, 2002. PDF available at http://java.sun.com/j2ee/download.html#tutorial (pages 1-8). This book illustrates in a very didactic way how to build J2EE applications using Sun's J2EE SDK, also known as the "Reference Implementation". The selected pages are an introduction to the different types of application components available in the J2EE platform. |
| [BB00] | Felix Bachmann, Len Bass, Jeromy Carriere, Paul Clements, David Garlan, James Ivers, Robert Nord, Reed Little, "Software Architecture Documentation in Practice: Documenting Architectural Layers, CMU/SEI-2000-SR-004, Software Engineering Institute, Carnegie Mellon Univeristy, 2000. |
| [BCK98] | Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice. Addison-Wesley, 1998. |
| [C+03] | Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford. A Practical Method for Documenting Software Architectures. Submitted for publication. |
| [CMK+01] | Christopher
M. King, Ertem Osmanoglu (Editor), Curtis Dalton, "Security Architecture:
Design, Deployment and Operations.
McGraw-Hill Osborne Media; 1st Edition (July 30, 2001). |
| [DD94] | Darwen, Hugh and Date, C.J., "The Third Manifesto". |
| [DNA00] | A Blueprint for Building Web Sites Using the Microsoft Windows Platform. Draft, Version .9. Microsoft Corporation, January 2000. |
| [End+02] | Endrei et.al., "IBM WebSphere V4.0 Advanced Edition Handbook", IBM, 2002. PDF available at http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246176.html?Open (Chapter 5) IBM WebSphere is one of the two leaders in the J2EE application server market. Chapter 5 of this document discusses different alternatives for the topology of the production environment, and how they affect performance, availability, maintainability, etc. (The entire document has over 1100 pages, so you may not want to print it all.) |
| [FB+03] | F. Bachmann,L. Bass,M. Klein, "Moving from quality attribute requirements to architectural decisions", Proceedings of STRAW '03, to appear, May 2003. |
| [G+02] | David Garlan, Dan Siewiorek, Asim Smailagic, and Peter Steenkiste. Project Aura: Towards Distraction-Free Pervasive Computing., IEEE Pervasive Computing, Vol. 21, No. 2, April-June, 2002. pp. 22-31. |
| [GAO95] | David Garlan, Robert Allen, and John Ockerbloom. Architectural Mismatch, or Why it’s hard to build systems out existing parts. Proc Seventeenth International Conf on Software Engineering (ICSE-17), April 1995. |
| [Gar00] | David Garlan, Software Architecture and Object Oriented Systems, Proceedings of the IPSJ Object-Oriented Symposium 2000, August 2000, Tokyo Japan. |
| [GK00] | David Garlan and Andrew J. Kompanek, Reconciling the Needs of Architectural Description with Object-Modeling Notations, Proceedings of the Third International Conference on the Unified Modeling Language, October 2000, York UK. |
| [GCS03] | David Garlan, Shang-Wen Cheng, and Bradley Schmerl. Increasing System Dependability through Architecture-based Self-repair. In Architecting Dependable Systems, Springer-Verlag, 2003. |
| [GKN92] | David Garlan, Gail Kaiser, and David Notkin. Using Tool Abstraction to Compose Systems. IEEE Computer, 25(6), June 1992. |
| [GMW00] | David Garlan, Robert T. Monroe, David Wile. ACME: An Architecture Description of Component-Based Systems, Foundations of Component-Based Systems, ed. Gary T. Leavens and Murali Sitaraman, Cambridge University Press, 2000, pp. 47-68. |
| [HLA P1516 Rules] | IEEE. IEEE P1516/D1 Draft Standard [for] Modeling and Simulation (M&S), High Level Architecture (HLA) – Framework and Rules. Prepared by SISO. 1998. |
| [HLA-RTI] | Bachinsky, Mellon, Tarbox, and Fujimoto. RTI 2.0 Architecture. |
| [HM02] | S. Hissam, G. Moreno, J. Stafford, K. Wallnau, “Packaging Predictable Assembly”, Proceedings of the First IFIP/ACM Working Conference on Component Deployment, June 2002, Berlin, Germany, LNCS 2370, Springer-Verlag. |
| [Jac95] | Michael Jackson. Software Requirements & Specifications, Addison-Wesley, 1995. |
| [KB02] | R. Kazman, L. Bass, “Making Architecture Reviews Work in the Real World”, IEEE Software, 19:1, Jan./Feb. 2002, 67-73. |
| [KKC00] | R. Kazman, M. Klein, P. Clements, “ATAM: A Method for Architecture Evaluation”, CMU/SEI-2000-TR-004, Software Engineering Institute, Carnegie Mellon University, 2000. |
| [KC99] | R. Kazman, S. J. Carriere, “Playing Detective: Reconstructing Software Architecture from Available Evidence”, Automated Software Engineering, 6:2, April 1999, 107-138. |
| [KK99] | M. Klein, R. Kazman, "Attribute-Based Architectural Styles", CMU/SEI-99-TR-022, Software Engineering Institute, Carnege Mellon University, 1999. |
| [KOV02] | Kazman, O’Brien, Verhoef, “Architecture Reconstruction Guidelines, 2nd Edition”,CMU/SEI-2002-TR-034, Software Engineering Institute, Carnegie Mellon University, 2002. |
| [Kru95] | P. Kruchten. The 4+1 View Model of Architecture. IEEE Software, 12(6):42-50, 1995. |
| [KS01] | K. Wallnau, J. Stafford, “Ensembles: Abstractions for A New Class of Design Problem”, Proceedings of the IEEE 27th Euromicro Conference (Euromicro2001), Warsaw, Poland, September, 2001. |
| [Lat01] | A. Lattanze. Case Study: An Early Exploitation of Product Lines. Software Engineering Institute Technical Note. To be published 2001. |
| [LB+01] | General Usability Scenarios (excerpt from Bass, L., John, B.E., & Kates, J. (2001). Achieving usability through software architecture (CMU/SEI-2001-TR-005). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon Univeristy) |
| [Mar91] | Maranzano. Best Current Practices: Software Architecture Validation. AT&T report, 1991. |
| [Mor93] | Charles R. Morris and Charles H. Ferguson. How Architecture Wins Technology Wars. Harvard Business Review, 71, 2, March-April 1993, pp. 86-96. |
| [NASA01] | Release 6A Segment/Design Specification for the ECS Project, Section 4.4. NASA Report 305-CD-600-001, pages 4-160-185. March 2001. |
| [Nii86] | H. Penny Nii. Blackboard Systems. AI Magazine 7(3):38-53 and 7(4):82-107. |
| [O01] | L. O’Brien, “Architecture Reconstruction to Support a Product Line Effort: Case Study”, CMU/SEI-2001-TR-015, Software Engineering Institute, Carnegie Mellon University, 2001. |
| [OKV00] | L. O’Brien, R. Kazman, C. Verhoef, “Architecture Reconstruction Guidelines”, CMU/SEI-2001-TR-026, Software Engineering Institute, Carnegie Mellon University, 2000. |
| [Par72] | David L. Parnas. On the Criteria To Be Used in Decomposing Systems Into Modules. Communications of the ACM, 15(12):1053-1058, December 1972. |
| [Paw01] | Introduction to the J2EE Platform. Monica Pawlan. March 23, 2001. (Optional) |
| [PCW85] | David Lorge Parnas, Paul C. Clements, and David M. Weiss, "The Modular Structure of Complex Systems", IEEE Transactions on Software Engineering, Vol. SE-11, No. 3, March 1985. |
| [PN86] | R. Prieto-Diaz and J. M. Neighbors. Module Interconnection Languages. Journal of Systems and Software , 6(4), November 1986, pp. 307-334. |
| [Rec92] | Eberhardt Rechtin. The art of systems architecting. IEEE Spectrum October 1992, pp. 66-69. |
| [Rei90] | S. P. Reiss. Connecting Tools Using Message Passing in the Field Environment. IEEE Software, 7(4):57-66, July 1990. |
| [RJB99] | J. Rumbaugh, I. Jacobson, G. Booch, The Unified Modeling Language Reference Manual, Addison Wesley, 1999. pp. 25-39 |
| [SG90] | L. Sha, J. Goodenough, "Real-Time Scheduling Theory and Ada", IEEE Computer, April 1990, 53-62. |
| [SG96] | Mary Shaw and David Garlan. Software Architectures Perspectives on an Emerging Discipline, Prentice Hall, 1996. |
| [SG02] | Joao Pedro Sousa, David Garlan. Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments. The 3rd Working IEEE/IFIP Conference on Software Architecture. Kluwer Academic Publishers, August 25-31, 2002. pp. 29-43. |
| [Sin+02] | Singh et.al., "Designing Enterprise Applications with the J2EE Platform", Second Edition, Addison-Wesley, 2002. PDF available at http://java.sun.com/j2ee/1.3/download.html#blueprints (pages 6-21). This book is a core part of the Java BluePrints program created by Sun at the same time the J2EE platform was introduced. The BluePrints program aims at providing better understanding on how to architect J2EE applications and make effective use of the various technologies available. The other core part of the BluePrints program is the (now famous) PetStore application. The selected pages give an overview of J2EE and shows different J2EE application scenarios. |
| [STR00] | Three Tier Software Architectures. Software Technology Review. CMU SEI. Revision of 16 Feb 2000. |
| [Vin02] | Vinoski, Steve, "Where is Middleware?", IEEE Internet Computing, 1089-7801/02, March/April 2002, pp. 83-85. |
| [Wie92] | Gio Wiederhold, Mediators in the Architecture of Future Information Systems, IEEE Computer Society, March 1992, Vol. 25, No. 3. |