Time: 9:30am - 10:45am Tuesday and Thursday
Classroom: EB 133
Instructor: Jeff Gray
Office: CH 126
Phone: 934-8643
Email: gray (at) cis.uab.edu
Course URL: http://www.cis.uab.edu/info/dept/courses/cs692/index.html
Office Hours: Tuesday/Wednesday/Thursday – 1:00pm-2:00pm
(or by appointment, of course – feel free to call/email)
Course Goals
Reflection and metaprogramming are useful techniques that provide support for adaptive systems. Reflection permits a program to inquire about its own state at run-time (called introspection), and, in some cases, permits the modification of the semantics of the run-time system itself (called intercession).
This course will examine the principles of reflection and metaprogramming in several contexts. The general topics of the course will be:
· An introduction to the history and literature of reflection and metaprogramming
· A review of the types of reflection supported in conventional languages, and some of the implementation drawbacks (e.g., Java)
· Experimentation with several research prototypes that support novel ideas in reflection
· Applications of these techniques to distributed object computing (e.g., literature on reflective middleware)
· Issues and tool exposure to metamodeling and domain modeling using Model-Integrated Computing (MIC)
· Topics within the area of Aspect-Oriented Software Development (AOSD) will be studied in the course
Textbook
There is no formal textbook for this course. The course web site will contain a list of the required readings, as well as other related papers/books. You will be given URLs, if they exist, to each paper so that you can obtain the paper well in advance of the designated class. If a paper is not available on the web, I will place a hardcopy of the paper in a common location within the department so that you can copy it.
Grade Determination
Your final grade for this course will be determined by the following items:
Quizzes: 20%
Homework: 30%
Midterm: 20%
Final: 30%
There will be a total of 12 quizzes. You will be able to drop the two lowest scores (that is, only the top 10 scores will count toward your overall quiz grade). There will be NO makeup quizzes.
There will be NO makeup exams.
Homework is due at the beginning of class.
Honor Statements
Each student is to do his or her own work. This means that you are not to seek out the help of other students ( or give help, if asked) in order to solve specific problems of your homework assignments. It also means that you should not sign up for mailing lists and ask for detailed help from others on the net. Of course, you may discuss generalities about an assignment with your fellow students. If you are unsure of what is permitted, in terms of discussing an assignment problem, please ask me for clarification.
Please turn off all cell phones and pagers while you are in lecture.
Please arrive on time so that you do not cause a disruption in the middle of class.
Disabilities
If you have any disability that would put you at a disadvantage in performing an assignment, or in taking an exam, please meet with me privately to discuss ways in which I can assist you as you perform the required work in this course.