CSE 990
Advanced Software Architecture
Spring 2008

Home | Course Syllabus

Many multi-billion dollar corporations such as Boeing, Raytheon, General Motors, Philips and Nokia are moving towards a software development paradigm called software product line engineering (SPLE). In SPLE software systems are modeled as families of software products, rather than individual programs through the use of a well-defined architectural models that define points of commonality and variability. SPLE provides a way to re-use development artifacts resulting in the reduction of both time to market and overall development costs.

The course will have a substantial independent project and will require strong class participation. Many of the lectures will not be structured. You are expected to read the material assigned and participate in discussions.


This course is a project based course. The first part of the course will consist of structured lectures on architecture and software product lines. The second part of the course will involve reading current literature on related topics. Students will be responsible for leading presentations. This includes creating supplementary overheads to lead the discussion.

Each student will participate in a group project during the course of the semester. They will be expected to become familiar with a particular body of research beyond the classroom lectures. Students will submit a written report, and give an oral presentation of their findings. A list of suggested projects for this course will be available after the first 4 weeks of classes.

To succeed in this course you should have some prior course work in software engineering, CSE 310 and CSE 235 or equivalent.

This document is available at http://www.cse.unl.edu/~myra/classes/cse990_08/syllabus.html

Course Textbook: There is no official text for this course. I will provide handouts and will have the following book available on short term loan in the library. You may keep the book for a loan period of one day from the short term loan desk in the Math the library. Research papers from conferences and journals will be posted on line for you to read.

Topics to be Covered:

(This syllabus will be updated and expanded as the semester progresses. You should use your browser reload button each time to make sure you have the most current version). A detailed schedule of lectures and handouts can be found below.

The grading for the class will be as follows:

 

Detailed Class Schedule:

.
Class Day/Date Topic and Lecture Notes Handouts Assignments
1 Tues. 1/15 Introduction to Course lecture1.pdf References: Return Student Questionnaire to me by email, before next class (1/17).
Reading for Thursday:Software Design and Architecture The once and future focus of software engineering
2 Thurs. 1/17 Future of Software Design lecture2.pdf Reference on AADL Reading for Thursday: A Classification and Comparison Framework for Software Architecture Description Languages
  • Hand in paper review on Thursday, January 24th in class.
3 Tues. 1/22 Introduction to Software Architecture lecture3.pdf    
4 Thurs. 1/24 Architecture Description Languages lecture4.pdf   Download OSATE
5 Tues. 1/29 Introduction to AADL lecture5   Read paper's by Richardson and Muccini for for next Tuesday. No Reviews due.
An AADL assignment due on Thursday, Feb 7th
6 Thurs. 1/31 AADL: Continued lecture6    
7 Tues. 2/5 Testing Architectures lecture7   Read/write Review for Tuesday Modeling Variability
Read (no review) for Tuesday Towards Testing SPLs
8 Thurs. 2/7 Feature Modeling in SPLs: Part I lecture8    
9 Tues. 2/12 Feature Modeling in SPLs: Part I (cont.) and short discussion of SPL Testing Paper lecture9 Note: I added a link on the links page to the OVM modeling tool. Assignment 2 Handed out: Due 2/21
Reading for Thurs (no review): Coverage and Adequacy in SPLs
10 Thurs. 2/14 Discussion of paper review from Tuesday. paperComments.pdf I have updated the links on the project page. Project Proposal suggestions and guidelines Handed out: Due February 26th
11 Tues. 2/19 Testing a Family of Products lecture10    
12 Thurs. 2/21      
13 Tues. 2/26 Case study of Evolution in SPLS lecture11 Paper Requests for Presentations due on 2/27 Read Testing and Inspecting Reusable PL Components testingReuse.pdf
14 Thurs. 2/28 Empirical Study on Testing SPLs lecture12   Read and write review (due Tuesday) on reverse engineering. You should be able to extract the full reference information from the paper.
15 Tues. 3/4 Paper Presentation by E.S.   Read and Write Review: J. Stafford, A.L. Wolf, and D.J. Richardson, Chaining: A Software Architecture Dependence Analysis Technique, University of Colorado Technical Report, CU-CS-845-97, September 1997.
16 Thurs. 3/6 Paper Presentation X.Q.   Read Paper on Program Slicing and write review for Tuesday, 3/11. Reference: J. Beck and D. Eichmann, Program and Interface Slicing for Reverse Engineering, International Conference on Software Engineering, 1993.
17 Tues 3/11 Paper Presentation J.S.    
18 Thurs.3/13     Read Paper on Regression Testing SAs and write review for Tuesday, 3/25. Reference:H. Muccini, M. Dias and D. J. Richardson,Software Architecture-based Regression Testing, Journal of Systems and Software (JSS), Special Issue on "Architecting Dependable Systems".79(10) , Oct. 2006,pp 1379-1396.
  Tues. 3/17 No Class Spring Break    
  Thurs 3/19 No Class - Spring Break    
19 Tues. 3/25 Paper Presentation by M.Z. Paper on C2 Architectural Style: A component- and message-based architectural style for GUI software ICSE 1995. Read Paper: Representing variability in a family of MRI scanners and write review for Tuesday 3/27.
20 Thurs. 3/27 Paper Presentation by M.A.   Read Paper on an embedded SPL case study and write review for Tuesday
21 Tues. 4/1 Paper Presentation by N.Y.   Paper to Read for Thursday: PLFaultCAT
No paper review needed.
22 Thursday 4/3 Lecture Notes   Paper to Read for Tuesday: pluto
No paper review needed.
23 Tuesday 4/8 Lecture Notes Formatting Instructions for final Project  
24 Thurs. 4/10 Lecture Notes   Paper to Read for Tuesday: Stepwise Refinement
25 Tues. 4/15     Paper to Read for Thursday safe composition
26 Thurs. 4/17 Lecture Notes   Paper for Tuesday: Modeling SPLs through Change Sets and Relationships
27 Tues. 4/22 Lecture Notes   Paper for Thursday: A Case Study Implementing Features Using AspectJ
28 Thurs. 4/24      
29 Tue. 4/29 Project Presentations. Class will run until 4PM on this day.
  1. M.Z. and X.Q.:Regression Testing and SPLs
  2. N.Y. and M.A: Domain Analysis for two SPLs in Different Domains
  3. E.S. and J.S. Reverse Engineering an SPL
   
30 Thur. 5/1   Final Reports Due Friday 5/2 5PM