Real Time Systems - Syllabus

Course Overview and Structure

Embark on a profound academic exploration as you delve into the Real Time Systems course (RTS) within the distinguished Tribhuvan university's CSIT department. Aligned with the 2065 Syllabus, this course (CSC-354) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 80 + 20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.

This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.


Course Description: This course familiarizes students with different concepts of real time systems mainly focusing on scheduling, access control, memory management, optimization, and real time communications.

Course Objective: The main objective of this course is to provide core knowledge of different concepts of real time system which will enhance the student capacity in building real time systems.

Units

Key Topics

  • Introduction to E-commerce
    IN-1

    Overview of E-commerce and its significance in the digital age.

  • E-business vs E-commerce
    IN-2

    Understanding the differences between E-business and E-commerce.

  • Features of E-commerce
    IN-3

    Key characteristics and benefits of E-commerce.

  • Pure vs Partial E-commerce
    IN-4

    Types of E-commerce models and their applications.

Key Topics

  • Basic Exceptions
    HA-1

    Understanding the concept of exceptions and how they are used in Java programming. This topic covers the basics of exceptions and their importance in error handling.

  • Proper use of exceptions
    HA-2

    Best practices for using exceptions in Java programming, including when to use them and how to handle them effectively.

  • User defined Exceptions
    HA-3

    Creating custom exceptions in Java to handle specific error scenarios, and how to use them in programming.

  • Catching Exception: try, catch
    HA-4

    Using the try-catch block to catch and handle exceptions in Java, including how to write effective catch blocks.

  • Throwing and re-throwing: throw, throws
    HA-5

    Understanding how to throw and re-throw exceptions in Java using the throw and throws keywords.

Key Topics

  • Relational Database Design Using ER-to-Relational Mapping
    RE-1

    Learn how to design relational databases using ER-to-relational mapping, including mapping of regular entities, weak entities, relationship types, multivalued attributes, and N-ary relationships.

  • Informal Design Guidelines for Relational Schemas
    RE-2

    Understand informal design guidelines for relational schemas, including semantics of attributes in relations, redundant information in tuples and update anomalies, NULL values in tuples, and generation of spurious tuples.

  • Functional Dependencies
    RE-3

    Study functional dependencies, including definition, inference rules, Armstrong's axioms, attribute closure, equivalence of functional dependencies, and minimal sets of functional dependencies.

  • Normal Forms Based on Primary Keys
    RE-4

    Explore normal forms based on primary keys, including First Normal Form, Second Normal Form, Third Normal Form, and their general definitions.

  • Boyce-Codd Normal Form
    RE-5

    Learn about Boyce-Codd Normal Form, a higher normal form that ensures a relational schema is in a good structure.

  • Multivalued Dependency and Fourth Normal Form
    RE-6

    Understand multivalued dependency and Fourth Normal Form, which eliminates multivalued dependencies in a relational schema.

  • Properties of Relational Decomposition
    RE-7

    Study properties of relational decomposition, including attribute preservation, dependency preservation, and loss-less/non-additive join.

  • Applications of Recursion
    RE-8

    This topic explores the various applications of recursion in problem-solving, including tree traversals and dynamic programming.

Clock-driven approach, Weighted round-robin approach, Priority-driven approach, Dynamic versus static system, Effective release times and deadlines, Optimality of the EDF and LST algorithms, Nonoptimality of the EDF and LST algorithms, Challenges in validating timing constraints in priority-driven systems, Off-line versus on-line scheduling,

Key Topics

  • Common Client-side Web Technologies
    CL-1

    This topic covers the fundamental technologies used on the client-side of web development, including HTML, CSS, and JavaScript.

  • JQuery
    CL-2

    This topic explores the use of JQuery, a popular JavaScript library, for client-side scripting and DOM manipulation.

  • Forms and Validation
    CL-3

    This topic discusses the importance of form validation and how to implement it using ASP.NET Core, including client-side and server-side validation techniques.

  • Single Page Application (SPA) Frameworks
    CL-4

    This topic introduces Single Page Application (SPA) frameworks, including Angular and React, and their role in building dynamic and interactive client-side applications.

  • Software-as-a-Service (SaaS)
    CL-5

    SaaS implementation issues, key characteristics of SaaS, benefits of the SaaS model.

  • Jericho Cloud Cube Model
    CL-6

    A cloud service model framework.

  • User Defined Objects
    CL-10

    Creating custom objects with properties and methods.

  • Graphic Presentation
    CL-7

    Graphic presentation involves using graphs such as histograms, frequency polygons, and frequency curves to present data. It is a visual way of presenting data, making it easy to understand and analyze.

  • Histogram
    CL-8

    A histogram is a type of graph that uses bars to represent the frequency of different ranges of values. It is commonly used to display continuous data.

  • Frequency Polygon
    CL-9

    A frequency polygon is a type of graph that uses lines to connect the points representing the frequency of different ranges of values. It is commonly used to display continuous data.

Key Topics

  • Project Management Techniques
    PR-1

    This topic covers various project management techniques used to plan, organize, and control projects. It includes developing project management plans and implementing, monitoring, and controlling projects.

  • Collaborative Development Environment
    PR-2

    This topic focuses on creating an environment that fosters collaboration and teamwork. It includes communications planning, organizing and conducting effective meetings, and other collaborative development strategies.

  • Inter Process Communication
    PR-3

    Methods of communication between processes, including race conditions and critical sections.

  • Implementing Mutual Exclusion
    PR-4

    Techniques for achieving mutual exclusion, including busy waiting, sleep and wakeup, semaphores, monitors, and message passing.

  • Classical IPC Problems
    PR-5

    Solutions to classic inter-process communication problems, including producer-consumer, sleeping barber, and dining philosopher problems.

  • Process Scheduling
    PR-6

    Goals and techniques for scheduling processes, including batch, interactive, and real-time systems.

  • Deadlock Prevention
    PR-7

    This topic covers deadlock prevention techniques, which ensure that deadlocks cannot occur by preventing one of the necessary conditions for deadlock.

  • Deadlock Avoidance
    PR-8

    This topic discusses deadlock avoidance techniques, which ensure that the system will never enter a deadlock state.

Assumptions and approaches, Deferrable servers, Sporadic servers, Constant utilization, total bandwidth, and weighted fair-queuing servers, Slack stealing in deadline-driven systems, Slack stealing in fixed-priority systems, Scheduling of sporadic jobs, Real-time performance for jobs, with soft timing constraints, Low-level scheme for integrated scheduling

Key Topics

  • Relational Database Design Using ER-to-Relational Mapping
    RE-1

    Learn how to design relational databases using ER-to-relational mapping, including mapping of regular entities, weak entities, relationship types, multivalued attributes, and N-ary relationships.

  • Informal Design Guidelines for Relational Schemas
    RE-2

    Understand informal design guidelines for relational schemas, including semantics of attributes in relations, redundant information in tuples and update anomalies, NULL values in tuples, and generation of spurious tuples.

  • Functional Dependencies
    RE-3

    Study functional dependencies, including definition, inference rules, Armstrong's axioms, attribute closure, equivalence of functional dependencies, and minimal sets of functional dependencies.

  • Normal Forms Based on Primary Keys
    RE-4

    Explore normal forms based on primary keys, including First Normal Form, Second Normal Form, Third Normal Form, and their general definitions.

  • Boyce-Codd Normal Form
    RE-5

    Learn about Boyce-Codd Normal Form, a higher normal form that ensures a relational schema is in a good structure.

  • Multivalued Dependency and Fourth Normal Form
    RE-6

    Understand multivalued dependency and Fourth Normal Form, which eliminates multivalued dependencies in a relational schema.

  • Properties of Relational Decomposition
    RE-7

    Study properties of relational decomposition, including attribute preservation, dependency preservation, and loss-less/non-additive join.

  • Applications of Recursion
    RE-8

    This topic explores the various applications of recursion in problem-solving, including tree traversals and dynamic programming.

  • Efficiency of Recursion
    RE-9

    This topic discusses the efficiency of recursive algorithms, including time and space complexity analysis.

  • Network Flow Optimization
    RE-10

    Optimization techniques for network flows, including maximal flows, minimal cuts, and the Max Flow-Min Cut Theorem.

  • Controlling Concurrent Accesses to Data Objects
    RE-11

    This topic discusses the importance of controlling concurrent accesses to data objects in real-time systems and presents techniques for achieving this control.

Model of multiprocessor and distributed systems, Task assignment, Multiprocessor priority-ceiling protocol, Elements of scheduling algorithms for end-end periodic tasks, End-to-end tasks in heterogeneous systems, Predictability and validation of dynamic multiprocessor systems.

Key Topics

  • Relational Database Design Using ER-to-Relational Mapping
    RE-1

    Learn how to design relational databases using ER-to-relational mapping, including mapping of regular entities, weak entities, relationship types, multivalued attributes, and N-ary relationships.

  • Informal Design Guidelines for Relational Schemas
    RE-2

    Understand informal design guidelines for relational schemas, including semantics of attributes in relations, redundant information in tuples and update anomalies, NULL values in tuples, and generation of spurious tuples.

  • Functional Dependencies
    RE-3

    Study functional dependencies, including definition, inference rules, Armstrong's axioms, attribute closure, equivalence of functional dependencies, and minimal sets of functional dependencies.

  • Normal Forms Based on Primary Keys
    RE-4

    Explore normal forms based on primary keys, including First Normal Form, Second Normal Form, Third Normal Form, and their general definitions.

  • Boyce-Codd Normal Form
    RE-5

    Learn about Boyce-Codd Normal Form, a higher normal form that ensures a relational schema is in a good structure.

  • Multivalued Dependency and Fourth Normal Form
    RE-6

    Understand multivalued dependency and Fourth Normal Form, which eliminates multivalued dependencies in a relational schema.

  • Properties of Relational Decomposition
    RE-7

    Study properties of relational decomposition, including attribute preservation, dependency preservation, and loss-less/non-additive join.

Lab works

The laboratory work should focus on implementation of concepts related to scheduling, memory management, synchronization and optimization using suitable simulators and programming languages. There should also be a case study in group with at most 4 students focusing on any real time system implemented system.