Model-Driven Architecture

What Is This Course About?

This course gives a broad but solid introduction to software modeling approaches, specifically, Model-Driven Architecture (MDA). We cover various aspects of MDA and consider its applications in different domains. All theoretical concepts are accompanied with practical real-world examples. The goal is to empower students to design complex software that performs reliably and correctly. After taking this course, a student will be able to design software and analyze its properties using MDA, specifically to:

  • Start the process of creating a formal specification;
  • Formulate a problem formally;
  • Deal with appropriate abstractions;
  • Build and manipulate models, and to
  • Integrate MDA with existing system development processes.
     

Topics

No mandatory textbook. Research papers and handouts will be made available for the following topics:

  • Software Architectures, Modeling Software, and Model-Driven Architecture (MDA)
  • Floyd-Hoare Logic (FHL) and Program Verification Using FHL
  • Modeling software with Alloy Analyzer
  • Unified Modeling Language (UML) and Executable UML
  • Building Models With The Object Constraint Language (OCL)
  • Metamodeling
  • Domain-Specific Languages
  • Transformations and Code Generators
  • Model-Based Testing: Using Models in Software Testing
  • Symbolic Execution
  • Modeling Cloud Computing Applications.
     

 

[Home] [Research] [Publications] [Grants and Awards] [Teaching] [Software Engineering] [Formal Methods] [Computer Security] [Distributed Object Programming] [Model-Driven Architecture] [Object-Oriented Languages and Environments] [Consulting] [Curriculum Vitae] [Personal]