University of Ontario Institute of Technology Faculty of Engineering and Applied Science ENGR 4830U: Real Time Systems Design and Control COURSE OUTLINE Course Objectives This is a fourth year course in the software design sequence in the Software Engineering curriculum. It briefly highlights the role of software process, requirements specification, systems architecture analysis and design, pattern based mid-level design, and how the aforementioned apply to the design and development of real-time embedded systems. The course focuses on object-oriented design principles for real-time systems, multi-tasking, communications, and synchronization in a real-time environment. Quality attributes, such as robustness, and fault tolerance, are also considered. Particular elements of UML, such as sequence and timing diagrams, as applicable to handling real-time requirements, are reinforced hands-on. Through a series of exercises and assignments, the course discusses one real-world design problem, a train traffic control system. The goal is to produce software requirements, and design artifacts, such as UML diagrams, to depict real-time scenarios and behaviors. The techniques learned will be applied to the lab component of the course. Course Outcomes Students mastering this course should have knowledge and understanding of the following areas: UML modeling concepts for real-time systems Structural and behavioral UML elements and diagrams Harmony development process Specifying requirements for real-time systems Specifying system architectures for real-time systems Object analysis and identification Architectural design for concurrency, safety, and reliability Software design patterns and detailed design Prerequisites ENGR 3950U Course Organization Three lecture hours, two hours tutorial per week, and three hours of lab bi-weekly, for one semester. Required Course Text and Other Materials Real-Time UML Workshop for Embedded Systems, Bruce Powel Douglass, Newnes 2007 Real-Time UML, Third Edition: Advances in the UML for Real-Time Systems, Bruce Powel Douglass, Addison-Wesley, 2004 Reference Books and Information Sources Introduction to Software Engineering Design, Fox, C. 1st Edition, Addison-Wesley, 2007 Design Patterns – Elements of Reusable Object-Oriented Software, Gamma et al. 1st Edition, Addison-Wesley, 1995 Software Engineering, Sommerville, 8th Edition, International Computer Science Series, 2007 Course Evaluation Note: you MUST pass the final exam to pass the course. In-class design activities, assignments, lab experiments, project and presentation are due as per specifications in WebCT. The number of in-class design activities may be subject to change upon further notice via WebCT. In-class design activities (twenty) Assignments (five) Lab experiments (five), project and presentation Exam 25% 25% 25% 25% Total 100% Detailed Course Content Week Topic Chapter Real-Time UML tutorial 1 2 Basic modelling concepts; structural elements and diagrams Behavioural elements and diagrams; the Harmony development process 1-4 5-7 Real-Time UML workshop 3 4 5 6 7 8 9 10 11 12 13 14 Specifying requirements – use case model Specifying requirements – quality of service requirements Systems architecture – organizing system model Midterm break Systems architecture – subsystem identification Object analysis – identify messages and information flow; identify real-world items Object analysis – physical devices, transactions Architectural design – concurrency, distribution Architectural design – safety, reliability Software patterns and detailed design – delegation pattern Software patterns and detailed design – interface abstraction pattern Lab project presentations 3 3 4 4 5 5 6 6 7 7 Tutorials During tutorials the TA will solve particular problems from the textbook. This includes the usage of a UML tool to create real-time design artifacts. The TA will answer limited questions pertaining to the assignments prior to their due dates, and review and mark the assignments following their final submission dates. The TA will also mark the in-class design activities. Labs The lab entails a project that covers the design and development of a software application that controls a real-life system, a train traffic control system, in real-time. The students are expected to apply their knowledge they have gained in class and the tutorials, to the lab project. The goal of the lab project is to control the system such that it operates smoothly and performs according to certain pre-defined requirements. In the case of the model train set, for example, this means that trains have to run on schedule without collisions. The software application will communicate with the system in real-time i.e. send and receive control messages. The TA will administer and oversee the lab activities. Besides the lab project, the lab will also entail several individual self-contained experiments. The students are expected to conduct software design and implementation activities prior to the lab sessions. The purpose of the lab sessions is for the students to demonstrate and validate their implemented design (individual experiments and lab project). The students are also expected to provide a summarizing presentation of their lab project prior to the end of the term. The TA will mark the lab experiments, project, and presentation. Computer Experience IBM Rational Software Architect, Java Course Content Breakdown (following categories defined by the Canadian Engineering Accreditation Board’s Accreditation Criteria and Procedures report, available at http://ccpe.ca/e/files/report_ceab.pdf) Mathematics: Basic Science: Engineering Science: Engineering Design: Complementary Studies: Total: 00% 00% 80% 20% 00% 100% Other Information SOME IMPORTANT GENERAL INFORMATION OF RELEVANCE TO THE COURSE Academic Integrity and Conduct UOIT is committed to the fundamental values of preserving academic integrity as defined in UOIT policies and contained in the UOIT Calendar. Students should familiarize themselves with UOIT’s policies and statements in this area. Acts of academic dishonesty, including plagiarism, cheating, aiding others in cheating, and examination impersonation, will be dealt with severely as they threaten the integrity of the academic system and are not acceptable. UOIT and faculty members reserve the right to use electronic means to detect and help prevent plagiarism. Students agree that by taking this course all assignments are subject to submission for textual similarity review to Turnitin.com. Assignments submitted to Turnitin.com will be included as source documents in Turnitin.com's restricted access database solely for the purpose of detecting plagiarism in such documents for five academic years. The faculty member may require students to submit their assignments electronically to Turnitin.com or the faculty member may submit questionable text on behalf of a student. The terms that apply to UOIT's use of the Turnitin.com service are described on the Turnitin.com website. (To read the entire policy, please go to: http://www.uoit.ca/EN/academicintegrityfaculty/main/219589/turnitin.html.) Group Projects, Assignments, Mid-term, Exam As a group you are responsible for all group projects and assignments. If a group assignment is handed in late, all members of the group will be penalized. If one student is found to be guilty of plagiarism or cheating, the entire group will receive the same penalty as determined by the instructor. The only difference in group members’ marks on group assignments will be based on a peer evaluation done at the end of the term. No late assignments will be accepted without prior approval from the instructor. If you cannot write an exam, or need an extension for an assignment due to medical reasons you MUST notify the instructor as soon as possible before submitting any work. Medical certificates MUST be sent DIRECTLY from the Doctor’s Office or Hospital within 5 days by mail or preferably by fax to the Academic Advisor of FEAS (fax number 905-721-3370 attn: Academic Advisor). A fee for the deferral must be paid by the student if the Medical certificate is valid and arrives on time. Failure to comply with the above will result in an F for the mid-term and/or the final exam. The deferred exam will be either written or oral at the discretion of the instructor. Mid-term and exam are both open book, and laptop. However, you MUST NOT have access to the Internet (wireless, and/or Ethernet) during the mid-term and/or exam. Failure to comply with this rule will result in an F for the mid-term and/or the final exam. Special Consideration Consideration will be given to students who make significant improvements throughout the term. Student Identification You must bring your UOIT student ID card to the mid-term and final exam. Failure to do so will result in an F for the mid-term and/or the final exam. Communication Devices Usage of cell phones or other similar devices of disruptive nature are not allowed in course related events such as lectures, labs, tutorials, mid-term, and exam. Accessibility To insure that disability-related concerns are properly addressed during this course, students with documented disabilities and who may require assistance to participate in this class are encouraged to speak with their instructor as soon as possible. Students who suspect they may have a disability that may affect their participation in this course are advised to go to the Centre for Students with Disabilities (room B297) as soon as possible. Approved by (indicating approval of Faculty’s Curriculum Committee): Mikael Eklund Date: