C S X92F C S 392F Automated Software Design 3 Hours
3 Lecture Hours 0 Lab Hours
Model-driven engineering; UML metamodels and constraints, model transformations, software product lines, feature models, feature modularity, feature algebras, feature interactions, multi-dimensional separation of concerns, design-by-transformation, parallel software architectures, correct-by-construction, architecture refinement, optimization, and extension, program refactorings, design patterns, refactoring scripts, category theory, functors, commuting diagrams. Computer Science 392F and 395T (Topic: Feature-Oriented Programming) may not both be counted. Three lecture hours a week for one semester.
Pre/Corequisites: Graduate standing, and a basic knowledge of Java, compilers and grammars, and object-oriented design methods.
Grading: Student Option
Repeatable for credit: No
Academic Level: Doctoral