isd_iisem_me-v1_pdf

220
1 COURSE DETAILS DATABASE TECHNOLOGY Subject Code : CS9221 Subject Name : Database Technology Semester : ME (CSE) II Semester Prepared By : Mr.M.Arun Approved By : Dr.K.Muneeswaran Effective Date : 06.02.2013 Revision No : 1 Course Objective: 1. To explain the principles of Distributed database for designing 2. To narrate the concepts of Object oriented databases to real world 3. To elaborate the process of Enhanced data model design 4. To examine the techniques to deploy the client server model 5. To discuss the big data storage using Data Warehouse 6. To identify the patterns using Data Mining techniques 7. To describe the design issues of various emerging databases like web databases and mobile databases 8. To frame a database for a given application 9. To work with the concepts of temporal database 10. To identify the research issues in database design 11. To justify the use of particular database among various databases 12. To illustrate the principles of Distributed database for designing! 13. To explain the concepts of Object oriented databases to real world Course Prerequisite: Data structure Algorithms Operating System-DBMS- Any programming language Course OutcomesProgramme Outcomes mapping (3- Substantially, 2-Moderately, 1-Slightly) S. No Course Outcomes Programme Outcomes 1 2 3 4 5 6 7 8 9 10 11 12 1. To apply the principles of Distributed database for designing 2 3 2 1 2. To apply the concepts of Object oriented databases to real world 1 2 3 2 3. To design an Enhanced data model 2 3 4. To deploy the client server model 1 3 2 2 2 2 2 5. To store big data using Data Warehousing techniques 2 3 2 2 2 2 2 6. To retrieve the patterns using Data Mining techniques 1 2 3 3 2 1 7. To identify the design issues of 2 3

Upload: nvrsayno

Post on 03-Jan-2016

675 views

Category:

Documents


4 download

DESCRIPTION

ISD

TRANSCRIPT

1

COURSE DETAILS – DATABASE TECHNOLOGY

Subject Code : CS9221

Subject Name : Database Technology

Semester : ME (CSE) II Semester

Prepared By : Mr.M.Arun

Approved By : Dr.K.Muneeswaran

Effective Date : 06.02.2013

Revision No : 1

Course Objective:

1. To explain the principles of Distributed database for designing

2. To narrate the concepts of Object oriented databases to real world

3. To elaborate the process of Enhanced data model design

4. To examine the techniques to deploy the client server model

5. To discuss the big data storage using Data Warehouse

6. To identify the patterns using Data Mining techniques

7. To describe the design issues of various emerging databases like web databases

and mobile databases

8. To frame a database for a given application

9. To work with the concepts of temporal database

10. To identify the research issues in database design

11. To justify the use of particular database among various databases

12. To illustrate the principles of Distributed database for designing!

13. To explain the concepts of Object oriented databases to real world

Course Prerequisite:

Data structure – Algorithms – Operating System-DBMS- Any programming language

Course Outcomes–Programme Outcomes mapping

(3- Substantially, 2-Moderately, 1-Slightly)

S. No Course Outcomes Programme Outcomes

1 2 3 4 5 6 7 8 9 10 11 12

1. To apply the principles of Distributed

database for designing 2 3 2 1

2. To apply the concepts of Object

oriented databases to real world 1 2 3 2

3. To design an Enhanced data model 2 3

4. To deploy the client server model 1 3 2 2 2 2 2

5. To store big data using Data

Warehousing techniques 2 3 2 2 2 2 2

6. To retrieve the patterns using Data

Mining techniques 1 2 3 3 2 1

7. To identify the design issues of 2 3

2

various emerging databases like web

databases and mobile databases

8. To design of database for a given

application 3 2 2 1 2 3 2

9. To design of temporal database 2 3 2 1 2 3 2 2

10. To identify the research issues in

database design 1 2 3 2 2 2 2 2

11. To justify the use of particular

database among various databases 1 3 2 2 3 3 2 1

12. To apply the principles of Distributed

database for designing 3 3 2 2 1

13. To apply the concepts of Object

oriented databases to real world 3 3 2 2 2 2 2

Concept Map Diagram

3

Syllabus (Prescribed by Anna University)

UNIT I DISTRIBUTED DATABASES 5

Distributed Databases Vs Conventional Databases – Architecture – Fragmentation – Query

Processing – Transaction Processing – Concurrency Control – Recovery.

UNIT II OBJECT ORIENTED DATABASES 10

Introduction to Object Oriented Data Bases - Approaches - Modeling and Design - Persistence –

Query Languages - Transaction - Concurrency – Multi Version Locks - Recovery.

UNIT III EMERGING SYSTEMS 10

Enhanced Data Models - Client/Server Model - Data Warehousing and Data Mining - Web

Databases – Mobile Databases.

UNIT IV DATABASE DESIGN ISSUES 10

ER Model - Normalization - Security - Integrity - Consistency - Database Tuning - Optimization

and Research Issues – Design of Temporal Databases – Spatial Databases.

UNIT V CURRENT ISSUES 10

Rules - Knowledge Bases - Active and Deductive Databases - Parallel Databases – Multimedia

Databases – Image Databases – Text Database

TOTAL-45 H

REFERENCES:

R1. Elisa Bertino, Barbara Catania, Gian Piero Zarri, “Intelligent Database Systems”, Addison-

Wesley, 2001.

R2. Carlo Zaniolo, Stefano Ceri, Christos Faloustsos, R.T.Snodgrass, V.S.Subrahmanian,

“Advanced Database Systems”, Morgan Kaufman, 1997.

R3. N.Tamer Ozsu, Patrick Valduriez, “Principles of Distributed Database Systems”, Prentice Hal

International Inc., 1999.

R4. C.S.R Prabhu, “Object-Oriented Database Systems”, Prentice Hall Of India, 1998.

R5. Abdullah Uz Tansel Et Al, “Temporal Databases: Theory, Design and Principles”, Benjamin

Cummings Publishers, 1993.

R6. Raghu Ramakrishnan, Johannes Gehrke, “Database Management Systems”, Mcgraw Hill,

Third Edition 2004.

R7. Henry F Korth, Abraham Silberschatz, S. Sudharshan, “Database System Concepts”, Fourth

Ediion, Mcgraw Hill, 2002.

R8. R. Elmasri, S.B. Navathe, “Fundamentals Of Database Systems”, Pearson Education,

4

COURSE SCHEDULE

Sl.

No Topics (EL stands for Embedded Laboratory)

No. of

Periods

Date of

coverage

MODULE I: DISTRIBUTED DATABASES

1.

Introduction to Distributed Processing, Distributed

database 1

2. Architecture 1

3. Distribution design issues 1

4. Fragmentation 2

5. Query processing and Optimization 2

6. Transaction Processing 2

7. Concurrency control 2

8. Recovery 2

Sub Total 13

MODULE II: OBJECT ORIENTED DATABASES

9. Introduction to Object Oriented Data Bases 1

10. Approaches 1

11. Modeling and Design 2

12. Persistence 1

13. Query Languages 2

14. Transaction 1

15. Concurrency 1

16. Multi Version Locks, Recovery. 2

Sub Total 11

MODULE III: EMERGING SYSTEMS

17. Enhanced data model 2

18. Client Server model 1

19. Data warehousing 2

20. Data mining 1

21. Web database 2

5

Sl.

No Topics (EL stands for Embedded Laboratory)

No. of

Periods

Date of

coverage

22. Mobile database 2

Sub Total 10

MODULE IV: DATABASE DESIGN ISSUES

23. ER Model 1

24. Normalization 1

25. Security 1

26. Integrity 1

27. Consistency 2

28. Database Tuning 1

29.

Optimization

and Research Issues

1

30. Design of Temporal Databases 2

31. Spatial database 1

Sub Total 11

MODULE V: CURRENT ISSUES

32. Rules - Knowledge Bases 2

33. Active Databases 1

34. Deductive Databases 1

35. Parallel Databases 2

36. Multimedia Databases 1

37. Image Databases 1

38. Text Database 1

Sub Total 09

Total No. of periods 54

6

DELIVERY PLAN FOR THE LEARNING UNITS (LU)

MODULE I - DISTRIBUTED DATABASES – Overview

This module briefs the differences between distributed database and conventional database. This

deals with distributed database architecture. This explains the distributed storage techniques like

fragmentation. This module deals with distributed query processing, transaction processing, and

concurrency control. This module overviews the recovery techniques.

.

LU -1: Distributed Databases Vs Conventional Databases – Architecture (2 Period)

LU Objectives

1. To Identify the difference between distributed database and conventional database 2. To apply the architecture of the distributed database for designing.

LU Outcomes

1. Differentiate distributed database and conventional database 2. Identify the components of the distributed database architecture

Resource Reference

1. R3:ch1 & R3:ch4

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No

Test Questions Level

1. Define homogeneous database R

2. Define heterogeneous database R 3. What is distributed database? R 4. What is centralized database? R

5. Mention the different types of distributed database architecture R 6. Explain any one distributed database architecture R

LU -2: Distribution design issues -Fragmentation (1 Period)

LU Objectives

1. Design distributed data storage for the given data 2. Apply distributed query processing mechanisms to solve data retrieval problems

LU Outcomes

1. Identify the different data storage methods

2. Design of distributed data storage using fragmentation 3. Generate distributed query processing steps for data retrieval

Resource Reference

1. R3:ch5 & R7:ch19

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

7

Sl.No Test Questions Level 1. What is horizontal fragmentation? R 2. What is vertical fragmentation?

in the C language

R

3. Given relation EMP let p1: TITLE < “Programmer” and p2: TITLE > “Programmer” be two simple predicates. Assume that character strings

have an order among them, based on the alphabetical order. Perform a horizontal fragmentation of relation EMP with respect to {p1, p2}. Explain

why the resulting fragmentation (EMP1, EMP2) does not fulfil the correctness rules of fragmentation

A

LU3: Query processing and optimization (1 Period)

LU Objectives

1. To explain the objectives of query processing

2. To explain the characteristics and layers of query processing LU Outcomes

1. Identify the query processing mechanisms. 2. Realize the characteristics and layers of query processing

Resource Reference

1. R3:ch7,8 & R7:ch19

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define query processing in a distributed environment. R 2. Illustrate the importance of site selection and communication for a chosen

relational algebra query against a fragmented database. R

3. List the characteristics of distributed query processing. R 4. Describe the layer architecture of query processing R

5. What is query optimization?

U

LU4: Transaction Processing (1 Period)

LU Objectives

1. To explain the principles of distributed transaction processing 2. To differentiate distributed and centralized transaction processing.

LU Outcomes

1. Identify examples for distributed transaction processing. 2. Specify the principles of distributed transaction processing

3. Identify the difference between distributed and centralized transaction processing.

Resource Reference

1. R3:ch10 & R7:ch19

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

8

1. Explain the difference between distributed and centralized transaction processing

R

2. With example explain distributed and remote transactions R

3. Write about two phase commit mechanism R

LU5: Concurrency control - (1 Period)

LU Objectives

1. To study various concurrency control protocol

2. To understand the concept of concurrency control in distributed environment LU Outcomes

1. Present the methods of concurrency control 2. Implement the concurrency control techniques in distributed system

Resource Reference

1. R3:CH11 & R7:CH16

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is concurrency control in distributed environment? R

2. Explain about locking protocols. R 3. Give the advantages and disadvantages of primary copy 2PL protocol and

distributed 2PL protocol. R

4. Write about time stamp based protocols with example. R 5. Explain distributed dead lock management and also discuss how it differs

from centralized deadlock management.

U

6. Explain the types of distributed deadlock detection. R

LU6: Recovery (1 Period)

LU Objectives

1. To apply recovery techniques in case of data loss 2. To study various recovery techniques and apply

LU Outcomes

1. Explore various recovery techniques for different kinds of data loss 2. Implement the recovery schemes for data loss

Resource Reference

1. R7:CH17

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define fuzzy check point R

2. What is write ahead logging (WAL) R

3. Explain shadow paging R 4. Explain ARIES technique for recovery. R 5. Quote any two situations where shadow paging is applicable.

U

9

MODULE-II - OBJECT ORIENTED DATABASES - Overview

This module introduces the object oriented database. It deals with approaches and design. This

explains the persistence concepts. This module overviews transaction processing, concurrency

control and recovery techniques for object oriented database.

LU7: Introduction to Object Oriented Data Bases (1 Period)

LU Objectives

1. To apply the concepts of Object Oriented Data Bases. 2. To define object oriented database and study various concepts involved

LU Outcomes

1. Realize the need of object oriented database

2. Work with object oriented database and the terms used

Resource Reference

1. R4:CH1,W2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are complex data? R 2. What are the limitations of conventional database? R

3. Why we go for object oriented database? U 4. Name any two applications where OODB is used. A 5. Define persistent object. Give e.g. R

6. Define transient object. Give e.g. R 7. Define object oriented database. R

8. Give examples of Object Oriented Database. R

9. Differentiate object oriented database and object relational database. R

LU -8: Approaches (1 Period)

LU Objectives

1. To study the various approaches of object oriented database

2. To design of object oriented database

LU Outcomes

1. Elaborate the various approaches involved in the object oriented database

2. Illustrate abstract object, descriptor object and behavioral object and model object oriented database

10

Resource Reference

1. R4:CH2 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. List the approaches used for designing object oriented database R

2. Give examples for relational extension approach. U 3. Briefly discuss about object oriented databases Sembase, Daplex, IFO. L

4. What is an object? A 5. What is behavioral object? L 6. Define generalization. A

7. Define specialization. A

8. What is encapsulation? R

9. Design an object oriented database for a car manufacturing company.

A

LU -9: Modeling and Design-persistence (1 Period)

LU Objectives

1. To define the concept of persistence.

2. To elaborate the need for persistent programming language and discuss persistent C++ System

LU Outcomes

1. Realize the need for persistent programming language 2. Design using ODMG C++ object definition language and ODMG C++ object manipulation

language

Resource Reference

1. R7:CH8

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. What is persistent programming language? R 2. Differentiate persistent programming language and embedded SQL. R

3. Define iterators. A 4. Write the persistent C++ definition for the object branch with attributes

branch-name, address and assets.

A

LU -10: Query Languages (2 Periods)

LU Objectives

1. To analyze the features of SQL.

2. To understand the need for query languages. 3. To classify the SQL

LU Outcomes

11

1. Identify the characteristics of SQL. 2. Realize the applications of SQL 3. Apply DDL,DML,DCL,TCL in SQL syntax

Resource Reference

1. R7:CH8

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Explain about Procedural language. U 2. Explain about non-procedural language. U

3. List the shared variables in embedded SQL. U 4. List the three main approaches to database programming. What are the

advantages and disadvantages of each approach?

R

5. When are stored procedures useful? Give an example. L 6. What is meant by SQL? R

7. State the need for SQL. R 8. What are the advantages of SQL? R

9. What is meant by database schema? R 10. What are the basic data types available for attributes in SQL R

11. Define Primary Key. R 12. Define Candidate Key R 13. Define Super key. R

14. How can the key and foreign key constraints be enforced by the DBMS? L 15. How does SQL implement the entity integrity and referential integrity

constraints of the relational data model? Explain with an example.

L

16. Explain how the GROUP BY clause works. What is the difference between the WHERE and HAVING clause?

L

17. Discuss how NULLs are treated in comparison operators in SQL. How are NULLs treated when aggregate functions are applied in an SQL query? How are NULLs treated if they exist in grouping attributes?

L

LU -11 - EL Transaction- Concurrency Multi Version Locks - Recovery 2- (2 Periods)

LU Objectives

1. To Understand transaction processing in object oriented database environment

2. To Elaborate concurrency control mechanism in OODB 3. To Identify various recovery techniques

LU Outcomes

1. Elaborate transaction processing in OODB 2. Understand concurrency control protocols

3. Categorize the recovery techniques and explain the various techniques

Resource Reference

1. R7:CH8 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the different states of a transaction R 2. List the properties satisfied by any transaction R 3. Define atomicity R

4. List the various concurrency control protocols R

12

5. Explain lock based protocol R 6. Explain graph based protocol R 7. Consider the following two transactions:

TA: read(A); read (B); if A=0 then B=B+1;

write(B); TB: read(B);

read(A); if B=0 then A=A+1; write(A)

Add lock and unlock instructions to transactions TA and TB, so that they observe the two-phase locking protocol. Can the execution of these transactions result in dead lock?

A

8. Mention the types of failures R

9. How recovery is done by check point mechanism? U

MODULE-III - EMERGING SYSTEMS - Overview

This module explains the enhanced data model to design the database for real world application.

This extends the ER model. Also, deals with client server model. To understand the storage of large

data collected from various sources, data warehousing techniques are discussed. To retrieve the

useful patterns from the large data, data mining algorithms are discussed. To handle web and

mobile applications, database concepts are extended to deal with web database and mobile

database.

LU -12 Enhanced Data Models (1 Period)

LU Objectives

1. To Study the concepts of enhanced data model

2. To Design an enhanced data model for real world applications.

LU Outcomes

1. Realize the need for enhanced data model, generalization and specialization

concepts. 2. Illustrate the design of real world application using EER model

Resource Reference

1. R8 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Define superclass with e.g. R

2. Define subclass with e.g. U 3. Differentiate ER and EER model A

4. Discuss aggregation and composition with e.g. R 5. Using enhanced data model design a university database for the following

situation. University person entities are classified into faculty and student

disjoint sets. Students are registering for a course which is handled by instructor researchers (graduate students). Faculty is advisors to graduate

students. Instructor researchers’ class is a category with super class of faculty and graduate students. Faculties are having sponsored research projects with a grant supporting instruction researchers. Grants are

sanctioned by different agencies. Faculty belongs to different departments.

L

13

Department is chaired by a faculty

LU -13 Client/Server Model (1 Period)

LU Objectives

1. To Deploy various client server models.

LU Outcomes

1. Use the different architecture of a client server model to deploy 2. Elaborate the architecture of a client server model

Resource Reference

1. R7:CH18

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is 2 tier and 3 tier architecture? R 2. Discuss the different types of client server mode R

3. Design a database server and transaction server.

A

LU4: Data Warehousing and Data Mining (2 Period)

LU Objectives

1. To study the various architecture of a data warehouse and the operations involved with

the storage 2. To retrieve patterns using data mining techniques

LU Outcomes

1. Design the different schema of a data warehouse 2. Elaborate the design process for different schemas

3. Generate the different data mining techniques.

Resource Reference

1. R7:CH22

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define data warehouse R

2. Discuss star schema and snow flake schema of a data warehouse

R

3. Design a data warehouse for sales analysis system A

4. What is data mining? R

6. Describe the decision tree classifier with e.g.

R

14

LU -12 Web Databases- Mobile Databases (2 Period)

LU Objectives

1. To study the architecture of a web database and apply the transaction and concurrency

control mechanisms and issues

2. To Study the architecture of a mobile database and apply the transaction and concurrency

issues

LU Outcomes

1. Elaborate the design of a web database 2. Describe the architecture of a mobile database with research issues

Resource Reference

1 R7:CH21/R3 & R7:CH23/R3 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. What is web database? R

2. Explain the architecture of a web database. U 3. Construct a web database application. A

4. What is the need for a mobile database? R 5.

Discuss the issues related to the design of a mobile database with respect to transaction and concurrency mechanisms.

U

6. Create an application using mobile database. C

MODULE IV - DATABASE DESIGN ISSUES – Overview

This module explains the conceptual design of the database application using Entity-Relationship

model (ER model). It explains the mapping process between ER model and table design. Relational

schema is designed with optimization process using various normal forms. It discusses the

integrity and security constraints to maintain the consistency in the database. To get effective

usage of database, tuning is also discussed. Optimization and research issues in various databases

are discussed. Also, deals with the design of temporal database and spatial database.

LU -13: ER Model (1 Period)

LU Objectives

1. To understand ER model design process 2. To model a database application using ER model.

LU Outcomes

1. Use ER model to model a database

2. Design of ER model for various applications

Resource Reference

1.R7:CH2

15

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define entity and attribute R 2. Differentiate strong and weak entity set R 3. Define derived attribute and multi valued attribute R

4. Define relationship sets R 5. The musical company wants to store information about the musicians who

perform on its albums. Each musician has a musician id, a nme, an address, and a phone number. Some musicians may have the same address and some of the may have more then one phone number. Each musician

may play several instruments and an instrument and may be played by several musicians. Each instrument has name and a musical key. The album recorded has a title, a copyright date, a format and an album identifier. Each

album has a number of songs, where a song has a title and an author. Each song may be performed by several musicians and a musician may

perform a number of songs. One of the musicians of the song acts as a producer. A producer may produce several albums. i) Draw an E-R diagram.

ii) Transform the E-R diagram to a Relational Schema.

L

7. Explain any one distributed database architecture R

LU -14: Normalization (1 Period)

LU Objectives

1. To discuss the various normal forms 2. To apply normalization techniques to design a database

LU Outcomes

1. Identify various normal forms with e.g.

2. Elaborate normalization process with e.g

Resource Reference

1. R7:CH7

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.N

o

Test Questions Level

1 Define normalization R 2 List the various normal forms R

3 Compare BCNF and 3NF A

4. Normalize the following table Empinfo(empid, branchno, branchaddr, empname, designation, workhrs)

D

5. Differentiate primary and foreign key

U

LU15: Security and Integrity (2 Period)

LU Objectives

1. To develop integrity and security constraints to maintain consistency in the database

16

LU Outcomes

1. Discuss the security and integrity constrains to database

2. Bring out the different types of security provided to data

Resource Reference

1. R7:CH6

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1 What is digital signature? R 2 What is encryption? R 3 Define check constraint with e.g. R

4 What is trigger? R 5 Give e.g. for assertion U

LU16: Database Tuning (1 Period)

LU Objectives

1. To tune various database tuning parameters for performance improvement

LU Outcomes

1. Identify various tuning methods to improve the database performance 2. Apply the various database tuning techniques with parameters

Resource Reference

1. R7:CH21 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is database tuning? R

2. What is benchmark? R 3. List the various parameters used to tune the database. R 4. List the different benchmark standards. R

LU17: Research Issues – Design of Temporal Databases – Spatial Databases - (2 Period)

LU Objectives

1. To recognize the research issues in the design of database and construct temporal database and spatial database

2. To Construct temporal database and spatial database

LU Outcomes

1. Realize the research issues in database design and implementation

2. Discuss the design of temporal database and spatial database

Resource Reference

1. R7:CH14

R5 R7:CH23

17

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss the research issues in designing distributed database R 2. Bring out the issues in query processing optimization R

3. Explain the research issues in mobile database R 4. Describe the various storage and retrieval techniques of spatial database R

MODULE V - CURRENT ISSUES – Overview

This module explains the need for knowledge base and the concepts of Knowledge base

and rule formation. It discusses the active and deductive database concepts, parallel database,

multimedia database, image database and text database design and implementation.

LU18: Rules - Knowledge Bases (1 Period)

LU Objectives

1. To define rules and exemplify knowledge base

LU Outcomes

1. Frame rules and knowledge base 2. Elaborate rule formation using declarative language

Resource Reference

1. R8,W1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define fact and rule. R 2. Give e.g. for declarative language. R 3. How knowledge base differs from database. R

______________________________________________________________________

LU19: Active and Deductive Databases-Parallel databases (2 Period)

LU Objectives

1.

2.

To construct the model for the design and implementation of an active and deductive database

To analyze the various aspects of parallel database

LU Outcomes

1. Identify the design of active and deductive database 2. Differentiate active and deductive database 3. Design parallel database

Resource Reference

1. R8

18

R7:CH20

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss event-action-model of active database with eg. R 2. Explain the relational operations in deductive database. R

3. Write briefly the parallel architecture of a database. R 4. Discuss about inter query and intra query parallelism. R

LU20: Multimedia Databases-Image Databases – Text Database (2 Period)

LU Objectives

1. To Justify the use of multimedia database, image database and text database 2. To Illustrate the design of multimedia database, image database and text database

storage and retrieval techniques

LU Outcomes

1. Realize the need for multimedia database and handling of multimedia data 2. Design the storage and retrieval techniques of image and text database

Resource Reference

1. R7:CH23 R8

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is multimedia database? R

2. Why we need multimedia database? U 3. Write notes on multimedia database. R 4. What is image database? R

5. What is text database? R 6. Discuss any one case study of image database. L 7. Write short notes on text database. R

8. Design an image database for retrieving faculty photo. C

19

COURSE DETAILS – ADVANCED COMPUTER ARCHITECTURE

Subject Code : CS922

Subject Name : ADVANCED OPERATING SYSTEMS

Semester : ME (CSE) II Semester

Prepared By : Ms. P. Golda Jeyasheeli

Approved By : Dr. K. Muneeswaran

Effective Date : 06.02.2013

Revision No. : 1

Course Objective:

To review the functional components of operating system and the types of advanced

operating systems.

To understand how to order events in a distributed system using logical clocks.

To study the various algorithms available for distributed mutual exclusion.

To understand how deadlocks occur and the various methods to detect and resolve

deadlocks.

To study the architecture and implementation of distributed file systems.

To learn the design issues and algorithms for distributed shared memory.

To learn the various algorithms for load distribution in distributed systems.

To study the different types of faults and the recovery methods for distributed systems.

To study the design issues in multiprocessor operating systems and concurrency control in

distributed operating systems

Course Prerequisite:

Operating Systems, Database systems, Computer organization and Architecture

Outcomes–Programme Outcomes mapping

(3- Substantially, 2-Moderately, 1-Slightly)

Course Title : Advanced Operating Systems

Course Outcomes

Programme Outcomes

1 2 3 4 5 6 7 8 9 10 11 12

1. Identify the functional components of

OS and types of advanced operating

systems.

1

1

2. Compare the performance of various

synchronization mechanisms in an

operating system.

2

1

1

2

1

3. Apply logical clocks and order events

in a distributed system.

2 2 1

4. Analyse the various deadlock

detection strategies in a distributed

system.

1

2

1

2

1

5. Explore the design, implementation,

and issues of distributed file systems.

3 2 2 1

6. Design the cache coherence protocols 1 3 2 1

20

for distributed shared memory

system.

2 1

7. Performance comparison of various

load distributing algorithms.

2 3 2 2 2 1

8. Apply check pointing protocols for

fault tolerance and recovery in a

distributed system.

1

2

2 2

1

2

2

1

9. Design synchronization solutions for a

multiprocessor operating system

2 2 3 2 2 2 2

10. Compare the working of various

concurrency control algorithms in a

database operating system

2

3

2

3

1

2

2

2

CONCEPT MAP

21

COURSE DESCRIPTION: (As per Anna University Chennai Syllabus)

CS 9222 ADVANCED OPERATING SYSTEMS

Aim: To study about various issues in distributed operating systems like distributed mutual

exclusion, distributed deadlock detection, distributed file systems, distributed shared memory and

fault tolerance and also about multiprocessor and database operating systems

UNIT I - INTRODUCTION 9

Overview -Functions of an Operating System – Design Approaches – Types of Advanced Operating

System -Synchronization Mechanisms – Concept of a Process, Concurrent Processes – The Critical

Section Problem, Other Synchronization Problems – Language Mechanisms for Synchronization –

Axiomatic Verification of Parallel Programs -Process Deadlocks -Preliminaries – Models of

Deadlocks, Resources, System State – Necessary and Sufficient conditions for a Deadlock –

Systems with Single-Unit Requests, Consumable Resources, Reusable Resources.

UNIT II - DISTRIBUTED OPERATING SYSTEMS 9

Introduction – Issues – Communication Primitives – Inherent Limitations -Lamport’s Logical Clock;

Vector Clock; Causal Ordering; Global State; Cuts; Termination Detection. Distributed Mutual

Exclusion – Non-Token Based Algorithms – Lamport’s Algorithm -Token-Based Algorithms –

Suzuki-Kasami’s Broadcast Algorithm – Distributed Deadlock Detection – Issues – Centralized

Deadlock-Detection Algorithms -Distributed Deadlock-Detection Algorithms.

Agreement Protocols – Classification -Solutions –Applications.

UNIT III - DISTRIBUTED RESOURCE MANAGEMENT 9

Distributed File systems – Architecture – Mechanisms – Design Issues – Distributed Shared

Memory – Architecture – Algorithm – Protocols -Design Issues. Distributed Scheduling – Issues –

Components – Algorithms.

UNIT IV - FAILURE RECOVERY AND FAULT TOLERANCE 9

Basic Concepts-Classification of Failures – Basic Approaches to Recovery; Recovery in Concurrent

System; Synchronous and Asynchronous Checkpointing and Recovery; Check pointing in

Distributed Database Systems; Fault Tolerance; Issues -Two-phase and Non-blocking Commit

Protocols; Voting Protocols; Dynamic Voting Protocols;

UNIT V - MULTIPROCESSOR AND DATABASE OPERATING SYSTEMS 9

Structures – Design Issues – Threads – Process Synchronization – Processor Scheduling – Memory

Management – Reliability / Fault Tolerance; Database Operating Systems – Introduction –

Concurrency Control – Distributed Database Systems – Concurrency Control Algorithms.

TOTAL = 45

TEXT BOOKS:

1. Mukesh Singhal and N. G. Shivaratri, “Advanced Concepts in Operating Systems”, McGraw-Hill,

2000

REFERENCES: 1 Abraham Silberschatz, Peter B. Galvin, G. Gagne, “Operating System Concepts”, Sixth

Edition, Addison Wesley Publishing Co., 2003.

2 Andrew S. Tanenbaum, “Modern Operating Systems”, Second Edition, AddisonWesley, 2001. 3 http://deneb.cs.kent.edu/~mikhail/classes/aos.f02/ 4 http://www.coda.cs.cmu.edu/ljpaper/lj.html

5 http://www.coda.cs.cmu.edu/ 6 http://www.windowsnetworking.com/articles_tutorials/Windows2003-Distributed-File-

System.html

7 http://www.developers.net/intelisnshowcase/view/758 8 http://csi-india.org/resource-scheduling-real-time-database-systems-operating-system-

perspective

22

Course Schedule:

S.No Title No. of periods

Reference Date of Coverage

Unit I INTRODUCTION

1. Functions of an Operating System, Design Approaches

1 Ch 1.1-1.4

2. Types of Advanced Operating System 1 Ch 1.5

3. Concept of a Process, Concurrent Processes, The Critical Section Problem, Other Synchronization Problems

2 Ch 2.1 -2.5

4. Language Mechanisms for Synchronization: monitors 1 Ch 2.6

5. Process Deadlocks, Preliminaries , Models of Deadlocks, resources

1 Ch 3.1-3.4

6. System State ,Necessary and Sufficient conditions for

a Deadlock

1 Ch 3.5,3.6

7. Systems with Single-Unit Requests, Consumable

Resources, Reusable Resources

2 Ch 3.7-3.9

Unit II DISTRIBUTED OPERATING SYSTEMS

8. Introduction, Issues 1 Ch 4.1 -4.5

9. Communication Primitives 1 Ch 4.7

10. Inherent Limitations of a distributed system 1 Ch 5.1,5.2

11. Lamport’s Logical Clock, Vector Clock ,Causal Ordering

2 Ch 5.3 – 5.5

12. Global State; Cuts; Termination Detection. 1 Ch 5.6-5.8

13. Distributed Mutual Exclusion, Non-Token Based

Algorithms 2

Ch 6.1 –

6.8

14. Token-Based Algorithms, Suzuki-Kasami’s Broadcast Algorithm

1 Ch 6.10,6.11

15. Distributed Deadlock Detection, Centralized Deadlock-Detection Algorithms

2 Ch 7.1-7.6

16. Distributed Deadlock-Detection Algorithms. 1 Ch 7.7

17. Agreement Protocols 1 Ch 8

Unit III DISTRIBUTED RESOURCE MANAGEMENT

18. Distributed File systems, Architecture 1 Ch 9.1-9.3

19. Design Issues 1 Ch 9.4

20. Case Studies 1 Ch 9.5

21. Distributed Shared Memory, Architecture, Algorithm 1 Ch 10.1-10.3

22. Protocols, Design Issues 1 Ch 10.5,10.6

23. Case Studies 1 Ch 10.7

24. Distributed Scheduling, Issues,Components 2 Ch 11.1 -11.5

25. Algorithms 1 Ch 11.6

Unit IV FAILURE RECOVERY AND FAULT TOLERANCE

26. Recovery- Basic Concepts, Classification of Failures 1 Ch 12.1-

12.3

27. Basic Approaches to Recovery 1 Ch

12.4,12.5

28. Recovery in Concurrent System 1 Ch 12.6,12.7

29. Synchronous and Asynchronous Checkpointing and Recovery

2 Ch 12.8,12.9

30. Check pointing in Distributed Database Systems 1 Ch 12.10

31. Fault Tolerance, Two-phase and Non-blocking Commit Protocols

2 Ch 13.1-13.3

32. Voting Protocols, Dynamic Voting Protocols 2 Ch 13.6

UNIT V MULTIPROCESSOR AND DATABASE OPERATING SYSTEMS

33. Structures, Design Issues, threads 1 Ch 17.1-

17.4

34. Process Synchronization 2 Ch 17.5

35. Processor Scheduling 1 Ch 17.6

36. Memory Management 1 Ch 17.7

23

37. Reliability / Fault Tolerance 1 Ch 17.8

38. Database Operating Systems 1 Ch 18

39. Introduction – Concurrency Control: Theoretical

Aspects

1 Ch 19.1-

19.5

40. Distributed Database Systems 1 Ch 19.6

41. Concurrency Control Algorithms. 2 Ch 20

Total No. of Hours 52

Internal Marks Assessment (Max. 100)

Three tests each carrying 100 marks shall be reduced to 75 marks and remaining 25

marks will be given for regular attendance.

Internal Test Syllabus

Test 1 : Unit 1 & Half of II Unit

Test 2 : Remaining half of II Unit and III Unit

Test 3 : Unit IV, V

24

MODULE-1 INTRODUCTION

Module Overview

This module introduces the definitions, Design approaches, functions and types of an operating

system. It deals with process synchronization and various solutions. It explains about the problem

of deadlocks and the various methods for handling the deadlocks.

LU -1: Functions of an Operating System, Design Approaches(1 period)

LU Objectives

1. To learn the functions of operating system. 2. To study the various approaches towards designing an operating system

LU Outcomes

1. Identify the functional components of operating system.

2. Compare the various design approaches. Resource Reference

1. Ch 1.1-1.4

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the functions of an operating system R 2. Compare the various design approaches U 3. Specify the advantages of layered design R

4. What is a virtual machine? R 5. Compare micro and mono kernel approach. U

LU -2 Types of Advanced Operating System(1 period)

LU Objectives

1. To learn the different types of advanced operating systems LU Outcomes

1. Explore the differences between different advanced operating systems

2. Identify the need for a particular advanced operating system Resource Reference

1. Ch 1.5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Classify the various advanced operating systems R

2. In what way a multiprocessor operating system is different from a uniprocessor operating system?

R

3. List the functions of a database operating system R 4. What is a real time operating system R 5. List any two applications where real time os is used R

LU -3 Concept of a Process, Concurrent Processes, The Critical Section Problem, Other

Synchronization Problems. (2 periods)

25

LU Objectives

1. To learn about the concept of process and concurrent processes 2. To study about the critical section problem

To learn the solution to a few synchronisation problems LU Outcomes

1. Analyse the issues in running concurrent processes 2. Identify the need for various process related data structures

3. Apply solution to synchronisation problems Resource Reference

1. Ch 2.1 -2.5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Define a process. R

2. List the information maintained for a process by the os R 3. Draw the process state diagram R

4. What is a race condition? Explain how does a critical section avoid this condition?

5. What is a critical section problems? R

6. List the requirements for the solution to the critical section problem R 7. What is a semaphore? R

8. List the two atomic operations on semaphore R 9. In what way semaphore is better than other synchronisation methods? L 10. Using semaphores provide solutions to producer-consumer, readers-

writes, and dining philosophers problem

A

11. The Sleeping Barber Problem: A barbershop consists of a waiting room with n chairs and a barber room containing the barber chair. If there are

no customers to be served, the barber goes to sleep. If a customer enters the barbershop and all chairs are occupied, then the customer

leaves the shop. If the barber is busy but chairs are available, then the customer sits in one if the free chairs. If the barber is asleep, the customer wakes up the barber. Write a program to coordinate the

barber and the customers.

A

LU -4 Language Mechanisms for Synchronization: monitors(1 period)

LU Objectives

1. To learn about language mechanism for achieving synchronisation LU Outcomes

1. Able to provide synchronisation solutions using monitors, serilaizers and path expressions Resource Reference

1. Ch 2.6

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Explain the working of a monitor R

2. Provide a solution to the readers-writers problem using monitors R 3. What is the draw back in using monitors and explain how is that

rectified in a serializer?

U

4. Consider a system consisting of processes P1, P2, ..., Pn, each of which has a unique priority number. Write a monitor that allocates three

identical line printers to these processes, using the priority numbers for deciding the order of allocation

C

5. Give the path expression for readers – writers problem. A

26

LU -5 Process Deadlocks, Preliminaries(1 period)

LU Objectives

1. To learn about deadlocks

2. To find out the various deadlock handling strategies 3. To study the various deadlock models

LU Outcomes

1. Explore the definition of deadlock

2. Compare the deadlock handling strategies 3. Apply the various deadlock models

Resource Reference

1. Ch 3.1-3.4

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Define a deadlock R 2. Compare deadlock and starvation U

3. State the causes of deadlocks R 4. List three examples of deadlocks that are not related to a computer-

system environment.

U

5. List the various deadlock handling strategies R 6. Compare the various deadlock models U

LU -6 System State ,Necessary and Sufficient conditions for a Deadlock(1 period)

LU Objectives

1. To understand safe and unsafe system state 2. To learn the necessary and sufficient condition for deadlocks

LU Outcomes

1. Identify if system is in safe or unsafe state

2. Analyse the necessary and sufficient condition for deadlocks Resource Reference

1. Ch 3.5,3.6

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Discuss the graph theoretical model for expressing the system state R

2. What is a safe and unsafe state? U 3. Explain the graph reduction method to test a system state for deadlock. R

4. Suppose there are 2 copies of resource A, 3 copies of resource B, and 3 copies of resource C. Suppose further that process 1 holds one unit of resources B and C and is waiting for a unit of A; that process 2 is

holding a unit of A and waiting on a unit of B; and that process 3 is holding one unit of A, two units of B, and one unit of C.Draw the

resource allocation graph. Is the system in a deadlocked state? Why or why not?

A

27

LU -7 Systems with Single-Unit Requests, Consumable Resources, Reusable Resources. (2

periods)

LU Objectives

1. To study the various deadlock handling methods for different types of resources. LU Outcomes

1. Explore the ways to prevent deadlocks 2. Apply Banker’s algorithm for deadlock avoidance 3. Find out if a system is deadlocked by applying deadlock detection algorithm

Resource Reference

1. Ch 3.7-3.9

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Consider a system consisting of four resources of the same type that

are shared by three processes, each of which needs at most two resources. Show that the system is deadlock free.

L

2. Apply banker’s algorithm and find whether the system is in a safe state.

Find the total number of resources in the system.

Maximum Allocation

A B C D A B C D

0 0 1 2 0 0 1 2 P0

1 7 5 0 1 0 0 0 P1

2 3 5 6 1 3 5 4 P2

0 6 5 2 0 6 3 2 P3

0 6 5 6 0 0 1 4 P4

Available : 1 5 2 0

If a request from P1 arrives for (0,4,2,0) , can the request be granted immediately?

A

3. Create an algorithm for deadlock prevention using process priorities C 4. Apply banker’s algorithm and find whether the system is in a safe state.

Find the total number of resources in the system.

Maximum Allocation Available

ABCD ABCD ABCD

0 0 1 2 0 0 1 2 1 5 2 0

1 0 0 0 1 7 5 0

1 3 5 4 2 3 5 6

0 6 3 2 0 6 5 2

28

0 0 1 4 0 6 5 6

MODULE-2 DISTRIBUTED OPERATING SYSTEMS

Module Overview

This module discusses about the architectures of distributed systems. It deals with two logical lock

schemes. It discusses the distributed mutual exclusion algorithms. It also deals with the

distributed deadlock detection algorithms.

LU -8 Introduction, Issues(1 period)

LU Objectives

1. To learn the motivation and architecture types of distributed operating systems 2. To study the issues in distributed operating systems

LU Outcomes

1. Explore and compare the various architecture types. 2. Identify the issues in designing distributed operating systems

Resource Reference

1. Ch 34.1-4.3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define a distributed system L 2. List any two motivating factors for distributed systems A

3. Compare the various distributed system architecture models C 4. Discuss the issues in designing distributed systems R

LU -9 Communication Primitives(1 period)

LU Objectives

1. To learn about the various communication mechanisms in a distributed system LU Outcomes

1. Analyse the working and design issues of RPC 2.

Resource Reference

1. Ch 4.7

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Define the message passing model R 2. Compare blocking and non blocking primitives U

3. List the benefits of synchronous primitives R 4. Expand RPC R

5. Discuss the various design issues in RPC U 6. Analyse the working of RPC under “exactly once semantics” L 7. Specify how remote procedures are located by the client? U

29

LU -10 Inherent Limitations of a distributed system(1 period)

LU Objectives

1. To learn about the Inherent Limitations of a distributed system

LU Outcomes

1. Identify the various limitations of a distributed system Resource Reference

1. Ch 5.1,5.2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. List the two basic limitations of a distributed system R

2. Analyse how absence of a global clock affects a distributed application L 3. What issues arise out of lack of global memory? Explain with an

example

R

LU -11 Lamport’s Logical Clock, Vector Clock ,Causal Ordering (2 periods)

LU Objectives

1. To learn about lamport’s logical clock and vector clock.

2. To understand how events could be ordered using logical clocks LU Outcomes

1. Apply Lamport’s logical clock to events. 2. Apply vector clocks to order events.

3. Analyse an algorithm for causal ordering of messages Resource Reference

1. Ch 5.3-5.5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Define happened before relation. R

2. What are concurrent events? R 3. Explain Lamport’s Logical clocks with example R

4. Write down the limitation of lamport’s logical clocks. U 5. Lamport defined a notion of virtual time based on event ordering -

the “happened before” relation. Show how a global total ordering of

events can be achieved based on this notion of Lamport’s logical clocks.

A

6. What is a vector clock? Explain how causal ordering of messages is done

using vector clocks.

U

7. Distinguish the logical and vector clocks. U 8. List out the violation of causal ordering of messages. R

9. Discuss the Birman-Schiper-Stephenson protocol for causal ordering of messages.

R

10. Order the events using Lamports Logical clock and vector clock A

30

LU -12 Global State; Cuts; Termination Detection. (1 period)

LU Objectives

1. To learn about global state recording 2. To study the algorithm for termination detection

LU Outcomes

1. Apply Chandy Misra Global state recording algorithm

2. Apply termination detection algorithm 3.

Resource Reference

1. Ch 5.6 – 5.8

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is a global state? What problems arise in recording the global state with an example

U

2. Define the following terms: 1. Local state 2.Global Stae 3. Consistent global state 4. Transitless global state

R

3. Explain the Chandy Misra Global state recording algorithm R 4. Describe the role of “marker” messages in the chandy lamport

distributed snapshot algorithm. State one drawback of this algorithm and a possible method to overcome this limitation.

U

5. Discuss Huang’s termination detection algorithm R

6. Mention any two distributed applications where termination detection is needed. Explain the algorithm for termination detection

R

LU -13 Distributed Mutual Exclusion, Non Token based algorithms (2 periods)

LU Objectives

1. To learn the various non token based mutual exclusion algorithms LU Outcomes

1. Analyse the performance of non token based mutual exclusion algorithms Resource Reference

1. Ch 6.1 -6.8

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the two main categories of distributed mutual exclusion algorithms R 2. Can mutual exclusion algorithms for single computer system be applied

to distributed systems? If not, why? L

3. State the requirements for distributed mutual exclusion R

P1

P2

P3

31

4. Explain how performance of a distributed mutual algorithm can be measured

R

5. Show that in Lamport’s algorithm the critical section is accessed

according to the increasing order of timestamps.

U

6. Show that in the Ricart-Agrawala algorithm, the critical section is accessed according to the increasing order of timestamps. Does the

same hold true in Maekawa’s algorithm?

L

7. What is the purpose of REPLY message in Lamport’s algorithm? Note

that a site need not necessarily return a REPLY message in response to a REQUEST message. State the condition under which a site does not have to return a REPLY message. Also, give the new message

complexity per critical section execution in this case.

L

8. Maekawa’s mutual exclusion algorithm give the impression that message complexity of a distributed mutual exclusion can be O(sqrt(N))

instead of O(N), as in many other mutual exclusion algorithms. Discuss how Maekawa’s algorithm fundamentally differs from other algorithms

and what problems it poses.

L

9. Calculate the synchronistaion delay, throughput, no of messages exchanged per CS in the Mekawa voting algorithm. Can deadlock occur

in this algorithm? If yes, how it is handled?

L

LU -14 Token-Based Algorithms, Suzuki-Kasami’s Broadcast Algorithm(1 period)

LU Objectives

1. To learn the various token based mutual exclusion algorithms LU Outcomes

1. Analyze the performance analysis of token based mutual exclusion algorithms Resource Reference

1. Ch 6.10,6.11

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the working of a token based mutual exclusion algorithm with

an example.

R

2. Analyse the performance of Suzuki-Kasami broadcast algorithm L

3. Explain how Raymon’s tree based mutual exclusion algorithm works

with an example.

R

4. Compare the performance of the two token based mutual exclusion

algorithms

R

LU -15 Distributed Deadlock Detection, Centralized Deadlock-Detection Algorithms(2 periods)

LU Objectives

1. To study the problem of deadlocks in a distributed system 2. To learn the centralised deadlock detection algorithms for deadlock detection.

LU Outcomes

1. Identify the issues in distributed deadlock detection

2. Compare the working of centralised deadlock detection algorithms Resource Reference

1. Ch 7.1-7.6

32

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain how deadlocks can occur in a distributed system R

2. What is a wait for graph? L

3. List the deadlock handling strategies in a distributed system R 4. Discuss the issues in deadlock detection and recovery R

5. Discuss the centralized deadlock detection algorithms and compare the performance of the algorithms in terms of messages exchanged

U

6. What is a phantom deadlock? How it is avoided in Ho-Ramamoorthy

algorithms?

U

LU -16 Distributed Deadlock-Detection Algorithms. (1 period)

LU Objectives

1. To study the various distributed deadlock detection algorithms LU Outcomes

1. Apply the various deadlock detection algorithms on the system state Resource Reference

1. Ch 7.7

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the four classes of distributed deadlock detection R 2. Discuss how the edge chasing algorithm works R 3. What is a diffusion computation based algorithm? R

4. Discuss a few hierarchical deadlock detection algorithms R 5. Instead of using a deadlock detection algorithm, deadlocks can be

handled by timeouts where a process that has waited for a specified period for a resource declares that it is deadlocked. What are the risks in using this method

L

6. Discuss the impact of message loss on the various deadlock detection algorithms

L

7. Suppose all the processes in the system are assigned priorities that can

be used to totally order the processes. Modify Chandy Misra Hass’s edge chasing algorithm, so that when a process detects a deadlock, it also

knows the lowest priority deadlocked process.

8. Consider the following scheme to reduce message traffic in distributed deadlock detection: Transactions are assigned unique priorities, and an

antagonistic conflict occurs when a transaction waits for a data object that is locked by a lower priority transaction. Deadlock detection is

initiated only when an antagonistic conflict occurs. When a waiting transaction receives a probe that is initiated by a lower priority transaction, the probe is discarded.

a) Determine the number of messages exchanged to detect a deadlock in the “best” case. b) Determine the number of messages exchanged to detect

a deadlock in the “worst” case. c) Determine the number of messages exchanged to detect

a deadlock in the “average” case. d) Determine the saving (as a percentage) in the average number of messages exchanged under this message traffic reduction

scheme, as compared to when no such scheme is used.

A

LU -17 Agreement Protocols (1 period)

33

LU Objectives

1. To study the various agreement protocols LU Outcomes

1. Explore the need for agreement protocols Resource Reference

1. Ch 8

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. What system model could be assumed for the study of agreement

protocols?

R

2. Discuss the model of processor failures in Agreement protocols.

3. List the classifications of agreement protocols R 4. What is a Byzantine agreement problem? R

5. Discuss the solution to the Byzantine agreement problem. R 6. What is the upper bound on the no of faulty processors? Why? L 7. Specify a few applications for agreement protocols

8. Show that Byzantine agreement cannot always be reached among four processors if two processors are faulty

A

9. How can the blue army loyal generals reach agreement on troop strength

of all other loyal generals using byzantine generals’ problem?

U

MODULE-3 DISTRIBUTED RESOURCE MANAGEMENT

Module Overview

This module explains about distributed file systems concepts like mechanisms for building

distributed file systems and design issues of distributed file systems. It deals with the distributed

shared memory algorithms. It also discusses the various distributed scheduling algorithms. Case

studies are analysed.

LU -18 Distributed File systems, Architecture (1 period)

LU Objectives

1. To learn the goals of distributed file systems

2. To study the architecture of distributed file systems 3. To understand the mechanisms involved in building distributed file systems

LU Outcomes

1. Appreciate the need and goals for distributed file systems 2. Explore the architecture of distributed file systems

3. Identify the underlying mechanisms for building distributed file systems Resource Reference

1. Ch 9.1-9.3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the goals of distributed file systems R 2. What is network transparency? U

3. Discuss the typical data access actions in a distributed file system with a neat flow chart.

R

4. What is mounting? What will be the contents of mount table? R

34

5. Discuss how caching is used to improve the performance in a distributed file system

U

6. State how a communication in a distributed file system can be made

secure

U

7. Discuss the various underlying mechanisms in building a distributed file system

R

LU -19 Design Issues ( 1 period)

LU Objectives

1. To study the various design issues in distributed file system (DFS) LU Outcomes

1. Analyse the design issues and their solutions

Resource Reference

1. Ch 9.4

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How are resources named in DFS? R 2. What is the use of a name server? R

3. Explain how caches improve performance in a DFS? U 4. Where cache is placed in the client and server? Why? U 5. Specify the various writing policies used in DFS. U

6. Compare client initiated vs. server initiated approaches to maintaining cache consistency

U

7. Specify how a DFS can be made more available with replication? R

8. What is scalability? How is it achieved in a DFS? R

LU -20 Case Studies ( 1 period)

LU Objectives

1. To learn about the architecture and design issues of Sun Network File System, Sprite File System and Coda file system

LU Outcomes

1. Compare the various existing distributed file systems Resource Reference

1. Ch 9.5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Discuss the architecture of Sun Network File System. R 2. What is the caching policy in sun NFS? R

3. What are the advantages and disadvantages of a stateless server? U 4. Explain how a file is located in Sprite file system? R 5. What is the use of prefix table? R

6. Discuss the design goals and implementation of Coda file system? R 7. Analyse the caching policies of any two DFS. L

8. What is the benefit of grouping files into volumes in Coda? R 9. What is a call back mechanism? R 10. Explain the following sentence. Consistency, availability and U

35

performance tend to be contradictory forces in a distributed file system”

LU -21 Distributed Shared Memory, Architecture, Algorithm ( 1 period)

LU Objectives

1. To learn the motivation, architecture and algorithms for distributed shared memory(DSM) LU Outcomes

1. Explore the motivation, architecture of DSM 2. Compare the various algorithms for DSM

Resource Reference

1. Ch 10.1-10.3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss the architecture and motivation behind DSM R 2. Compare the working of central server algorithm with the distributed

algorithm

U

3. Specify the differences between read replication and full replication algorithms.

U

LU -22 Protocols, design issues( 1 period)

LU Objectives

1. To learn the various coherence protocols used in DSM.

2. To understand the design issues in DSM LU Outcomes

1. Compare the working of various coherence protocols 2. Explore the design issues and the solutions in DSM.

Resource Reference

1. Ch 10.4-10.6

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. List the different memory consistency models R 2. Compare write invalidate and write update protocols. U

3. Discuss the cache coherence in PLUS system. R 4. Discuss the benefits of type specific memory coherence in Munin DSM

system

R

5. What is the major shortcoming of Munin’s type specific memory coherence protocol?

R

6. Describe the design issues in DSM R

LU -23 Case Studies ( 1 period)

LU Objectives

1. To learn about the architecture and working of example DSMs LU Outcomes

1. To compare the working of DSMs like IVY,Mirage and Clouds Resource Reference

36

1. Ch 10.7

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. What is the coherence protocol followed in IVY? R

2. Discuss the dynamic distributed manager scheme. R 3. Compare Mirage and Clouds DSM. U

LU -24 Distributed Scheduling, Issues,Components ( 2 periods)

LU Objectives

1. To learn about scheduling tasks in a distributed system and its advantages 2. To study various issues and components in distributed scheduling

LU Outcomes

1. Identify the benefits of distributed scheduled

2. Explore the issues and components in distributed scheduling Resource Reference

1. Ch 11.1-11.5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How is load measured in a system? R 2. State the difference between load sharing and load balancing U 3. Compare pre-emptive and non pre-emptive job transfers. U

4. List the components of a load distributing algorithm R 5. Specify the three types of information policies R

LU -25 Algorithm ( 1 period)

LU Objectives

1. To study the various distributed scheduling algorithms. LU Outcomes

1. Compare the performance of sender initiated, receiver initiated and symmetrically initiated load distribution algorithms

Resource Reference

1. Ch 11.6,11,7

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level 1. Discuss and compare the performance of sender initiated algorithms R

2. Explain sender initiated load sharing with threshold policy with a diagram

U

3. What is the transfer policy of receiver initiated algorithms? U 4. In what way symmetrically initiated algorithms are better than sender

initiated and receiver initiated algorithms? R

5. Under what situation sender initiated algorithms do better? R 6. How adaptive load distribution algorithms work? 7. Predict the performance of the receiver initiated load sharing algorithm

when the entire system workload is generated at only a few nodes in the system instead of equally at all the nodes.

L

8. Identify all the overheads in a load sharing policy U State the difference between load sharing and load balancing R Describe the concept of distributed scheduling and explain suitable R

37

algorithms.

MODULE-4 FAILURE RECOVERY AND FAULT TOLERANCE

Module Overview:

This module introduces the definitions, classification of failures, backward and forward error

recovery, synchronous and asynchronous check pointing and recovery. It deals with fault tolerance.

It explains about commit and non blocking commit protocols, voting and dynamic voting protocols.

LU -26: Recovery- Basic Concepts, Classification of Failures (1 Period)

LU Objectives

1. To understand the process of recovery and classification of failures

LU Outcomes

1. Explore the system model and the process of recovery

2. Analyse the various types of failures and their effects.

Resource Reference

1. Ch 12.1-12.3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. Explain about the failure models in distributed systems R

2. Differentiate error, fault and failure U 3. Classify system failures R 4. How does a communication failure affect the system? R

5. Differentiate synchronous and asynchronous check pointing L 6. Define recovery in concurrent systems. R

7. What are failures in OS? How they are classified? How are they recovered? Describe few approaches with suitable algorithm.

R

LU -27: Basic Approaches to Recovery (1 Period)

LU Objectives

1. To learn backward and forward error recovery approaches 2. To study the various approaches to backward error recovery

LU Outcomes

1. Compare backward and forward error recovery approaches 2. Analyse the performance of various backward error recovery approaches.

Resource Reference

1. Ch 12.4,12.5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

38

S. No Test Questions Level 1. Differentiate forward and backward error recovery mechanisms. U 2. State the purpose of write ahead log U

3. What is a state based approach to error recovery? R 4. How do you recover the data when failure occurs? L 5. Distinguish between synchronous and asynchronous recovery system. E

6. Give an example for any one of the recovery algorithm and where the recovery algorithm can terminate after only one iteration.

L

7. Give an example for any one of the recovery algorithm and need to execute for N iterations where N is the number of processor in the system.

L

LU -28: Recovery in Concurrent System (1 Period)

LU Objectives

1. To understand the process of recovery in concurrent systems

LU Outcomes

1. Analyse the issues in error recovery in a concurrent system

Resource Reference

1. Ch 12.6,12.7

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. Define a concurrent system. R

2. What happens when you rollback a process in a concurrent system? U 3. How do you recover the data when failure occurs? L

4. Explain the problem of domino effect and orphan messages R

5. List the problems that can arise during the rollback of cooperating processes.

6. How are lost messages handled? R

7. Define live locks. What is the difference between a deadlock and a live lock?

U

8.

Show that when checkpoints are taken after every K (k>1) messages are sent, the recovery mechanism can suffer from the domino effect.

Assume that a process takes a checkpoint immediately after sending the Kth message but before doing anything else.

L

9. Write a message complexity of any one of the rollback recovery

algorithm. R

LU -29: Synchronous and Asynchronous Check pointing and Recovery (1 Period)

LU Objectives

1. To study synchronous and asynchronous check pointing and recovery algorithms

LU Outcomes

1. Compare the various synchronous and asynchronous check pointing and recovery algorithms.

39

Resource Reference

1. Ch 12.8,12.9

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level

1. Distinguish between synchronous and asynchronous check pointing and recovery algorithms.

R

2. Explain access matrix model. R

3. Summarize the characterization of synchronous check pointing. R 4. Explain with example The Checkpoint Algorithm. R 5. Explain with example The Rollback Recovery Algorithm. R

6. Discuss scheme for Asynchronous Check pointing and Recovery. R

7. Discuss the algorithm for Asynchronous Check pointing and Recovery

with example. R

8. In the synchronous check pointing algorithm, a process on receiving a “take a tentative checkpoint” message will send a similar message to all

the processes in the check point cohort set. Why is this necessary?

L

9.

Give an example where the asynchronous recovery algorithm will need

to execute |N| iterations where |N| is the number of processors in the system.

L

10. Give an example where the asynchronous recovery algorithm will

terminate after only one iteration. L

LU -30: Check pointing in Distributed Database Systems (1 Period)

LU Objectives

1. To learn the issues in check pointing and recovery in distributed database systems

LU Outcomes

1. Analyse how check pointing and recovery help in maintaining consistency in a distributed database system

2.

Resource Reference

1. Ch 12.10

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. Discuss the term authentication in distributed systems R

2. Define the notion of consistency in a distributed database system R 3. Discuss about the principle of distributed database systems R 4. Discuss the Agarwala check pointing algorithm R

5. Explain how a distributed data base system can recover from failure using checkpoints recorded.

R

6. How synchronization issues exist in distributed database applications. L

LU -31: Fault Tolerance, Issues,Committ Protocols (2 Periods)

LU Objectives

40

1. To learn the different types of failures that may occur in a distributed system 2. To study the various blocking and non blocking commit protocols

LU Outcomes

1. Identify the classes of failures 2. Compare the performance of non blocking commit protocols against blocking commit

protocols

Resource Reference

1. Ch 13.1-13.3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. What are the classifications of faults? R

2. Explain in detail about architecture of fault tolerance in database Systems

R

3. Define fault tolerance R

4. Explain the characteristics of atomic actions. R 5. What steps could be taken to improve the fault tolerance of your own. U

6. Explain the concept of Generals Paradox for commit protocols. R 7. Discuss the working of two phase commit protocol R 8. Explain how site failures are handled in a distributed system U

9. What is a non blocking commit protocol? R 10. Discuss a synchronous non blocking commit protocol. R

11.

The two-phase commit protocol is a centralized protocol where the decision to abort or commit is taken by the coordinator. Design a decentralized two phase commit protocol where no site is designated to

be a coordinator.

C

LU -32: Voting Protocols, Dynamic Voting Protocols (2 Periods)

LU Objectives

1. To study the need for voting protocols

2. To understand the working of Static and dynamic voting protocols.

LU Outcomes

1. Identify the need for voting protocols

2. Analyse the static and dynamic voting protocols

Resource Reference

1. Ch 13.6

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. What do you mean by static voting R

2. What is the need for voting protocols? R 3. Differentiate commit and voting protocols U 4. Illustrate the fault tolerance implementation by voting protocols. U

5. Explain in detail The Static Voting Algorithm R 6. What is a dynamic voting protocol? R

7. Discuss the majority based dynamic voting protocol? R 8. Specify the principle behind dynamic vote reassignment protocol U 9. Consider a system with three sites employing two-phase commit A

41

protocols. Illustrate a situation where in a site may not be able to arrive at a consistent decision concerning the outcome of the transaction in the event of site failures. Assume that a site can communicate with any

other operating site to check the outcome of a transaction.

10.

Consider a system using the dynamic vote reassignment protocol with an overthrow technique to increase the voting power of a site. Show

that if a site j increases its voting power by twice the number of votes of the failed site I, all the majority groups that used I can still form a

majority group using site j instead.

L

MODULE-5 MULTIPROCESSOR AND DATABASE OPERATING SYSTEMS

Module 5 Overview

This module discusses about the design issues of multiprocessor operating

systems. It discusses the threads, process synchronization, and processor scheduling and memory

management. It also deals with reliability and fault tolerance. It introduces the database operating

system. It explains the transaction-concurrency control in database systems. It focuses the

distributed database systems. It also deals with concurrency control algorithms for distributed

database systems.

LU -33: Structures, Design Issues, Threads (1 period)

LU Objectives

1. To learn the different multiprocessor structures and design issues. 2. To study about thread management

LU Outcomes

1. Explore the various multiprocessor structures and design issues 2. Performance analysis of user level threads and kernel level threads

Resource Reference

1. Ch 17.1-17.4

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level

1. Explain the overview of multi-processor operating system R 2. List the design issues of multiprocessor operating system R

3. Compare the three different multiprocessor architectures U 4. How does a master slave configuration work? U 5. State the advantages of symmetric multiprocessor system R

6. Which is faster user level or kernel level threads? U 7. List the advantages of kernel level threads R 8. Define Thread R

9. What is multi-threading? R 10. How threads differ from processes? U

LU -34: Process Synchronization (2 Periods)

LU Objectives

1. To learn about the various process synchronisation solution

42

LU Outcomes

1. Provide process synchronisation in a multiprocessor system

Resource Reference

1. Ch 17.5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. State the need for process synchronisation R

2. What are the issues in process synchronisation? R 3. Provide a solution using test and set instruction A 4. Apply sawp instruction to the critical section problem A

5. How does the compare and sawp instruction work? R

6. Compare the various synchronisation techniques with respect to

communication and processing overheads. U

LU -35: Processor Scheduling ( 1 Period)

LU Objectives

1. To learn about the various processor scheduling algorithms.

LU Outcomes

1. Compare scheduling algorithms in various multiprocessor computers.

Resource Reference

1. Ch 17.6

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. What is the goal of processor scheduling? R

2. List the issues in processor scheduling R 3. Discuss co-scheduling of the Medusa OS R 4. What is smart scheduling? U

5. Explain affinity based scheduling R 6. Compare uniprocessor and multiprocessor scheduling U

7. If the subtasks of a task have large critical sections, which scheduling

policy is most desirable? Explain. A

8. If nothing about the subtasks of a task is known, which scheduling

policy would you recommend and why? A

9. Can the performance of a multiprocessor system with 2 identical processors be worse than the performance of a uniprocessor system

L

LU -36: Memory Management (1 Period)

43

LU Objectives

1. To study memory management in MACH operating system

2.

LU Outcomes

1. Analyse the various issues in memory management with MACH os as case study

2.

Resource Reference

1. Ch 17.7

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. List the memory management design issues R

2. Specify how memory protection is offered in MACH OS U 3. What techniques are used by MACH os to improve the efficiency R

4. List the data structures used by MACH virtual memory management

systems R

5. What are the page replacement algorithm s used in MACH os? R

LU -37: Reliability / Fault Tolerance (1 Period)

LU Objectives

1. To study fault tolerance in multiprocessor os

LU Outcomes

1. Analyse the various issues of fault tolerance and reliability in a multiprocessor system

Resource Reference

1. Ch 17.8

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level

1. List the design issues in fault tolerance R 2. Explain how fault detection is done in a Sequoia architecture R

3. Specify how recovery from process, memory and I/O failures can be

achieved. U

LU -38: Database Operating Systems (1 Period)

LU Objectives

1. To understand the need for database operating systems

44

LU Outcomes

1. Explore the requirements of database operating system

Resource Reference

1. Ch 18

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level

1. Give notes on database operating system R 2. Specify the two approaches to database system design R

3. In what way services offered by general purpose os is inadequate for a database os? L

4. Discuss the requirements of database os R

LU -39: Introduction – Concurrency Control: Theoretical Aspects (1 Period)

LU Objectives

1. To study the theoretical concepts of concurrency control

LU Outcomes

1. Explore the issues in concurrency control

Resource Reference

1. Ch 19.1-19.5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level 1. Define a database system R

2. What is a transaction conflict? R 3. Describe a concurrency control model for a database system R

4. Explain the inconsistent retrieval problem with an example U 5. What is an inconsistent update? R 6. Describe the serializabilty theory R

LU -40: Distributed Database Systems (1 Period)

LU Objectives

1. To study about the distributed database systems(DDBS)

LU Outcomes

1. Appreciate the motivation and issues behind distributed databases

Resource Reference

45

1. Ch 19.6

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No Test Questions Level

1. What is heterogeneous database system? R 2. List the motivations for distributed database systems? U

3. Explain the serializability condition in DDBS. R 4. Discuss the transaction processing model of DDBS R 5. What complications may arise in a DDBS? L

6. Design a distributed database system by applying all the mechanisms? A

LU -41: Concurrency Control Algorithms (2 Period)

LU Objectives

1. To study the various concurrency control algorithms in DDBS

LU Outcomes

1. Compare the working of lock based, timestamp based and optimistic concurrency control algorithms

Resource Reference

1. Ch 20

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. State the differences between lock based and timestamp based concurrency control algorithms

U

2. Explain how two phase locking works R 3. List the problems with two phase locking U

4. What is a cascaded rollback? R 5. How a timestamp based locking is used in DDBS? R 6. Explain the optimistic concurrency control algorithm R

7. What is the difference between concurrency control and mutual exclusion R

8. Why are timestamp-based concurrency control algorithms free from deadlock> List basic, multiversion and conservative timestamp ordering

algorithms in increasing order of transaction aborts.

L

46

COURSE DETAILS – ADVANCED SYSTEM SOFTWARE

Subject Code : CS9223

Subject Name : ADVANCED SYSTEM SOFTWARE

Semester : ME(CSE) II Semester

Prepared By : Mrs.S.Vanitha Sivagami

Approved By : Dr.K.Muneeswaran

Effective Date : 06.02.2013

Revision No. : 1

Course Objective:

To familiarize the phases of a compiler and understand in detail the functions of each

phase

To design a Scanner, Parser for the given language

To write semantic routines to generate the intermediate code

To perform code optimization for a piece of code

To understand the different forms of intermediate representations

To know in detail about the concept of virtualization

To introduce the features of Virtual Machines like Pascal P-Code and JVM

Course Prerequisite:

System Software – Operating Systems -Principles of Compiler Design

Concept Map

47

Course Outcomes–Programme Outcomes mapping

(3- Substantially, 2-Moderately, 1-Slightly)

S.No Course Outcomes

Programme Outcomes

1 2 3 4 5 6 7 8 9 10 11 12

1. Identify the features of a good computer

programming language

2 2 1 2 2

2. Identify the phases of a compiler in a

modular form and bring out the

functions of each phase

2 3 1 1 2 3

3. Design a Scanner for the given language 2 3 3 2 1 2 1

4. Design a Parser for the given language 2 3 3 2 1 2 1

5. Choose the appropriate intermediate

code by comparing their features

3 1 2 2 2

6. Write semantic routines to generate the

intermediate code

1 3 3 2 2 1

7. Identify the places where the efficiency

of code can be improved

1 3 2 1 2

8. Work the procedures for optimizing the

intermediate code

2 3 2 2 1 1

9. Write the routines to generate the

machine code from the intermediate

code

1 3 1 3 2 1

10. Devise mechanisms to optimize the

machine code for the delivery

2 3 1 2 1 2

Course Syllabus

(As per Anna University, Chennai)

UNIT I 9

Basic Compiler Functions – Grammars – Lexical Analysis – Syntactic Analysis – Code Generation –

Heap Management – Parameter Passing Methods – Semantics of Calls and Returns – Implementing

Subprograms – Stack Dynamic Local Variables – Dynamic binding of method calls to methods –

Overview of Memory Management, Virtual Memory, Process Creation – Overview of I/O Systems,

Device Drivers, System Boot

UNIT II 10

48

Introduction and Overview – Symbol table structure – Local and Global Symbol table management

Intermediate representation – Issues – High level, medium level, low level intermediate languages

– MIR, HIR, LIR – ICAN for Intermediate code – Optimization – Early optimization – loop

optimization

UNIT III 9

Procedure optimization – in-line expansion – leaf routine optimization and shrink wrapping –

register allocation and assignment – graph coloring – data flow analysis – constant propagation –

alias analysis – register allocation – global references – Optimization for memory hierarchy -Code

Scheduling – Instruction scheduling – Speculative scheduling – Software pipelining – trace

scheduling – Run-time support – Register usage – local stack frame – run-time stack – Code

sharing – position–independent code

UNIT IV 9

Introduction to Virtual Machines (VM) – Pascal P-Code VM – Object-Oriented VMs – Java VM

Architecture – Common Language Infrastructure – Dynamic Class Loading – Security – Garbage

Collection – Optimization

UNIT V 8

Emulation – Interpretation and Binary Translation – Instruction Set Issues – Process Virtual

Machines – Profiling – Migration – Grids – Examples of real world implementations of system

software

TEXT BOOKS:

1. Steven S. Muchnick, “Advanced Compiler Design Implementation”, Morgan Koffman –

Elsevier Science, India, First Edition 2004

2. James E Smith and Ravi Nair, “Virtual Machines”, Elsevier, 2005. (Units 4, 5) (Sections

1.0-1.6, 2.0-2.5, 2.8, 3.0-3.6, 4.2, 5.0-5.3, 5.5-5.6, 6.0-6.3, 6.5-6.6, 10.2, 10.3)

3. Robert W. Sebesta, “Concepts of Programming Languages”, 7th ed., Pearson Education,

2006. (Unit 3) (Sections 6.9, 9.3, 9.5, 10.1-10.3, 12.10.2)

REFERENCES:

1. Alfred V Aho, Ravi Sethi, Jeffrey D Ullman, “Compilers”, Pearson Education, 1986.

2. Terrance W Pratt, Marvin V Zelkowitz, T V Gopal, “Programming Languages”, 4th ed.,

Pearson Education, 2006.

3. Carl Hamacher, Zvonko Vranesic, Safwat Zaky, “Computer Organization”, 5th ed., McGraw

Hill, 2002.

4. Silberschatz, Galvin, Gagne, “Operating System Concepts”, 6th ed., Wiley, 2003.

49

Web References:

1. http://www.onesmartclick.com/engineering/compiler-design.html

2. http://dinosaur.compilertools.net/

3. http://infolab.stanford.edu/~ullman/

4. http://epaperpress.com/lexandyacc/index.html

Course Schedule

SI.No Topics to be covered No.of

Periods

Date of

Coverage

MODULE-I

1. Overview of the course 1

2. Overview of the compiler front end( scanner, Parser,

semantic analyzer)

2

3. Overview of the compiler back end(Intermediate code

generator, Code generator)

1

4. Heap Management 1

5. Parameter Passing Methods – Semantics of Calls and

Returns

1

6. Implementing Subprograms – Stack Dynamic Local

Variables

1

7. Dynamic binding of method calls to methods 1

8. Overview of Memory Management, Virtual Memory,

Process Creation

1

9. Overview of I/O Systems, Device Drivers, System Boot 1

Total Hours in Module- I 10

MODULE -II

10. Introduction and Overview – Symbol table structure 1

11. Local and Global Symbol table management 1

12. Intermediate representation – Issues – High level,

medium level, low level intermediate languages

1

13. MIR, HIR, LIR 1

14. ICAN for Intermediate code 1

50

15. Introduction to Optimization 1

16. Early optimization – Constant expression evaluation,

Scalar replacement aggregates

1

17. Algebraic simplification and reassociations 1

18. Value numbering 1

19. Copy Propagation 1

20. Sparse conditional Constant Propagation 1

21. Loop optimization-Induction variable optimizations 2

22. Unnecessary boundary checking elimination 1

Total Hours in Module- II 14

MODULE -III

23. Procedure optimization – Tail Call optimization and Tail-

Recursion Elimination-in-line expansion

1

24. Leaf routine optimization and shrink wrapping 1

25. Register allocation and assignment 1

26. Graph coloring- overview, top level structure 1

27. Graph coloring- Allocatable objects, Inference Graph 1

28. Graph coloring- Register Coalescing, Computing Spill

Costs

1

29. Graph coloring-Pruning Inference Graph, Assigning

Registers

2

30. Data flow analysis 1

31. Constant propagation 1

32. Alias analysis – register allocation – global references 1

33. Optimization for memory hierarchy 1

34. Code Scheduling 1

35. Instruction scheduling 1

36. Speculative scheduling 1

37. Software pipelining, Trace scheduling 1

51

38. Run-time support – Register usage – local stack frame

– run-time stack

1

39. Code sharing – position–independent code 1

Total Hours in Module- III 18

MODULE -IV

40. Introduction to Virtual Machines (VM) 1

41. Pascal P-Code VM 1

42. Object-Oriented VMs – Java VM Architecture 1

43. Common Language Infrastructure 1

44. Dynamic Class Loading 1

45. Security 1

46. Garbage Collection 1

47. Optimization 1

Total Hours in Module- IV 8

MODULE -V

48. Emulation – Interpretation and Binary Translation 1

49. Instruction Set Issues 1

50. Process Virtual Machines 2

51. Profiling 1

52. Migration 1

53. Grids 1

54. Examples of real world implementations of system

software

1

Total Hours in Module- V 8

Total 58 Hours

DELIVERY PLAN FOR THE LEARNING UNITS (LU)

MODULE-I - Overview

52

In this module we have discussed about the basic functions of compilers such as front end

and back end compilers, lexical and syntactic analysis. Heap management briefs about the need

for memory hierarchy. It also deals about the parameter passing methods, implementation of

subprograms. The help of memory hierarchy and memory management in the compiler design.

LU -1: Overview of the course (1 Period)

LU Objectives

3. To introduce the concept of Compilation

4. To list and explain the components of the source program

LU Outcomes

3. Bring out the features of compiler

4. List out some of the commercial compilers

5. Identify the programming language constructs

Resource Reference

1. Section 1 and 2 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the functions of a compiler? R

2. What are the input and output of the compiler? R

3. Define analysis and synthesis phases of the compiler R

4. List out some of the commercially available compilers R

5. Give an example for executable and non-executable statement R

6. List out the control statements in a programming language R

LU -2: Overview of the compiler front end( scanner, Parser, semantic analyzer) (2 Periods)

LU Objectives

1. To list and specify the various phases of compiler

2. To describe the need for splitting the compiler into many phases

3. To detail various phases of the front end of the compiler

LU Outcomes

53

1. Identify various phases of compiler

2. Scan the source program and separate the tokens

3. Parse the token together and form a hierarchical structure

4. Perform semantic analysis of the source program

Resource Reference

1. Section 1 and 2 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Differentiate token and lexeme U

2. List out the functions of lexical analyzer R

3. Write regular definitions for representing tokens: identifier, integer constant A

4. Convert the following regular expression into a DFA: (a|b)*abb A

5. What are the outputs of the scanner program for the following piece of C

programming code?

int a,b,c;

a = 10; b = 20; c = a +b

A

6. Consider the grammar E E+E | E* E | E- E | (E) | id and parse the

sentence (id + id) * id

A

7. Eliminate ambiguity from the following grammar:

E E + E | E * E | E- E | E / E | id

A

8. Define ambiguous grammar. R

9. Name the different types of parsing techniques. R

10. State the advantage of grouping the phases of compiler. U

11. What are the different types of conflicts in shift reduce parsing? R

LU -3: Overview of the compiler back end(Intermediate code generator, Code generator)(1 Period)

LU Objectives

1. To detail the various phases of back end of the compiler

2. To discuss the various issues in designing a good code generator

LU Outcomes

1. Identify the need of intermediate code generation

2. Generate assembly code using a sample code generator

54

3. Optimize the machine code to make it efficient

Resource Reference

1. Section 1 and 2 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the different types of intermediate languages. R

2. What is the need for intermediate representation? U

3. Discuss the various issues to be considered in designing a good code

generator.

R

4. Explain the different data structures needed for a code generator. R

5. Compare and contrast Quadruples, Triples and Indirect Triples. U

6. List the various phases present in the back end of the compiler. R

7. Generate (i) Quadruples (ii) Triples (iii) Indirect Triples (iv) syntax trees (v)

DAG for the following code: x=a+b*-d/g+(e-k)

U

8. Describe the procedure for generating code using DAGs. R

9. Explain the different types of optimization techniques used in a compiler. R

LU -4: Heap Management (1 Period)

LU Objectives

1. To know the different types of storage management techniques

2. To understand heap management

LU Outcomes

1. Perform storage allocation using static allocation technique

2. Allocate storage using stack allocation

3. Allocate storage in heap and perform storage management

Resource Reference

1. Section 7.3 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define scope and life time of a variable. R

2. Draw and state the different areas in run time storage areas. R

3. List the different elements present in an activation record. R

55

4. What is the limitation of static allocation storage ? R

5. Write a recursive algorithm for quick sort and draw activation tree for

sorting the following set of 9 elements in ascending order: 98, 86, 78, 60,

57, 48, 36, 20, 12

A

6. Describe in detail the heap based storage allocation technique. R

7. What is the role of a heap manager? R

8. How the deallocated memory spaces are organized by memory manager? R

LU -5: Parameter Passing Methods – Semantics of Calls and Returns (1 Period)

LU Objectives

1. To understand the different types of parameter passing mechanisms

2. To understand the working of calls and returns

LU Outcomes

1. Identify the type of parameter passing

2. Access non local data from a procedure

Resource Reference

1. Section 7.5 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Differentiate pass by value and pass by reference R

2. Detail about call by name R

3. Discuss in detail about how to access non local data present in a procedure. R

4. What are the different tasks performed during the prologue and epilogue of

a procedure call?

R

LU -6: Implementing Subprograms – Stack Dynamic Local Variables (1 Period)

LU Objectives

1. To study about stack storage management

2. To learn about local variables dynamic storage management

LU Outcomes

56

1. Allocate and manage storage in stack

2. Allocate local variables in dynamic stack

Resource Reference

1. Section 7.7, 7.8 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain in detail about stack based storage management. R

2. How can compiler help for performing dynamic storage management? R

3. Describe about dangling reference problem with an example. R

4. How can local and non local data be differentiated in a stack based storage

environment?

U

5. Define recursion. R

LU -7: Dynamic binding of method calls to methods (1 Period)

LU Objectives

1. To understand dynamic binding

2. To know how one method can handle call for another method

LU Outcomes

1. Handle nested method calls

2. Know about recursive method calls

Resource Reference

1. Section 7.7, 7.8 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain in detail about dynamic binding. R

2. Describe how compiler handles nested method calls. R

3. Can the method used for handling nested calls be used for recursive calls.

Justify.

L

4. State the advantages of dynamic binding. R

LU -8: Overview of Memory Management, Virtual Memory, Process Creation (1 Period)

57

LU Objectives

1. To learn about virtual memory

2. To describe about process creation

LU Outcomes

1. Improve program efficiency using virtual memory

2. Process creation and memory management

Resource Reference

1. Section 4.3, 9, 10 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is the need for virtual memory? U

2. How larger programs can be run in a fixed virtual address size? U

3. Given the following code segment with the variable ‘a’ along with another

set of 100 variables declared in some other part of the program.

f1( )

{

int sum,n,i;

double average, realmin = 0.000000001;

sum = 0;

do

{

printf(“Enter the numbers of iteration\n”);

scanf(“%d”, &n);

} while (n < 0)

for (i = 0; i < n; i++)

sum = sum + i;

average = sum / (n + realmin);

}

Suggest suitable data structure for increasing (10, 100,1000,10000,

100000) value of ‘n’ (the number symbol references increases as the value

of ‘n’ increases). Comment on the performance of the program execution

with respect to the speed of symbol table access

A

4. What are the applications of virtual memory? R

5. What are the causes of memory overhead? R

58

6. How to reduce memory overhead? R

LU -9: Overview of I/O Systems, Device Drivers, System Boot (1 Period)

LU Objectives

1. To know the overview of I/O systems

2. To understand the various operations performed in booting

LU Outcomes

1. Understand how interrupts can be used for I/O programming

2. List the steps in system booting

Resource Reference

1. Section 10 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How can interrupts be used for I/O programming? R

2. What is Booting/ R

3. What are device drivers? R

4. What are BIOS function calls? R

5. Describe how device management is performed by an OS. U

6. What is meant by mounting and unmounting drives? R

7. Explain the various procedures in Direct Memory Access. R

MODULE-II - Overview

This Module gives the introduction about the symbol table structure, local and global

symbol table management and also the intermediate representation of the languages. It also gives

overview about the issues in generating the high, medium and low level intermediate languages.

In early optimization it explains about the constant expression evaluation, value numbering, copy

propagation and sparse conditional constant propagation.

LU -10: Introduction and Overview – Symbol table structure (1 Period)

LU Objectives

1. To explore issues involved in structuring symbol tables to accommodate the features of

59

modern programming languages.

2. To know about the symbol attributes and to construct a local symbol table.

LU Outcomes

1. Identify the issues related to the symbol table structure.

2. Work with the different storage classes, scope rules.

3. Construct local symbol table.

Resource Reference

1. Section 3.1 and 3.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define scope. R

2. Define extent. Give an example. R

3. Describe the visibility of a variable. U

4. List out some of the storage classes. R

5. Explain in detail about the principles prescribed for structuring the symbol

table and to access its variables during run time.

R

6. What is the use of the symbol table entry? R

7. List out some of the typical fields in symbol-table entries. R

LU -11: Local and Global Symbol table management (1 Period)

LU Objectives

1. To commence the concept of Local Symbol-Table management.

2. To comprehend the concept of Global Symbol-Table management.

LU Outcomes

1. Manage the Local Symbol-Table

2. Identify the ways to organize a Global Symbol-Table that includes importing and

exporting scopes.

3. Design symbol table for local and global symbols.

Resource Reference

2. Section 3.3 and 3.4 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

60

1. Differentiate between static and dynamic data. U

2. Under what circumstances static data will be applicable? U

3. Where do you store the static data and dynamic data? R

4. Consider the following ‘C’ program

#include<stdio.h>

int a,b,c;

int f1()

{

int a,c;

a=10;

c=10;

printf("f1: a=%d b=%d c=%d\n",a,b,c);

return 1;

}

int f2()

{

int b,c;

b=220;

c=230;

printf("f2:a=%db=%dc=%d\n",a,b,c);

return 1;

}

int main()

{

a=10;

b=20;

c=30;

printf("main:a=%db=%dc=%d\n",a,b,c);

f1();

f2();

return 1;

}

Identify the local and global variables in the above program and show the

A

61

output after the execution.

5. What is an activation record? R

6. In which area of the memory, the activation record is placed? U

7. How memory is requested from the heap? U

8. What happens when the requested heap memory is not released even after

the use of the variable’s usage is completed?

U

LU -12: Intermediate representation – Issues – High level, medium level, low level intermediate

languages (1 period)

LU Objectives

1. To recognize the issues involved in the design of intermediate-code representations.

2. To know about the several intermediate-code forms with its advantages.

LU Outcomes

1. Identify the issues in the intermediate-code representation design.

2. Address the issues in the generation of the intermediate-code forms.

Resource Reference

1. Sections 4.1 – 4.5 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the issues in designing intermediate representations. R

2. How can we identify the type of intermediate representation needed for a

particular programming construct?

U

3. What is multi level intermediate language? R

4. Where can we use High-Level Intermediate Languages? U

5. What is the use of Low-Level Intermediate Language? U

6. What are the issues that may arise when using the Low-Level

Intermediate Language in target architecture?

U

7. Why Medium-Level Intermediate Language is designed? U

LU -13: MIR, HIR, LIR (1 Period)

LU Objectives

62

1. To understand the different intermediate representations such as MIR, HIR, LIR.

2. To select the appropriate intermediate representation for the design of an optimization.

LU Outcomes

1. Represent intermediate code at its place of use.

2. Identify the appropriate intermediate representation.

Resource Reference

1. Section 4.6 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Describe the changes to be made to instructions and operands in MIR to

modify it as a HIR.

R

2. State the two methods to represent conditional branching. R

3. What are the features provided by the Medium-Level

Intermediate Language?

U

4. What is the use of component-selection operators? U

5. Explain the changes to be made to instructions and operands in MIR to

modify it as a LIR.

U

6. What are the five types of assignment instructions that are used by Low-

Level Intermediate Language?

U

LU -14: ICAN for Intermediate code (1 Period)

LU Objectives

1. To utilize ICAN for representing intermediate code using ICAN

LU Outcomes

1. Use ICAN for representing intermediate code

2. Represent MIR, HIR and LIR using ICAN tuples

Resource Reference

1. Section 4.7 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Is there any need for additional operators while representing the HIR in

ICAN representation?

U

2. Explain the different ICAN types used for intermediate code representation. R

63

3. Discuss in detail how MIR can be represented using ICAN tuples. R

4. Name the data structures used in a procedure. R

5. How is quadruples different from triples? Which of the representation is

more efficient? Why?

U

6. Write notes on DAG. R

7. Write a c function to find the sum of 2 matrics. Now construct an abstract

syntax tree for the above function.

A

8. Translate the C function

while(i<10)

A=b+c;

into i) Quadruples ii)Triples iii) Abstract Syntax Trees

9. Construct a HIR representation for the function given in question 7 A

LU -15: Introduction to Optimization (1 Period)

LU Objectives

1. To introduce the concept of optimization

2. To understand issues to be considered in optimizing

LU Outcomes

1. Identify the different types of optimizations

2. Bring out the significance of optimization

3. Find out the effective order of optimizations

Resource Reference

1. Sections 11.1 to11.4 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define optimization. R

2. Why the optimization is said to be a misnomer? U

3. What are the two fundamental criteria that decide which optimizations

should be applied to a procedure?

R

4. How the optimization techniques are getting ordered? U

5. What are the classifications of data-flow information? U

6. Distinguish may versus must summary information and flow-sensitive

versus flow-insensitive problems.

U

7. What is the use of flow-sensitive versus flow-insensitive classification? U

64

8. Why may versus must classification is important? U

LU -16: Early optimization – Constant expression evaluation, Scalar replacement aggregates

(1 Period)

LU Objectives

1. To know about the series of local and global optimizations.

2. To understand the optimization that evaluates at compile time of expressions whose

operands are known to be constant.

3. To get the idea of optimization that makes the other optimizations applicable to

components of aggregates.

LU Outcomes

1. Compare the types of optimizations.

2. Comprehend the Constant expression evaluation.

3. Evaluate the Scalar replacement aggregates.

Resource Reference

1. Section 12.1 and 12.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List out the early optimization techniques. R

2. What is meant by constant folding? U

3. How the implementation of Constant-Expression Evaluation varies with

respect to different data types?

U

4. What are the exceptions that may occur while applying the Constant-

Expression Evaluation and how it can be replaced?

U

5. What are the problems that may arise with respect to the floating-point

values?

R

6. What is the application of Scalar replacement of Aggregates? R

7. Where the Scalar replacement of Aggregates is useful in particular? U

8. What is meant by aggregate components? U

9. How the Scalar replacement of Aggregates optimization works? U

LU -17: Algebraic simplification and reassociations (1 Period)

LU Objectives

65

1. To understand the algebraic properties of operators and to apply it to simplify the

expressions.

2. To apply a specific algebraic property to divide an expression into parts.

LU Outcomes

1. Apply the algebraic properties to simplify the expressions.

2. Use a specific algebraic property to divide an expression into parts.

Resource Reference

1. Section 12.3 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is meant by algebraic simplification? U

2. What is meant by reassociation? U

3. List out some of the examples for the algebraic simplification with respect to

different operators.

R

4. Algebraic simplification is viewed as strength reduction. Why? U

5. Where the simplification technique will be more effective? U

6. Write down the algorithm for algebraic simplification. R

7. What is meant by canonicalization? U

8. Brief the application of algebraic simplification to floating-point expressions. U

9. Simplify the following Pascal fragment. The address of a[i,j] is

base_a + ((I – lo1)*(hi2 –lo2 + 1 ) + j –lo2)*w.

A

LU -18: Value numbering (1 Period)

LU Objectives

1. To understand and apply the methods for determining that two computations are

equivalent.

2. To know about the easiest approach of value numbering.

LU Outcomes

1. Apply the value numbering method in optimization.

2. Comprehend the concept of global value numbering.

Resource Reference

1. Section 12.4 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

66

Sl.No Test Questions Level

1. List out the steps performed for the value numbering process. U

2. How the value numbering can be applied to basic blocks? U

3. Apply the value numbering for the following example.

a <- x V y

b <- x V y

if !z goto L1

x <- !z

c <- x & y

if x &y trap 30

A

4. Define value graph. U

5. How the nodes are named in value graph? U

6. List out the data structures used in the value graph. R

7. List out the steps involved in the construction of value graph. R

8. How the global value numbering optimization is applied to a program? U

9. Convert the following code into value graph.

a <- 3

b <- 3

c <- a + 1

d <- b + 1

if c >= 3 then …

A

10. Write down the partitioning algorithm to do global value numbering by

computing congruence.

U

LU -19: Copy Propagation (1 Period)

LU Objectives

1. To understand and apply copy propagation transformation.

LU Outcomes

1. Apply the copy propagation transformation in optimization.

Resource Reference

1. Section 12.5 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

67

Sl.No Test Questions Level

1. Where the copy propagation can be used? U

2. Write down the algorithm for local copy propagation. U

3. Define the COPY() and KILL() sets. U

4. Define the data-flow equations of CPin() and CPout() sets. U

5. Write down the steps to perform the global copy propagation from the local

copy propagation.

U

6. Explain the linear-time local copy propagation algorithm with an example. A

LU -20: Sparse conditional Constant Propagation (1 Period)

LU Objectives

1. To understand the concept of constant propagation.

LU Outcomes

1. Use the sparse conditional constant propagation.

Resource Reference

1. Section 12.6 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List out the procedures used by the routines of constant propagation. R

2. How the constant propagation differs from other optimization techniques? U

3. Define SSA. R

4. Write down the SSA based algorithm for sparse conditional constant

propagation

U

LU -21: Loop optimization-Induction variable optimizations (2 Periods)

LU Objectives

1. To know about the optimization technique that operates effectively on loops.

2. To identify and understand the various techniques and steps available in induction

variable optimizations.

LU Outcomes

68

1. Identify the different loop optimization techniques.

2. Work Out induction variable optimization.

Resource Reference

1. Section 14.1 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define induction variable. R

2. Briefly explain the process of identifying the induction variables with an

example.

U

3. What are the types of induction variables? R

4. List out some of the functions used in identifying the induction variables. R

5. What is the use of strength reduction? U

6. What is meant by live variable analysis and mention its need? U

7. When a variable is said to be live? U

LU -22: Unnecessary boundary checking elimination (1 Period)

LU Objectives

1. To know about the technique available to find the boundary of a variable.

LU Outcomes

1. Work with the boundary checking elimination

Resource Reference

1. Section 14.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is the use of range checking? U

2. What are the assumptions to be made for the concreteness of the bounds-

checking?

U

3. Define range expression with its default form. R

4. Explain in detail about the bounds checking with an example. U

5. Is it necessary to perform the bounds checking? Justify your answer. U

MODULE-III - Overview

69

This Module explains various procedures that can be followed for the optimization. It also

explains about the in-line and leaf routine optimization. The process of allocating registers for the

object and the issues related to that are also detailed. It also gives the overview of graph coloring

along with the details such as top level structure, inference graph, and register coalescing, pruning

inference graph etc., related to the same. This module also tells the essence of scheduling for the

optimization of memory hierarchy with the overview about the scheduling schemes such as

instruction scheduling, speculative scheduling and traces scheduling.

LU -23: Procedure optimization – Tail Call optimization and Tail-Recursion Elimination-in-line

expansion (1 Period)

LU Objectives

1. To introduce procedure optimization

2. To discuss about the different types of procedure optimization

LU Outcomes

1. Apply optimization to procedure calls

2. Work out tail recursion elimination to change recursion into a loop

3. Perform low level inline expansion to optimize procedures

Resource Reference

1. Section 15.1 – 15.3 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss the various issues that arise with the procedure integration. R

2. Define procedure integration. R

3. How the problem of multiple compilation units can be overcome in

procedure integration?

U

4. If the caller and callee are written in different languages, then how it can

be processed?

U

5. Whether there is any need to keep intermediate code copies of routines that

have been inlined?

U

6. What are the heuristics that are to be considered to decide the procedure to

be inlined?

R

7. How the in-line is different from the procedure integration? U

8. What is the main use of inlining in particular? R

9. What are the important mechanisms that are essential to provide an in- line

expansion?

R

70

10. How do you perform tail call optimization? R

LU -24: Leaf routine optimization and shrink wrapping (1 Period)

LU Objectives

1. To know what is a leaf routine

2. To learn how to perform leaf routine optimization and shrink wrapping

LU Outcomes

1. Optimize leaf routine calls

2. Apply generalized shrink wrapping for all routines

Resource Reference

1. Section 15.4 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is a leaf routine? R

2. Describe about leaf routine optimization. R

3. How can we use shrink wrapping for optimizing all routines? R

4. List the name of data flow properties used for performing shrink wrapping R

5. Write a ICAN routine to perform leaf routine optimization on LIR code

assuming that parameters are passed in registers r1 through r6 and that r7

through r13 are saved by the caller.

A

6. How can we make sure that there is enough stack space for all leaf

procedures, while performing leaf routine optimization?

U

LU -25: Register allocation and assignment (1 Period)

LU Objectives

1. To understand significance of register allocation

2. To learn how to perform register assignment

LU Outcomes

1. Allocate register using different methods like Graph Coloring

2. Assign register appropriately for each value

71

Resource Reference

1. Section 16.1 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Differentiate register allocation and register assignment. R

2. How do you allocate register for inner loop index variable and outer loop

index variable? Justify your answer

R

3. What are the issues in assigning the register to the variable R

4. Write down the algorithm for getting a free register to be used in code

generation process and explain. Justify, whether you will get the same

register everytime you call this algorithm

R

LU -26: Graph coloring- overview, top level structure (1 Period)

LU Objectives

1. To understand graph coloring problem

2. To learn how graph coloring can be used for register allocation

LU Outcomes

1. Allocate register using graph coloring algorithm

2. Design data structures used in register allocation

Resource Reference

1. Section 16.3.1, 16.3.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Which was the first compiler to use graph coloring algorithm for register allocation?

R

2. Explain the global type definitions and data structures used in register

allocation by

R

3. List the steps to be performed for register allocation by graph coloring. R

4. What is a interference graph? R

5. Which method is used for interference graph as an adjacency matrix? R

6. State the top level of graph coloring register allocation algorithm. R

72

LU -27: Graph coloring- Allocatable objects, Inference Graph (1 Period)

LU Objectives

1. To know about allocatable objects

2. To understand interferences between variables

LU Outcomes

1. Identify the allocatable objects alone in a given piece of code

2. Find inferences between variables

3. Build interference graph

Resource Reference

1. Section 16.3.3 - 16.3.5 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the nodes in the inference graph? R

2. Explain in detail the structure of the inference graph. R

3. Name the different data structures used for representing interference

graph.

R

4. What are the space requirements for the a) adjacency matrix and b)

adjacency lists for a procedure with w webs?

U

5. Define web. Give example R

6. What is the advantage of using webs instead of variables? U

7. Write down the algorithm for Build_AdjMtx() used to build adjacency matrix

for an inference graph.

R

LU -28: Graph coloring- Register Coalescing, Computing Spill Costs (1 Period)

LU Objectives

1. To discuss in detail about register coalescing

2. To understand and compute spill costs

LU Outcomes

1. Transform adjacency matrix using register coalescing

2. Compute spill costs to spill and restore register contents

Resource Reference

73

1. Section 16.3.6 - 16.3.7 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is Register Coalescing? R

2. Discuss in detail the significance of register coalescing. R

3. Explain the algorithm for register coalescing. R

4. Give the formula for computing cost of spilling a web. R

5. State the issues to be considered while computing spill costs. R

6. Explain how Build_AdjMtx() and Coalesce_Registers() can be used to enable

machine instructions that require specific source and target registers to

have their operands and results in those registers.

U

LU -29: Graph coloring-Pruning Inference Graph, Assigning Registers (2 Periods)

LU Objectives

1. To learn about pruning interference graph

2. To understand register assignment

LU Outcomes

1. Prune inference graph

2. Assign colors to real and symbolic registers

3. Reduce register pressure for effective register allocation

Resource Reference

1. Section 16.3.8, 16.3.9 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is the need of pruning inference graph? R

2. State the different methods used for pruning. R

3. When should we apply optimistic heuristic method for pruning? U

4. Write down the algorithm to assign colors for real and symbolic registers. R

5. Define register pressure. R

6. Modify the procedure Gen_Spill_Code() to handle rematerialization within a

basic block.

U

74

LU -30: Data flow analysis (1 Period)

LU Objectives

1. To understand the significance of dataflow analysis

2. To learn about side effect analysis

LU Outcomes

1. Analyze flow insensitive side effects

2. Compute values of DMOD(), GMOD() for piece of code

3. Calculate time complexity for working out data flow analysis

Resource Reference

1. Section 19.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. State the need for data flow analysis. R

2. List the names of the functions used to characterize side effects. R

3. Explain the algorithm for computing GMOD() using Tarjan’s algorithm. R

4. How can we reduce the time complexity for performing side effect analysis? U

5. Write notes on the issues in computing side effects. U

LU -31: Constant propagation (1 Period)

LU Objectives

1. To understand the basics of constant propagation

2. To learn about interprocedural constant propagation using ICP

LU Outcomes

1. Perform interprocedural constant propagation using only forward jump functions

2. Identify all possible types of jump and return jump functions

Resource Reference

1. Section 19.3 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is constant propagation? R

75

2. Write in brief about jump and return jump functions. R

3. Discuss in detail the procedure to perform interprocedural constant

propagation using only forward jump functions.

R

4. What is a ICP? How it is used in constant propagation? U

5. Describe all the possible choices of jump and return jump functions. R

LU -32: Alias analysis – register allocation – global references (1 Period)

LU Objectives

1. To learn about alias analysis

2. To understand interprocedural register allocation

LU Outcomes

1. Perform alias analysis for interprocedural code optimization

2. Work out register allocation for interprocedural optimization

3. Execute aggregation of global references

Resource Reference

1. Section 19.4 – 19.7 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define alias. R

2. Write down the algorithm for computing aliases of non local variables using

binding graph

R

3. Differentiate call and binding graphs. U

4. Write notes on binding graphs. R

5. Explain the different methods used for achieving interprocedural

optimization.

R

6. Define cloning. R

7. State some of the issues to be considered during register allocation. Also

discuss, how to handle them.

U

LU -33: Optimization for memory hierarchy (1 Period)

LU Objectives

76

1. To learn how to efficiently use the memory hierarchy

2. To understand code optimization for memory hierarchy

LU Outcomes

1. Realize the need of cache memory

2. Experiment code optimization to make memory access efficient

Resource Reference

1. Section 20 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Why do we need cache memory? R

2. What are the different types of cache memory? R

3. What is the impact of using data and instruction caches in speeding

memory access?

R

4. Explain the different techniques used in Instruction cache optimization? R

5. How can we optimize code by using memory hierarchy? R

6. Write notes on scalar replacement of array references. R

7. Which of the code optimizations can be used to enhance the effect of

procedure sorting?Why?

U

LU -34: Code Scheduling (1 Period)

LU Objectives

1. To introduce basics of code scheduling

LU Outcomes

1. Work with code scheduling

2. Classify different types of code scheduling

Resource Reference

1. Section 17 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Name the different types of code scheduling approaches. R

2. Why do we need code scheduling in CISC machines? U

3. What is loop unrolling? R

77

4. Define software pipelining. R

LU -35: Instruction scheduling (1 Period)

LU Objectives

1. To know about instruction scheduling

2. To learn about the issues to be considered during instruction scheduling

LU Outcomes

1. Realize the significance of instruction scheduling

2. Handle issues during scheduling process

3. Discriminate instruction scheduling for RISC, CISC and Superscalar architectures

Resource Reference

1. Section 17.1 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is branch scheduling? R

2. What is a delay slot? How can we fill it? R

3. Explain how delay calculation is performed in list scheduling. R

4. Why should scheduling be performed before register allocation? U

5. Discuss how code scheduling can be performed across basic blocks. R

LU -36: Speculative scheduling (1 Period)

LU Objectives

1. To comprehend speculative scheduling

LU Outcomes

1. Include speculative loads for optimization

2. Carry out safe and unsafe speculative scheduling

Resource Reference

2. Section 17.2, 17.3 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

78

Sl.No Test Questions Level

1. Define speculative loading. R

2. Define code boosting. R

3. Differentiate safe and unsafe speculative scheduling. U

4. What is the need of speculative scheduling in pipelining? R

LU -37: Software pipelining, Trace Scheduling (1 Period)

LU Objectives

1. To learn in detail about software pipelining

2. To know different methods to introduce software pipelining

3. To understand trace scheduling fundamentals

LU Outcomes

1. Make out the need for software pipelining

2. Work out the different procedures for software pipelining

3. Schedule traces

Resource Reference

1. Section 17.4, 17.5 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Why should we perform software pipelining? R

2. Explain the method for working out window scheduling with proper

example.

R

3. How can we decide that a particular loop can be unrolled? U

4. Define variable expansion. R

5. How can register renaming be used to eliminate unnecessary dependencies? R

6. Define trace. R

7. How can we schedule traces? R

LU -38: Run-time support – Register usage – local stack frame – run-time stack (1 Period)

LU Objectives

79

1. To understand run time issues

2. To know about runtime support to be provided for compilers

LU Outcomes

1. Impart runtime support for handling runtime issues

2. Discover the need of runtime stack

Resource Reference

1. Section 5.1 – 5.4 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Give some of the runtime issues. R

2. Discuss about the various data representations and instructions needed for

the different data types?

R

3. State the different concerns available for register usage. R

4. Though register usage increases efficiency of a code, it is preferred to have

a memory area called stack for some purposes. What are those purposes?

Why?

U

5. Differentiate static links and dynamic links in runtime stack. U

LU -39: Code sharing – position–independent code (1 Period)

LU Objectives

1. To learn about code sharing

2. To understand position independent code

LU Outcomes

1. Identify issues in utilizing shared libraries

2. Generate position independent code for shared

Resource Reference

1. Section 5.7 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. State some of the issues to be considered to utilize shared libraries. R

80

2. What is position independent code? R

3. Explain the issues in accessing shared objects. R

4. Define stud. R

5. Write notes on different strategies, how stud works. U

MODULE-IV - Overview

This Module gives the introduction about the virtual machine architecture. It also discusses

about the Pascal P-code and object-oriented virtual machine JVM. It deals with the infrastructure

used for the common language representation. The security issues that arise due to

implementation of virtual machine in target architecture are also dealt.

LU -40: Introduction to Virtual Machines (VM) (1 Period)

LU Objectives

1. To introduce fundamentals of virtual machines

2. To learn basics of different types of virtual machines

LU Outcomes

1. Comprehend the need of virtualization

2. Identify the difference between process and system virtual machines

Resource Reference

1. Section 1 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define Virtualization R

2. What is the advantage of using virtual machines? U

3. What is a virtual machine monitor? R

4. Write notes on Emulation. R

5. How can we achieve platform independence by using virtual machines? U

6. What is a high level language Virtual machine? R

7. Relate the significance of codesigned VMs. U

8. What are the bottlenecks associates with virtualization? U

9. Compare System VM and HLL VM U

10. Discuss the cost benefit ratio due to virtualization of the resources U

81

LU -41: Pascal P-Code VM (1 Period)

LU Objectives

1. To know high level language VM architecture

2. To learn basics of Pascal P-Code VM

LU Outcomes

1. Comprehend the usage of high level language VM

2. Relate the details of Pascal P-code VM

Resource Reference

1. Section 5.1 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Write notes on high level language VM. R

2. Give some popular examples for high level language VM. R

3. Name the two major parts of P-code VM. R

4. Explain the memory architecture of P-code VM. R

5. List some of the features of Pascal P-code VM. R

6. How is P-code VM different from modern HLL VMs? U

LU -42: Object-Oriented VMs – Java VM Architecture (1 Period)

LU Objectives

1. To know object oriented high level language VM

2. To learn basics of Java VM

LU Outcomes

1. Comprehend the usage of Object Oriented high level language VM

2. Relate the details of Java VM architecture

Resource Reference

1. Section 5.2, 5.3 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

82

Sl.No Test Questions Level

1. What are the additional features supported by a network oriented HLL VM? R

2. What is the use of JNI? R

3. How is security and protection included in Java VM? Explain. U

4. Explain the architecture of Java VM. R

5. Elaborate the different data types supported by Java. R

6. Write notes on stack structure used by Java. R

7. Describe the instruction set of Java VM. R

8. Write in brief about exception handling in Java. R

9. Whether Java VM is a truly platform independent? U

10. Describe the sand box model of Java VM R

LU -43: Common Language Infrastructure (1 Period)

LU Objectives

1. To learn the fundamentals of Common Language Infrastructure

2. To know about Microsoft Intermediate Language

LU Outcomes

1. Identify the special features in CLI

2. Find how CLI is different from Java VM

3. Use CLI for languages like C and C++

Resource Reference

1. Section 5.5 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Compare and Contrast Java VM and CLI. U

2. How the portability is achieved in using CLI? U

3. What are the components of CLI? R

4. Describe the architecture of CLI. R

5. How CLI can be used for languages like C and C++? U

6. What is isolation? R

7. How can CLI tackle the isolation problem? R

83

8. How can CLI support C language features like memory allocation and

access?

U

LU -44: Dynamic Class Loading (1 Period)

LU Objectives

1. To introduce the components of Java VM

2. To learn about dynamic class loading

LU Outcomes

1. Know the different components of Java VM

2. Realize how dynamic class loading works

Resource Reference

1. Section 6.1 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Compare static and dynamic loading of classes U

2. What are the advantages of dynamic class loading? R

3. Explain the various components present in Java VM. R

4. What is the impact of memory requirements in loading a large size

program?

U

5. What is dynamic class loading? R

6. What happens if a program is loaded only when it is needed? U

LU -45: Security (1 Period)

LU Objectives

1. To know in detail about Java protection sandbox

2. To learn about security and protection

LU Outcomes

1. Use Java protection sandbox to ensure security

2. Find out how signing can enhance the features of Java protection sandbox

Resource Reference

84

1. Section 6.2 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the major security issues to be handled by Java protection sandbox?

R

2. How can we create a barrier around Java execution environment using

sandbox?

U

3. Explain how intraprocess protection is achieved in Java VM? R

4. Write notes on role of Java security manager. R

5. Explain how encryption can be used to sign a binary file. R

6. How can method call stack be used to enforce protection? U

LU -46: Garbage Collection (1 Period)

LU Objectives

1. To understand the basics of garbage collection

2. To learn in detail about different types of garbage collectors

LU Outcomes

1. Perform Garbage collection using heap

2. Analyze the features of different garbage collectors

3. Identify root pointers for garbage collection

Resource Reference

1. Section 6.3 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How can we identify the memory is leaking? U

2. What is the impact of leaky memory? U

3. What is garbage? Explain how it could be collected. R

4. Does garbage collection affect system performance? Explain. U

5. How can we identify root pointers? R

6. Explain the functionality of mark and sweep collector. R

7. What is the significance of concurrent collector? U

8. Which of the collectors is efficient? How? U

85

LU -47: Optimization (1 Period)

LU Objectives

1. To know the features of emulation engine

2. To understand the various optimization techniques for HLL VMs

LU Outcomes

1. Enhance performance of HLL VMs

2. Discover the role of optimizing runtime compiler

Resource Reference

1. Section 6.5, 6.6 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Write the different methods of implementing emulation. R

2. Discuss in detail the different optimization techniques for HLL VMs. R

3. Define method inlining. R

4. What is deferred compilation? R

5. Describe the scenarios when on stack replacement is needed. U

6. Define escape analysis. R

MODULE-V - Overview

This module explains about the emulation techniques that are followed in the

implementation of virtual machine. It also explains in detail about the interpretation of source into

the binary(machine) representation. The issues that arise with respect to the instruction set during

the implementation of source code in target architecture are also dealt.

LU -48: Emulation – Interpretation and Binary Translation (1 Period)

LU Objectives

1. To understand emulation of VMs

2. To know the details of interpretation

LU Outcomes

1. Comprehend the significance of emulation

2. Discriminate basic and threaded interpretation

86

3. Find out the limitations of static binary translation

Resource Reference

1. Section 2.1 – 2.5 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define emulation. R

2. Compare and contrast interpretation and binary translation. U

3. How can threaded interpretation reduce the execution cost of the

interpreter?

U

4. What is predecoding? R

5. Differentiate predecoding interpreter and decode and dispatch interpreter. U

6. How dynamic translation is efficient compared to static translation? U

7. What is JIT compiler? R

LU -49: Instruction Set Issues (1 Period)

LU Objectives

1. To understand the different instruction set issues

LU Outcomes

1. Identify different issues to be handled during emulation

2. Represent machine architecture of host processor affects emulation

Resource Reference

1. Section 2.8 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the different issues to be handled during emulation. R

2. Write down the format of the instruction set in JVM. R

3. What is special in JVM with respect to stack? U

4. Whether the instruction set of JVM can be translated to all platforms? U

5. Is there any overhead associated with executing with JVM instructions?

Explain.

R

6. How can byte order within a word affect emulation performance? U

7. Write notes on effect of memory alignment in emulation performance. R

87

LU -50: Process Virtual Machines (2 Periods)

LU Objectives

1. To understand in detail about process VMs

2. To discuss various issues to be considered in implementing process VMs

LU Outcomes

1. Address different types of compatibility issues

2. Construct a process VM

Resource Reference

1. Section 3 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is the need for a process VM? R

2. Describe the functions of a process VM. R

3. Explain the different compatibility issues to be considered while

implementing a VM.

R

4. What is intrinsic compatibility? R

5. Explain how state mapping is carried out. R

6. How can we eliminate self referencing code or self modifying code? U

LU -51: Profiling (1 Period)

LU Objectives

1. To understand in detail about profiling

2. To discuss different methods of profiling

LU Outcomes

1. Identify the need of profiling

2. Discriminate the role of profiling

Resource Reference

1. Section 4.2 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

88

Sl.No Test Questions Level

1. What is the need for profiling? R

2. Explain in detail the different types of profile data used in VM. R

3. Discuss the methods for collecting a profile. R

4. What are the advantages of profiling? How does it impact on program

execution?

U

5. What is the use of profile table during interpretation? R

6. What is profile counter decaying? Why is it needed? U

LU -52: Migration (1 Period)

LU Objectives

1. To learn about migration

LU Outcomes

1. Identify the need for migrating computing environments

2. Migrate VMs using VMotion

Resource Reference

1. Section 10.2 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. When should we migrate a computing environment? U

2. What are the issues in migration? R

3. List out the steps in the migration of code and data in Process VM and

explain.

R

4. What is capsuling? R

5. Explain how migration of VMs is carried out using VMotion. R

LU -53: Grids (1 Period)

LU Objectives

1. To understand basics of Grids

LU Outcomes

89

1. Realize grid computing as a form of virtualization

2. Differentiate Grids and VMs

Resource Reference

1. Section 10.3 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain grid computing. R

2. How is Grid computing different from a conventional VM? U

3. Explain the various characteristics of an ideal Grid. R

4. How can we implement Grid on a classic VM? Discuss in detail. R

LU -54: Examples of real world implementations of system software (1 Period)

LU Objectives

1. To learn the features in real world machines

2. To understand the tasks of operating system

LU Outcomes

1. Identify the features supported in real machines

2. Use operating system to manage system resources of real machines

Resource Reference

1. Appendix A of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the various architectural features supported by a real machine. R

2. How can OS perform processor management? R

3. What are system calls? R

4. Explain about interrupts. Write about the applications. U

5. How are signals different from interrupts? U

90

COURSE DETAILS

Subject Code : CS9224

Subject Name : Information Security

Semester : II Semester

Prepared By : Dr.Kannan Balasubramanian

Approved By : Dr.K.Muneeswaran

Effective Date : 06.02.2013

Revision No. : 1

Course objective

1. To expose the students to the fundamentals of access control and security policies.

2. To introduce the students to Encryption,Hashing and Key Management techniques.

3. To expose the students to Digital Signatures and Cipher techniques.

4. To introduce the students to the design principles of Secure Information Systems.

5. To introduce the students to the Information flow and confinement problem.

6. To expose the students to Auditing, Vulnerability analysis, Malicious logic and

Intrusion Detection.

7. To introduce the students to Network and System Security.

8. To expose the students to User and Program security.

Course Prerequisite

Knowledge of Computer Programming and Computer Networks

Course Competencies

1. Identify the components of information Security

2. Evaluate the Policies for confidentiality and Integrity

3. Evaluate the Access Control Matrix Model

4. Classify the cryptographic mechanisms and tools

5. Implement Digital Signatures and encryption algorithms

6. Categorize System Design Principles and Representation of Identity

7. Analyze the Information Flow and Confinement Problem

8. Critique the tools for malicious logic and vulnerability analysis

9. Infer the Auditing mechanism

10. Examine the Intrusion Detection Security mechanism

11. Create mechanisms for Network Security

12. Implement the System Security procedures

91

13. Organize the User Security tools and techniques

14. Apply procedures to program Security

(3- Substantially, 2-Moderately, 1-Slightly)

Course Assessment Matrix

Course Title : Information Security

Competencies

Programme Outcomes

1 2 3 4 5 6 7 8 9 10 11 12

Identify the components of information

Security

3 2 1 1 1 3 2 2 2 1

Evaluate the policies for Confidentiality

and Integrity

3 1 2 2 3 2 2 2

2

1 1

Evaluate the Access Control Matrix Model 3 1 2 3 1 2 2 1

Classify the cryptographic mechanisms and

tools 3 2 3 2 2 2 3

Implement Digital Signatures and

Encryption Algorithms 3 3 2 2 2 3

Categorize System Design Principles and

Representation of Identity

3 2 2 1 3 3 2 2 2

Analyze the Information Flow and

Confinement problem 3 2 2 2 3 3 3 2 2 1 1 1

Critique the tools for Malicious logic and

Vulnerability analysis

3 2 1 2 2 3 2 2 2 2 1 1

Infer the auditing mechanism 1 1 2 2 2 2 3 2 2

Examine the intrusion detection Security

mechanism 3 2 1 1 3 3 2 2 2 3

Create mechanisms for Network Security 3 2 1 1 1 3 3 2 2 2

Implement the System Security Procedures 3 2 1 1 2 3 2 2 2 1 2

Interpret the functions and uses of firewalls 3 2 2 1 3 3 3 2 2 3

Organize the User Security tools and

techniques 3 2 1 2 2 3 2 2 2 2 2

Apply procedures to program security 3 2 2 1 3 3 2 2 1

92

Concept Map

Syllabus (As per Anna University)

UNIT I

An Overview of Computer Security, Access Control Matrix, Policy-Security policies, Confidentiality

policies, Integrity policies and Hybrid policies.

UNIT II

Cryptography- Key management – Session and Interchange keys, Key exchange and generation,

Cryptographic Key Infrastructure, Storing and Revoking Keys, Digital Signatures, Cipher

Techniques

UNIT III

Systems: Design Principles, Representing Identity, Access Control Mechanisms,

Information Flow and Confinement Problem.

UNIT-IV

Malicious Logic, Vulnerability Analysis, Auditing and Intrusion Detection

UNIT-V

Network Security, System Security, User Security and Program Security

93

Total Hours: 45

TEXTBOOK:

Matt Bishop ,“Computer Security art and science ”, Second Edition, Pearson Education

REFERENCES:

1.Mark Merkow, James Breithaupt “ Information Security : Principles and Practices”

First Edition, Pearson Education,

2. Whitman, “Principles of Information Security”, Second Edition, Pearson

Education

3. William Stallings, “Cryptography and Network Security: Principles and Practices”,

Third Edition, Pearson Education.

4. Charles P.Pfleeger and Shari Lawrence Pfleeger,”Security in Computing” Third

Edition.

ONLINE MATERIALS:

1. http://www.information-security-policies-and-standards.com/weblinks.htm -Resources regarding information security policies.

2. http://www.opengroup.org/security/links.html Link to Information security resources 3. http://www.ieee-security.org/Cipher/InterestingLinks.html Information Security Resources

4. http://www.infosecresources.com Information Security Resources 5. http://www.backtrack-linux.org Linux Distribution focusing on Information Security 6. http://www.sagemath.org Cryptographic tools

7. http://www.networksecuritytoolkit.org Network Security Toolkit 8. http://www.cryptool.com Tool for Cryptography and Cryptanalysis. 9. http://www.sectools.org Information Security Tools

10. http://www.cse.sc.edu/~maxal/e-books.html Resources on Cryptography and Security. 11. http://www.isthe.com/chongo/tech/math/index.html Prime Numbers and Cryptography.

12. http://www.cosic.esat.kuleuven.be/publications/thesis-201.pdf Mathematical aspects of Symmetric-key cryptography.

13. http://math.scu.edu/~eschaefe/crylec.pdf An Introduction to Cryptography and Cryptanalysis.

14. http://www.cs.ut.ee/~lipmaa/crypto/ Cryptology pointers 15. http://www.mekabay.com/overviews/csh5_fm.pdf Computer Security Handbook.

16. http://meminagaoglu.yasar.edu.tr/wp-content/uploads/2012/10/Information-Security-Risk- Analysis-2-Ed.1.pdf Information Security Risk Analysis.

LECTURE SCHEDULE

Sl.No. Subject No. of Hours Date of

Coverage

1 An Overview of Information security 1

94

Sl.No. Subject No. of Hours Date of

Coverage

2 Threats 1

3 Policy and Mechanism 1

4 Access Control Matrix Model 2

5 Assurance 1

6 Information Security Policies 1

7 Confidentiality Policies 1

8 Integrity Policies 2

9 Hybrid Policies 1

UNIT – II

10 Cryptography 2

11 Key Management 1

12 Session and Interchange Keys 1

13 Key Exchange and generation 1

14 Cryptographic Key infrastructure 1

15 Storing and Revoking Keys 1

16 Digital Signatures 2

17 Cipher Techniques-Problems, Stream and Block

ciphers

1

18 Cipher Techniques-Protocols 1

UNIT – III

19 Systems-Design Principles 1

20 Representing Identity-Files and Objects 1

21 Representing Identity-Naming and Certificates 1

22 Representing Identity-Identity on the web 1

23 Access control Mechanisms-Lists 1

24 Access control Mechanism-Capabilities 1

25 Information Flow 2

26 Confinement Problem-Isolating Entities 1

27 Confinement Problem-Covert Channels 1

UNIT –IV

28 Malicious Logic-Viruses and Worms 1

29 Malicious Logic-Defenses 1

95

Sl.No. Subject No. of Hours Date of

Coverage

30 Vulnerability Analysis- Penetration Studies 1

31 Vulnerability Analysis-Frameworks 1

32 Auditing-Design 1

33 Auditing-Examples 1

34 Intrusion Detection- Models 2

35 Intrusion Detection- Architecture 1

36 Intrusion Detection-Response 1

UNIT-V 37 Network Security-Policy Development 1

38 Network Security-Network Organization 2

39 System Security-Web Server system 1

40 System Security-Development system 1

41 User Security- Access 1

42 User Security-Files and Devices 1

43 User Security-Processes 1

44 Program Security-Design and Implementation 2

45 Program Security-Testing and Maintenance 1

Total Hours: 53

Module-I Overview

This module introduces the information security model and describes the access control matrix

as a main tool for providing information security. It introduces Security policies that emphasize

Confidentiality or Integrity or both. It discusses the Bell-La Padula model for confidentiality, Biba

model for integrity, the Clark-Wilson model which has a transaction as the basic operation and the

Chinese Wall model which supports confidentiality and integrity.

LU -1: An Overview of Information Security (1 Period)

LU Objectives

1. To explore the components of Information Security

2. To make the students to understand information security policy

LU Outcomes

96

1. To list the components of information Security

2. To write down an information security policy

Resource Reference

1. Ch 1 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the components of Information Security? R

2. Why is Information Security policy important? U

3. What are the goals of security? R

4. What are attacks and threats? R

5. What are the classes of threats? U

6. Define Confidentiality. R

7. Define Integrity. R

8. Define Availability. R

9. Define Accountability. R

10. Define Security Assurance. R

11. What is an access Control Matrix? U

12. What is a confidentiality policy? U

13. What is an integrity policy? U

14. What is a hybrid policy?. U

15. What is a multilevel security policy? U

16. Distinguish between military(governmental) Policy and commercial Security

policy.

R

17. Distinguish between policies and mechanisms U

18. What are the types of mechanisms? R

19. Classify each of the following as a violation of confidentiality, of integrity of

availability or of some combination thereof

a. John Copies Mary’s Homework

b. Paul Crashes Linda’s system

c. Carol changes the amount of Angelo’s check from $100 to $1,000.

d. Gina’s forges Roger’s signature on a deed.

e. Rhonda registers the domain name “Addison-Wesley.com” and

refuses that publishing house to buy or use that domain name

A

97

f. Jonah obtains Peter’s credit card number and has the credit card

company cancel the card and replace it with another card bearing a

different account number.

g. Henry spoofs Julie’s IP address to gain access to her computer.

20. Identify mechanisms for implementing the following. Stat what policy or

policies they might be enforcing.

a. A password changing program will reject passwords that are less than

five characters long or that are found in the dictionary.

b. Only students in the computer Science class will be given accounts on

the departments computer system

c. The login program will disallow logins of any students who enter their

password incorrectly three times

d. The permissions of the file containing Carol’s homework will prevent

Robert from cheating or copying it.

e. When World wide web traffic climbs to more than 80% of network’s

capacity systems will disallow any further communications to or from

web servers.

f. Annie, a systems analyst,will be able to detect a student using a

program to scan her system for vulnerabilities.

g. A program used to submit homework will turn itself off after the due

date.

A

21. The aphorism “security through obscurity” suggests that hiding information

provides some level of security. Give an example of a situation in which

hiding information does not add appreciably to the security of a system.

Then give an example of a situation in which it does.

A

22. Give an example of a situation where compromise of confidentiality leads to

compromise of integrity.

A

LU -2: Threats (1 Period)

LU Objectives

1. To make the students to understand the attacks on information security

2. To make the students to understand the threats to information Security

LU Outcomes

1. To identify the attacks on information security

2. To identify the threats to information security

Resource Reference

1. Ch1 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

98

Sl.No Test Questions Level

1. What is meant by Denial of Service? R

2. What is meant by interruption or snooping? R

3. What is meant by Modification or alteration? R

4. What is meant by Fabrication,masquerade or spooping? R

5. What is meant by repudiation of origin? R

6. What is meant by Disclosure? R

7. What is meant by Deception? R

8. What is meant by Disruption? R

9. What is meant by Usurpation? R

10. Show that the three security services, Confidentiality, Integrity and

availabiltiy are sufficient to deal with the threats of disclosure, disruption,

Deception and usurpation.

A

LU -3: Policy and Mechanism(1 Period)

LU Objectives

1. To make the students to understand the difference between information security policy

and mechanism.

2. To explore the operational issues of Information Security.

3. To describe the stages of information security product life cycle.

LU Outcomes

1. To write down the operational issues of information security

2. To explain the various stages of information security product life cycle.

Resource Reference

1. Ch1of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is the difference between a information security policy and

mechanism?

R

2. What are the assumptions regarding policies? R

3. When is a mechanism 'secure'? U

4. When is a mechanism 'Precise'? U

99

5. When is a mechanism 'broad'? U

6. When is meant by Cost-Benefit Analysis? U

7. What is meant by Risk Analysis? U

8. What is the difference between Laws and customs? U

9. What are the Human Issues affecting Information Security Implementation? R

10. Describe the various stages in the Information security product Life Cycle

with a neat diagram.

U

11. In addition to mathematical and informal statements of policy, policies can

be implicit (not stated). Why might this be done? Might it occur with

informally stated policies? What problems can this cause?

L

12. For each of the following statements, give an example of a situation in

which the following is true.

a. Prevention is more important than detection and recovery.

b. Detection is more important than prevention and recovery.

c. Recovery is more important than prevention and detection.

A

13. Is it possible to design and implement a system in which no assumptions

about the trust are made? Why or why not?

A

14. Policy restrics the use of electronic mail on a particular system to faculty

and staff. Students cannot send or receive electronic mail on that host.

Classify the following mechanisms as secure, precise or broad.

a. The electronic mail sending and receiving programs are disabled

b. As each letter is sent or received, the system looks up the sender

(or recipient) in a database, If the faculty is listed as faculty or staff,

the mail is processed. Otherwise the mail is rejected. (Assume that

the database entries are correct)

c. The electronic mail sending programs ask the user if he or she is a

student. If so the mail is refused. The electronic mail receiving

programs are disabled.

A

LU -4: Access Control Matrix Model (2 Periods)

LU Objectives

1. To make the students to understand the access control matrix model and the operations

on it

LU Outcomes

1. To write down the access control matrix model

100

2. To explain the operations on the access control matrix model

Resource Reference

1. Ch2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are Subjects? R

2. What are Objects? R

3. What are rights? R

4. Describe the access Control matrix with an example. U

5. What is an Access Control List? R

6. What are capabilities? U

7. How can accesses be controlled by history? U

8. What are the primitive commands in the access Control Matrix Model? R

9. What are Locks and Keys? R

10. Explain a cryptographic implementation of Lock and Keys. U

11. What is a Protection Domain? R

12. What is a Reference Monitor? R

13. What is Role Based Access Control? R

14. What is Mandatory Access Control? R

15. What is Discretionary Access Control? R

16. Classify each of the following as an example of a mandatory, discretionary

or originator controlled policy, or a combination thereof. Justify your

answers.

a. The file access control mechanisms of the UNIX operating system.

b. A system in which no memorandum can be distributed without the

author's consent.

c. A military facility in which only generals can enter a particular room

d. A university registrar's office, in which a faculty member can see the

grades of a particular student provided that the student has given written

permission for the faculty member to see them.

101

LU -5: Assurance(1 Period)

LU Objectives

1. To explore the concept of Information Security Assurance

LU Outcomes

1. To work with the concept of Information Security Assurance and the method for

determining it

Resource Reference

1. Ch1 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is meant by Information Security Assurance? R

2. What is the basis for determining information Security Assurance? R

3. Discuss the Specification step of information Security Assurance. U

4. Discuss the Design step of Information Security Assurance. U

5. Discuss the Implementation of information Security Assurance. U

6. What is the state of a protection system? R

7. What are the components of a protection system? R

8. What are the two parts of a Protection System? R

9. Describe the transition between states of a Protection System. U

10. When is a Protection System considered secure? R

11. Consider a very high assurance system developed for the military. The

system has a set of specifications, and both the design and implementation

have been proven to satisfy the specifications. What questions should

school administrators ask when deciding to purchase whether to purchase

such a system for their school’s use?

L

12. How do laws protecting privacy impact the ability of system administrators

to monitor user activity?

A

LU -6: Information Security Policies(1 Period)

LU Objectives

1. To explore the different types of Information Security Policies

LU Outcomes

102

2. To state the types of information Security Policies and where they are used.

Resource Reference

1. Ch4 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How are the Information Security Policies classified? R

2. Give an example of a Confidentiality Policy. U

3. Give an example of a Integrity Policy. U

4. Give an example of a Hybrid Policy. U

5. Give an example of a Multilevel Security Policy. U

6. Give an example of a Commercial Security Policy. U

7. Computer viruses are programs , that among other actions,can delete files

without a user’s permision. A U.S legislator wrote a law banning the

deletion of any files from computer disks. What was the problem with this

law from a computer security point of view? Specifically, state which

security service would have been affected if the law had been passed?

A

8. Users often bring in programs or download programs from the internet.

Give an example of a site for which the benefits of allowing users to do this

outweigh the dangers. Then give an example of a site for which the dangers

of allowing users to do this outweigh the benefits.

A

9. An organisation makes each lead system administrator responsible for the

security of the system she runs. However the management determines

what programs are to be on the system and how they are to be configured.

a. Describe the security problem(s) this division of power would

create. b. How would you fix them?

A

10. The president of a large software development company has become

concerned about competitors learning proprietory information. He is

determined to stop them. Part of his security mechanism is to require all

employees to report any contact with employees of the company’s

competitors, even if it is social. Do you believe this will have the desired

effect? Why or why not?

A

11. Companies usually restrict the use of electronic mail to company business

but do allow minimal use for personal reasons.

a. How might a company detect excessive personal use of electronic

mail, other than by reading it? (Hint: Think about the personal use of a company telephone.

b. Intuitively, it seems reasonable to ban all personal use of electronic mail on company computers. Explain why most companies do not do this.

A

12. Argue for or against the following proposition. Ciphers that the government

cannot cryptanalyze should be outlawed. How would your argument change

A

103

if such ciphers could be used provided that the users registered the keys

with the government.

LU -7: Confidentiality Policies(1 Period)

LU Objectives

1. To make the students understand the Bell Lapadula Model for Confidentiality Policy.

LU Outcomes

1. To write down the Bell Lapadula Model for Confidentiality Policy

Resource Reference

1. Ch5 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define Multilevel Security Policy. R

2. Discuss the 'no reads up' rule in the Bell Lapadula model. U

3. Discuss the 'no writes down' rule in the Bell Lapadula model. U

4. How can we extend the notion of Security level to include categories? U

5. Describe the Bell Lapadula Model for Categories. U

6. What is a lattice? U

LU -8: Integrity Policies(2 Periods)

LU Objectives

1. To make the students understand the Biba Model for Integrity Policy.

2. To explain the Clark-Wilson Integrity Model

LU Outcomes

1. To explain the Biba Model for Integrity Policy

2. To know the Clark-Wilson Integrity Model

Resource Reference

104

1. Ch 6 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss the Biba Model for Integrity. R

2. Discuss the low water mark policy. R

3. Discuss the ring policy. R

4. Discuss the strict Integrity policy of the Biba's model. U

5. Discuss the Clark-Wilson Integrity model. U

6. Define Constrained Data items. R

7. Define Unconstrained Data items. R

8. What are integrity Verification Procedures(IVP)? R

9. What are Transformation Procedures(TP)? R

10. What are the Certification/Enforcement Rules in the Clark-Wilson Model R

11. What are the requirements of Commercial integrity policies? U

12. What are the requirements of Commercial Integrity Policies? U

13. Compare the Clark-Wilson Model with the Requirements of a Commercial

Security Policy.

U

LU -9: Hybrid Policies(1 Period)

LU Objectives

1. To make the students to understand the Chinese Wall Model for Confidentiality and

Integrity.

2. To explore the Clinical Information Systems Security Policy

LU Outcomes

1. To examine the Chinese Wall Model for Confidentiality and Integrity

2. To write down the Clinical Information Systems Security Policy

Resource Reference

1. Ch7 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

105

Sl.No Test Questions Level

1. Discuss the Chinese-Wall model. U

2. Discuss the read rule in the Chinese Wall model. R

3. Discuss the write rule in the Chinese Wall model. R

4. Compare the Chinese Wall model with that of Bell Lapadula. U

5. Compare the Chinese Wall model with that of Clark-Wilson model. U

6. Discuss briefly the Clinical Information Systems Security Policy(CISSP) . U

7. What are the entities in the CISSP? R

8. What are the assumptions in CISSP? R

9. Discuss the access principle in CISSP. R

10. Discuss the Creation principle in CISSP. R

11. Discuss the Deletion Principle in CISSP. R

12. Discuss the Confinement Principle in CISSP. R

13. Discuss the Aggregation Principle in CISSP. R

14. Discuss the Enforcement Principle in CISSP. R

15. Compare the CISSP Model with Bell Lapadula model. U

16. Compare CISSP with Clark-Wilson model. U

Module-II Overview

This module introduces cryptography as tool for providing information security. Both Symmetric

and Asymmetric key Encryption methods are discussed. The problem managing secret keys and

also the public keys is discussed in detail. The use of master keys to establish session keys, the

Diffie-Hellman Key Exchange algorithm, Merkle Tree Scheme for Storing keys, the Key Escrow

protocol and the Public Key Certificate distribution and Revocation method are discussed. The use

of Digital Signatures in providing integrity to information and techniques that focus on secure

implementations are also discussed.

LU -10: Cryptography(2 Periods)

106

LU Objectives

1. To make the students understand symmetric key and public key cryptography

LU Outcomes

1. To work with the symmetric key and public key cryptography

Resource Reference

1. Ch9 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the requirements for secret or private key cryptography? R

2. What are the applications of secret key cryptography? U

3. Discuss private key encryption/decryption with a diagram. R

4. Discuss the Diffie-Hellman Key exchange mechanism for generating secret

keys.

U

5. What are the requirements for Public-Key Cryptography? R

6. What are public key certificates? U

7. Who is a certificate authority? U

8. How is public key distribution of secret keys done? U

9. Explain Key generation in the RSA algorithm. U

10. Discuss how Encryption/Decryption are done in the RSA algorithm U

11. Discuss the attacks on the RSA algorithm. U

12. Discuss the security of the RSA algorithm U

13. Perform encryption and decryption using the RSA algorithm for (i) p=3;

q=11, e=7; M=5 (ii) p=11; q=13, e=11; M=7

A

14. In an RSA system the public key of a given user is e=31, n=3599. What is

the private key of this user?

A

15. If one-time pads are provably secure, why are they so rarely used in

practice?

A

16. Prove that the DES key consisting of all 0-bits and the DES key consisting of

all 1-bits are both weak keys. What are the other two weak keys?

L

107

Sl.No Test Questions Level

17. Prove that the DES cipher satisfies the complementation property. A

LU -11: Key Management(1 Period)

LU Objectives

1. To make the students understand the management and Distribution of Keys in

symmetric and public Key Cryptography

LU Outcomes

1. To deploy the management and distribution of keys in symmetric key and public key

cryptography

Resource Reference

1. Ch10 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the methods for distributing keys in private key cryptography? R

2. What are the various types of keys used in Key Management? U

3. What are public key certificates? R

4. Who is a certificate authority? U

5. How is public key distribution of secret keys done? R

6. What is the use of Pseudo Random Numbers? U

7. Describe the Kerberos authentication system. R

8. An X.509 certificate revocation list contains a field specifying when the next

such list is expected to be issued. Why is that field present?

U

LU -12: Session and Interchange Keys (1 Period)

LU Objectives

1. To make the students understand the use and application of session and Interchange

108

Keys

LU Outcomes

1. To state the use and application of session and interchange Keys

Resource Reference

1. Ch10 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is a session key? R

2. What is a session interchange key? R

3. Describe the classical key exchange algorithm. U

4. What is the problem in the classical key exchange algorithm? U

5. Describe the Needham-Shroeder key exchange algorithm. R

6. What is the problem in the Needham-Shroeder Key exchange algorithm? U

7. What is the Dennis-Sacco Modification for the Needham-Shroeder key

exchange algorithm?

U

8. Describe the Otway-Rees Protocol. R

9. What is a replay attack? U

10. What is a Man-in-the middle attack? U

LU -13: Key Exchange and generation(1 Period)

LU Objectives

1. To explore Key Exchange and generation

LU Outcomes

1. To explain Diffie Hellman Key exchange and Key generation methods

Resource Reference

1. Ch10 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

109

1. What is Key distribution Center? R

2. How is Diffie-Hellman Key exchange used to establish a session key? U

3. Describe the use of Key exchange protocols in Key distribution. U

LU-14: Cryptographic Key Infrastructure(1 Period)

LU Objectives

1. To explore the Merkle Tree Mechanism, Key Escrow system and Yaksha Security System

LU Outcomes

1. To know the Merkle Tree Mechanism, Key Escrow system and Yaksha Security System

Resource Reference

1. Ch10 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss the Merkle Tree organisation for public keys. U

2. Discuss how keys are validated in the Merkle Tree scheme. R

3. Discuss the Key Escrow mechanism. U

4. What are the components of the Key escrow mechanism? R

5. Describe the User Security component. R

6. Describe the Key escrow component. U

7. Describe the Data Recovery component. U

8. Describe ESS and Clipper chip. U

9. Describe the Yaksha Security system. R

LU -15: Storing and Revoking Keys(1 Period)

LU Objectives

110

1. To distinguish and differentiate different methods for Storing and Revoking Keys.

LU Outcomes

1. To know the Certification and Certification Revocation List.

Resource Reference

1. Ch10 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Why is Key Revocation necessary? U

2. What is the use of Certificate Revocation List? R

3. How is validation done with the use of CRL? U

4. How is validation of keys done in PGP? R

5. What is cross certification? U

6. How is a X.509 Certificate validated? U

LU -16: Digital Signatures(2 Periods)

LU Objectives

1. To make the students understand Digital Signatures and their use

LU Outcomes

1. To explain the mechanism of Digital Signatures and their use

Resource Reference

1. Ch10 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Describe the Classical Digital Signature. U

2. Describe the RSA Digital Signature. U

3. Describe the Elgamal Digital Signature. U

4. Describe the attacks on Digital Signatures. R

111

LU -17: Cipher Techniques-Problems, Streams and Block Ciphers(1 Period)

LU Objectives

1. To make the students to understand techniques used in encryption and their use

LU Outcomes

1. To demonstrate the techniques used in encryption and their use

Resource Reference

1. Ch11 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the attacks in precomputing ciphertexts? U

2. Describe the problem of misordered blocks in ciphertexts. R

3. How can statistical regularities in ciphertexts be overcome? U

4. What are stream ciphers? R

LU -18: Cipher Techniques-Protocols (1 Period)

LU Objectives

1. To make the students understand the Linear Feedback Shift Register implementation of

stream ciphers

LU Outcomes

1. To explain the Linear Feedback Shift Register implementation of stream ciphers

Resource Reference

1. Ch11 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss synchronous stream ciphers. R

2. Describe Linear Feedback Shift Register. U

3. Describe Non-Linear Feedback Shift Register. U

4. Let the function f for a four-stage NLFSR be f(r0,r1,...rn-1) = (ro A

112

and r1) or r3, and let the initial value of the register be 1001. Derive the

initial sequence and cycle.

5. An n-stage LFSR produces a sequence with a period of length at most 2^n

-1, but the register has n bits and thus may assume 2 ^n values. Why can

the length of the period never be 2^n? Which register value is excluded

from the cycle, and why?

A

Module-III Overview

This module introduces the design principles of information security system. It discusses various

methods for representing identity and how users can be secured against misuse of identity. It

discusses the information flow by introducing entropy as an important measure of information

flow. Finally it discusses the confinement problem and introduces covert channels. Finally, Access

Control Lists, Capabilities and Covert channels are used as access control mechanisms.

LU -19: Systems-Design Principles (1 Period)

LU Objectives

1. To explore the design principles of Information Security Systems

LU Outcomes

1. To list the design principles of Information Security Systems

Resource Reference

1. Ch13 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is the principle of least privilege? U

2. What is the principle of fail safe defaults? U

3. What is the principle of economy of mechanism? U

4. What is the principle of complete mediation? U

5. What is the principle of open design? U

6. What is the principle of separation of privilege? U

7. What is the principle of least common mechanism? U

113

8. What is the principle of psychological acceptability? U

9. A common technique for inhibiting password guessing is to disable an

account after three failed login attempts.

a. Discuss how this might prevent legitimate users from accessing the

system. Why is this action a violation of the principle of least common

mechanism.

b. One can argue that this is an example of fail-safe defaults, because by

blocking access to an account under attack, the system is defaulting to a

known safe state. Do you agree or disagree with this argument? Justify

your answer.

A

10. Design an experiment to determine the performance impace of checking

access permissions for each file access (as opposed to once at the file's

opening). If you have access to a system on which you can modify the file

access mechanism, run your experiment and determine the impact.

A

11. A company publishes the design of its security software product in a manual

that accompanies the executable software.

a. In what way does this satisfy open design? In what ways does it not?

A

12. Assume that processes on a system share no resources. Is it possible for

one process to block another proecss' access to a resource? Why or why

not? From your answer, argue that denial of service attacks are possible or

impossible.

L

13. Given that the Internet is a shared network, discuss whether preventing

denial of service attacks is inherently possible or not possible. Do systems

connected to the Internet violate the principle of least common mechanism?

L

LU -20: Representing Identity-Files and Objects (1 Period)

LU Objectives

1. To explore the methods for representing identity

LU Outcomes

1. To explain the methods for representing identity

Resource Reference

1. Ch14 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

114

Sl.No Test Questions Level

1. What is identity?. U

2. Why is identity important in information systems?. R

3. What problems may be caused by multiple identities? R

4. What are pseudonyms? R

5. What is anonymity? U

6. How will identities differ based on different contexts? U

7. How will identities differ based on different environments? U

8. What are the various representations of identity?. R

9. Discuss how files and objects are tied to an entity. U

LU -21: Representing Identity - Naming and Certificates(1 Period)

LU Objectives

1. To explore the different methods for representing identity using names and certificates

LU Outcomes

1. To explain the different methods for representing identity using Distinguished Names and

Public Key Certificates

Resource Reference

1. Ch14 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Distinguish between users, groups and roles. R

2. What is the purpose of Certificates? U

3. How are identities represented in Certificates R

4. Discuss naming in certificates. R

5. Discuss the format of X.509 Certificates. U

6. Who is a certificate Authority? U

7. How do we authenticate a Certificate? U

115

8. What is a certification Hierarchy? R

9. What are the types of certificates? R

10. Discuss how certificates can be tied to Roles? U

11. What are Distinguished Names? R

12. How do we avoid naming conflicts? U

13. What are personal certificates? R

14. What are PGP certificates? R

LU -22: Representing Identity-Identity on the Web(1 Period)

LU Objectives

1. To distinguish and differentiate the various identities on the web

LU Outcomes

1. To know the various identities on the web

Resource Reference

1. Ch14 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss host identity in the internet R

2. What is the purpose of the Domain Name System? U

3. What are dynamic identifiers? R

4. How does DHCP assign addresses to the systems? R

5. What is weak authentication? U

6. Discuss security issues in DNS. R

7. Discuss the fields in the cookie. R

8. Discuss anonymity in the web. U

9. What is the pseudo-anonymous email service? R

10. The web site www.widget.com requires users to supply a user name and a

password. This information is encoded into a cookie and sent back to the

browser. Whenever the user connects to the Web server, the cookie is sent.

A

116

This means that use user need only supply a password at the beginning of

the session. Whenever the server requests reauthentication, the client

simply sends the cookie. The name of the cookie is “identif”.

a. Assume that the password is kept in the clear in the cookie. What should

the settings of the secure and expires fields be, and why?

b. Assume that the name and password are hashed and that the hash is

stored in the cookie. What information must the server store to determine

the user name associated with the cookie?

LU -23: Access Control Mechanisms- Lists (1 Period)

LU Objectives

1. To illustrate the List representation of the Access Control Matrix

LU Outcomes

1. To explain the list representation of the Access Control Matrix

Resource Reference

1. Ch15 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1 Give an example of an access control matrix and its representation in the

form of access control Lists.

R

2 What are the advantages and disadvantages of the access control List

representation of the access control matrix?

U

3 Both ACLs and C-List entries use “owners” (users) rather than individual

processes. Why?

U

4 Alice can read and write to the file x, can read the file y, and can execute

the file z. Bob can read x, can read and write to y, and cannot access z.

a. Write a set of access control lists for this situation. Which list is

associated with which file?

b. Write a set of capability lists for this situation. With what is each list

associated?

A

5 Revoking an individual's access to a particular file is easy when an access

control list is used. How hard is it to revoke a user's access to a particular

A

117

set of files, but not to all files? Compare and contrast this with the problem

of revocation using capabilities.

6 Explain why some UNIX-based systems with access control lists do not allow

root to alter the ACL. What problems might this raise?

A

7 It is said that UNIX uses access control lists. Does the UNIX model include

capabilites as well as access control lists? (Hint: Consider file descriptors, If

a file is opened, and its protection mode is changed to exclude access by

the opener, can the process still access the file using the file descriptor?

A

8 Suppose a user wishes to edit the file xyxxy in a capability-based system.

How can he be sure that the editor cannot access any other file? Could this

be done in an ACL-based system? If so, how? If not, Why not?

A

LU -24: Access Control Mechanisms- Capabilities(1 Period)

LU Objectives

1. To illustrate the Capabilities representation of the Access Control Matrix

LU Outcomes

1. To explain the Capabilities representation of the Access Control Matrix

Resource Reference

1. Ch15 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Give an example of an access control matrix and its representation in the

form of Capabilities.

R

2. What are the advantages and disadvantages of the Capabilities

representation of the access control matrix?

U

3. Although most systems alllow objects to have only one owner, it is possible

for an object to have two (or more) owners. Consider ownership as a right

that allows the changing of capabilities (or access control lists). How might

you implement this right using capabilities? How might you implement it

using access control lists? Contrast these implementations of capability lists

and access control lists with PACLs

A

118

LU -25: Information Flow(2 Periods)

LU Objectives

1. To make the students to understand the information flow problem and entropy

LU Outcomes

1. To work with the information flow problem and entropy

Resource Reference

1. Ch16 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How do we ensure that information flows through governed

channels?

R

2. Define Entropy. U

3. When do we say information flows from X to Y?. R

4. Define Implicit Flow. R

5. How do we manage information flow? U

6. How can information flow be managed through policies? R

7. Discuss Compiler based mechanisms for managing information flow. U

8. Discuss Execution based mechanisms for managing information flow. U

9. Discuss the Data Mark Machine. U

10. Prove that the Fenton's Data Mark machine would detect the violation of

policy in the execution time certification of the copy procedure.

A

LU -26: Confinement Problem-Isolating Entities(1 Period)

LU Objectives

1. To make the students understand the confinement problem

LU Outcomes

119

1. To demonstrate the confinement problem

Resource Reference

1. Ch17 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is the confinement problem? R

2. What is isolation? U

3. What is a Virtual Machine? R

4. What is a Sandbox? R

5. What is transitive confinement? U

6. Two UNIX processes wish to communicate but cannot use standard IPC

mechanisms. However both can run ps (1) as a subprocess.

a. Devise a protocol whereby the two processes can communicate using

their environment lists.

b. Implement the protocol. Measure the (actual) rate of transmission

A

7. Consider the rule of transitive confinement. Suppose a process needs to

execute a subprocess in such a way that the child can access exactly two

files, one only for reading and one only for writing.

A

LU -27: Confinement Problem-Covert Channels(1 Period)

LU Objectives

1. To make the students understand the covert channels

LU Outcomes

1. To identify covert channels

Resource Reference

1. Ch17 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is the purpose of a covert channel? R

120

2. Discuss how we can detect covert channels. U

3. Discuss how we can analyze covert channels? U

4. Discuss how we can mitigate covert channels? U

5. In the Covert flow tree technique, it is possible for some part of the tree to

enter a loop in which recognition of attribute a depends on recognition of

attribute b which in turn is possible when attribute a is recognized.

a. Give a specific example of such a loop.

b. Should such a loop occur, the covert flow tree path is labeled, with a

repeat parameter that dictates the maximum number of times that branch

may be traversed. Discuss the advantages and drawbacks of this solution.

A

Module-IV Overview

This module discusses the different malicious programs like Viruses, Worms, and Trojan Horses.

This module also discusses methods for detecting the malicious programs and defending the

computers systems data and processes against the action of malicious programs. This module

discusses vulnerability of systems and discusses penetration testing as a important tool for

analyzing the presence of vulnerabilities. This module discusses auditing as an important security

mechanism that analyzes the logs in the system and notifies the analyst about the results.

Finally, the module defines the goals of an intrusion detection system and discusses different

methods for intrusion detection.

LU -28: Malicious Logic-Viruses and Worms(1 Period)

LU Objectives

1. To make the students to understand how malicous code spread and infect

LU Outcomes

1. To work with how viruses and worms propagate and infect

Resource Reference

1. Ch22 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

121

Sl.No Test Questions Level

1. What are the different types of malicious code? R

2. What is a Trojan horse? R

3. What is a virus? R

4. What is a worm? R

5. How does a virus differ from a worm? U

6. How does a virus propagate? U

7. What are the different types of viruses? U

8. What is a Logic Bomb? R

9. Tripwire does not encipher the signature blocks. What precautions must

installers must take to ensure the integrity of the database?

U

10. Consider how a system with capabilities as its access control mechanism

could deal with Trojan horses.

a. In general, do capabilities offer more or less protection against Trojan

horses than do access control lists? Justify your answer in light of the

theoretical equivalence of ACLs and C-Lists?

b. Consider now the inheritance properties of new processes. If the creator

controls which capabilities the created process is given initially, how could

the creator limit the damage that a trojan horse can do.

c. Can capabilites protect against all Trojan horses? Either show that they

can or describe a Trojan horse process that C-Lists cannot protect against.

A

11. Describe in detail how an executable infecting comuter virus might append

itself to an executable. What changes must it make to the executable, and

why?

A

12. A computer system provides protection using Bell Lapadula policy. How

would a virus spread if:

a. the virus were placed on the system at system low (the compartments

that all other compartments dominate?

b. the virus were placed on the system at system high (the compartment

that dominates all other compartments)

A

13. A computer system provides protection using Biba Integrity model. How

would a virus spread if:

a. the virus were placed on the system at system low (the compartments

that all other compartments dominate?

A

122

b. the virus were placed on the system at system high (the compartment

that dominates all other compartments)

14. A computer system provides protection using the Chinese Wall model. How

would a virus spread throughout the system if it were placed within a

company dataset? Assume that it is a macro virus.

A

15. Assume that the Clark-Wilson model isimplemented on a computer system.

Could a computer virus that scrambled constrained data items be

introduced into the system? Why or why not? Specifically, if not identify the

precise control that would prevent the virus from being introduced, and

explain why it would prevent the virus from being introduced; if yes,

identify the specific control or controls that allow the virus to be introduced

and explain why they fail to keep it out.

A

LU -29: Malicious Logic-Defenses(1 Period)

LU Objectives

1. To distinguish the various defense mechanisms against malicious code

LU Outcomes

1. To list the various defense mechanisms against malicious code

Resource Reference

1. Ch22 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1 Describe how malicious code can be detected? R

2 Describe the defense mechanisms against viruses. R

3 What are multilevel security mechanisms? R

4 Design a signature detection scheme to detect polymorphic viruses,

assuming that no encipherment of virus code was used.

A

LU -30: Vulnerability Studies-Penetration Studies(1 Period)

123

LU Objectives

1. To explore the penetration studies for vulnerabiltity analysis

LU Outcomes

1. To explain the penetration studies for vulnerabiltity analysis

Resource Reference

1. Ch23 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How is vulnerability analysis done? R

2. What is the purpose of formal verification? U

3. What are penetration studies used for? R

4. What is penetration testing? U

5. An attacker breaks into a Web server running on a Windows-2000 based

system. Because of the ease with which he broke in, he concludes that

Windows 2000 is an operating system with very poor security features. Is

his conclusion reasonable? Why or why not?

L

6. Why might an analyst care how similar two vulnerabilies are? U

LU -31: Vulnerability Studies-Frameworks(1 Period)

LU Objectives

1. To illustrate the Flaw Hypothesis framework for vulnerability analysis

LU Outcomes

1. To identify the Flaw Hypothesis framework for vulnerability analysis

Resource Reference

1. Ch23 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

124

1. Describe the method of Flaw Hypothesis. U

2. What is the purpose of information gathering? U

3. How is Flaw hypothesis used? U

4. What is Flaw Testing? R

5. What is Flaw Generalization? R

6. What is Flaw Elimination? R

7. One expert noted that the PA model and the RISOS model are isomorphic.

Show that the PA vulnerability classifications correspond to the RISOS

vulnerability classes and vice versa.

A

8. The NRL classification scheme has three axes: genesis, time of introduction,

and location. Name two other axes that would be of interest to an analyst.

Justify your answer.

A

9. In the NRL classification scheme for the “time of introduction” axis, must

the development phase precede the maintenance and operation phases,

and must the maintenance phase precese the operation phase? Justify your

answer?

A

10. In the NRL classification scheme for the “genesis” axis, how might one

determine whether a vulnerability is “malicious” or “nonmalicious”?

A

11. In the NRL classification scheme for the “genesis” axis, can the classes

“Trojan horse” and “Covert Channel” overlap? Justify your answer. If your

answer is yes, describe a Trojan horse that is also a covert channel or vice

versa.

A

12. Aslam's classification scheme classifies each vulnerability into a single

category based on a decision tree that requires “yes” or “no” answers to

questions about the vulnerability. A researcher has suggeted replacing the

tree with a vector, the components of which correspond to questions about

the vulnerability. A “1” in the vector corresponds to a “yes” answer to the

question; a “0” corresponds to a “no” answer. Compare and contrast the

two approaches.

A

LU -32: Auditing-Design(1 Period)

LU Objectives

1. To explore the design of Auditing

4.

LU Outcomes

125

2. To give examples for the Design of auditing

Resource Reference

1. Ch24 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is logging? R

2. Describe a secure state of a system. U

3. What are the components of an Audit structure? U

4. What is a logger? R

5. What is an analyzer? R

6. What is a Notifier? R

7. What is Log sanitization? R

8. Extend the example of deriving required logging information to the full Bell-

LaPadula model with both security levels and compartments

A

9. In the example of deriving required logging information for the Chinese Wall

model, it is stated that the time must be logged. Why? Can something else

be logged to achieve the same purpose?

A

10. The Windows NT logger allows the system administrator to define events to

be entered into the security log. In the example, the system administrator

configured the logger to record process execution and termination. What

other systems might the system administrator wish to record?

A

11. Suppose a notifier sends e-mail to the system administrator when a

successful compromise of that system is detected. What are the drawbacks

of this approach? How would you notify the appropriate user?

A

12. Describe a set of constraints for the Clark-Wilson model that lead to a

descriptions that an audit mechanism should detect. Give these conditions.

A

13. Why is adherence to the principle of complete mediation a necessity for

logging of file accesses?

A

14. A network monitor records the following information while recording a

network connection.

A

126

Sl.No Test Questions Level

a. System prompts that name neither the user nor the system.

b. System control files sucs as the password file.

c. A file containing a list of dictionary words

d. A user's start-up file

e. A system banner

f. A source code file

g. A Web page downloaded from a remote site

Which type of information should the monitor check to see if it must sanitize

the data to conceal the names of the users and the names and addresses of

the computers involved?

15. Four Levels of log sanitization are defined.

a. Simple sanitization, in which all information except the commands issued

by an intruder are deleted

b. Information-tracking sanitization, in which sensitive information is

entered into a symbol table as it is encountered, a unique identifier is

assigned, and whenever that information is encountered it is replaced with

the associated identifier.

c. Format sanitization, in which compressed or encoded data is transformed

into its original form, the original form is sanitized using information-

tracking sanitization, and the resulting data is returned to its transformed

format.

d. Comprehensive sanitization, in which all data is analyzed and sanitized as

in information-tracking and format sanitization

Discuss the level of anonymity of each level of sanitization. Which level

could be automated, and to what degree would human oversight be

required?

A

LU -33: Auditing-Examples(1 Period)

LU Objectives

1. To illustrate auditing with examples

LU Outcomes

127

2. To exemplify auditing with examples

Resource Reference

1. Ch24 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is state-based auditing? U

2. What is transition-based auditing? U

3. What is application logging? U

4. What is the use of an audit browser? R

5. Prove or disprove that state-based logging and transition-based logging

are equivalent if and only if the state of the system at the first transition is

recorded.

U

6. Suppose a remote host begins the TCP three-way handshake with the local

host but never sends the final ACK. This is called a half-open connection.

The local host waits for a some short time and then purges the information

from its network tables. If a remote host makes so many half-open

connections that the local host cannot accept connections from other hosts,

the remote host has launched a syn flood attack. Derive logging and

auditing requirements to detect such an attack.

A

7. What are the logging and auditing requirements for the NFS operations

MKDIR and WRITE?

A

LU -34: Intrusion Detection-Model (2 Periods)

LU Objectives

1. To illustrate the model for Intrusion Detection

LU Outcomes

1. To work with the Intrusion detection model

Resource Reference

1. Ch25 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

128

1. What is Intrusion Detection? R

2. What are the characteristics of systems not under attack? U

3. What is an attack tool? R

4. What are the goals of Intrusion Detection System? U

5. What are the models of Intrusion Detection? R

6. You have been hired as the security officer for compute Computers Inc. Your

boss asks you to determine the number of erroneous login attempts that

should be allowed before a user's account is locked. She is concerned that

too many employees are being locked out of their accounts unnecessarily,

but is equally concerned that attackers may be able to guess passwords.

How would you determine an appropriate value for the threshold?

A

7. Why should the administrator (or the superuser) account never be locked

regardless of how many incorrect login attempts are made? What should be

done instead to alert the staff to the attempted intrusion, and how could the

chances of such an attack succeeding be minimized?

L

LU -35: -Intrusion Detection-Architecture (1 Period)

LU Objectives

1. To explore the architecture of intrusion detection

LU Outcomes

1. To work with design the architecture of intrusion detection

Resource Reference

1. Ch25 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is anomaly based intrusion detection? U

2. What is misuse based intrusion detection? U

3. What is specification based detection? U

4. What is the use of an audit browser? R

5. Consider the trace-based approach to anomaly-based intrusion detection.

An intrusion detection analyst reports that a particular pattern of system

usage results in processes with “low entropy”, meaning that there is little

L

129

uncertainty about how the system processes behave. How well would a

cluster-based analysis mechanism for anomaly-based intrusion detection

work with this system? Justify your answer.

LU -36: -Intrusion Detection-Response (1 Period)

LU Objectives

1. To distinguish the response mechanisms for intrusion detection

LU Outcomes

1. To write down the response mechanisms for intrusion detection

Resource Reference

1. Ch25 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss the different response mechanisms for intrusion detection. L

Module-V Overview

This module discusses the organization of a private network by using a firewall and internal and

external routers for private networks. The Demilitarized Zone between the internal and the

external router can be used to host servers accessible to the public. The security of both

development workstations and the production systems are dealt with in detail. The user security

deals with granting privileges for the resources for access by the users. The Program security deals

with the security of software and methods to ensure the correctness of the programs by employing

appropriate validation procedures.

LU -37: -Network Security-Policy Development (1 Period)

LU Objectives

1. To express the Development of Policy for Network Security

LU Outcomes

130

1. To work with the policy for Network Security

Resource Reference

1. Ch26 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the privileges given to outsiders for public data ,development

data for existing products, development data for products, corporate data

and customer data?

U

2. What are the privileges given to Developers for the data? U

3. What are the privileges given to Corporate Executives for the data? U

4. What are the privileges given to the employees data? U

5. Suppose that an attacker has found a technique for sending packets

through the outer firewall to the DMZ without the packets being checked.

(The attacker does not know the internal addresses of the hosts in the

DMZ.) Using this technique, how can the attacker arrange for a packet to be

sent to the www server in the DMZ without the firewall checking the

packet?

L

6. The organization of the network provides a DMZ to which the public has

controlled access. Explain how the principle of Least privilege is relevant to

the creation of the DMZ.

L

7. A security analyst wishes to deploy intrusion detection monitors to

determine if any attackers penetrate the organization's network.

a. Where should the intrusion detection monitors be placed in the network's

topology and why?

b. If the analyst wished to monitor insider attacks, how would your answer

to part (a) change? Justify your changes.

L

LU -38: -Network Security-Network Organization(2 Periods)

LU Objectives

1. To show the Network Organization for Network Security

LU Outcomes

131

2. To deploy the Network Organization for Network Security

Resource Reference

1. Ch26 of T1 (pp 91-92)

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What are the major components of the network infrastructure for security? R

2. What is the use of the inner firewall? U

3. What is the use of the outer firewall? U

4. How is the Demilitarized zone used? U

5. What are the components in the internal network? R

6. Discuss the application of principle of least privilege. U

7. Discuss the application of principle of complete mediation. U

8. Discuss the application of principle of separation of privilege. U

LU -39: -System Security-Web Server system(1 Period)

LU Objectives

1. To describe the design of the web server system

LU Outcomes

1. To work with the design the web server system

Resource Reference

1. Ch27 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Describe the configuration of the network. R

2. How are the incoming web connections accepted? U

3. What is the purpose of using a trusted administrative host? U

132

4. Where do the log messages go to? U

5. How is the DMZ DNS system used? R

6. Where do the public keys reside? R

7. What is the function of the DMZ web server? U

8. How is the user access to the DMZ web server provided? R

9. Is extensive logging provided in the DMZ web server? U

10. How can attacks on the web server be minimized? R

11. The Web server on the DMZ Web server system renames temporary files

used to record transactions. The name has the form trns followed by the

integer representation of the date and time, followed by one or more digits.

Why are the extra digits necessary?

L

12. Web pages change too frequently to be placed on a CD-ROM, but that the

CGI scripts are changed infrequently enough to allow them to be placed

them on CD-ROM.

a. In light of the fact that the CGI scripts do not contain data, Why is their

alteration a concern?

b. CGI scripts can generate Web pages from data stored on the server.

Discuss the integrity issues arising from storing of the data that those

scripts use on writeable media but storing of the scripts themselves on

read-only media. In particular, how trustworthy are the pages resulting

from the script's use of stored data

c. Assume that the CGI scripts are to be changed frequently. Devise a

method that allows such changes and also keeps the interface to those

scripts on read-only media. Where would you store the actual scripts, and

what are the benefits and drawbacks of such a scheme?

L

LU -40: -System Security-Development system(1 Period)

LU Objectives

1. To express the design of the Developer system

LU Outcomes

1. To work with the design of the Developer system

Resource Reference

133

1. Ch27 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How is security provided in the Development workstation? U

2. How do users access the Development workstation? R

3. How is the network communication secured in the Development

workstation?

U

4. What is the purpose of auditing in the development workstations? U

5. What are the procedures regarding installation of new programs

in the workstations?

U

6. Explain the backup procedure used in the Development workstations. U

7. A System administrator on a development network workstation wants to

execute a program stored on a floppy disk? What steps would the

organization take to configure the workstation to prevent the system

administrator from mounting the floppy and executing the program?

L

8. Suppose a user has physical access to computer hardware (specifically the

box containing the CPU and a hard drive). The user does not have an

account on the computer. How can the user force the computer to shut

down? To reboot?

L

9. Consider the use of NIS to distribute user information such as password

hashes.

a. In general, why might an administration want to use encryption

techniques to protect the transmission of NIS records over a network

b. Why is secrecy of the NIS records not important to the system

administrators?

c. Assume the devnet firewall (and the inner and outer firewalls) did not

prevent the outside users from monitoring the development network. How

important would the secrecy of NIS records be then? Why?

d. The NIS client accepts the first response to its query that it receives from

any NIS server. Why is physical control of the development network critical

to the decision not to use cryptography to protect NIS network traffic?

L

LU -41: -User Security-Access(1 Period)

134

LU Objectives

1. To describe the access procedure for user security

LU Outcomes

1. To work with the design of the access procedure for user security

Resource Reference

1. Ch28 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Describe the user access procedures in computer systems. U

2. Who are allowed to access the system? R

3. What commands should the user enter? U

4. What is the procedure for logging in to the system? R

5. What are the security procedures concerning use of password in

systems?

U

6. What is the use of a proactive password checker? R

7. What precautions should be taken in the use of passwords? U

8. What steps should be taken when leaving the system? U

LU -42: -User Security-Files and Devices(1 Period)

LU Objectives

1. To state the user security procedures for files and devices

LU Outcomes

1. To deploy the user security procedures for files and devices

Resource Reference

1. Ch28 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

135

Sl.No Test Questions Level

1. What steps should be taken in the use of files? R

2. What steps should be taken when copying,moving and writing to files? R

3. Who is allowed to read or change file? R

4. Who protects the integrity, confidentiality and availability of files? R

5. How can we keep keys and passwords secure? U

6. How can we prevent overwriting or deleting files? R

7. How can we protect against malicious programs? R

8. Suppose that users A, B and C are the only members of the group proj and

that users A, B and D are the only members of the group exeter. Show how

user B can restrict access to the file design to himself and user A using

only abbreviated ACLs.

A

9. The UNIX umask disables access by default. The Windows scheme enables

it. Discuss the implications of enabling access by default and disabling

access by default with respect to security.

L

10. Many UNIX security experts say that the umask should be set to 077 (i.e.

allow access only to the owner). Why? What problems might this cause?

L

LU -43: -User Security-Processes(1 Period)

LU Objectives

1. To express the user security procedures for processes

LU Outcomes

1. To deploy the user security procedures for processes

Resource Reference

1. Ch28 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

136

1. What steps should be taken in the use of processes? R

2. How do we ensure superuser privileges are used by the correct

user?

R

LU -44: -Program Security-Design and Implementation(2 Periods)

LU Objectives

1. To discuss the issues in Program security

2. To provide the design and implementation of program security

LU Outcomes

1. To list the issues in Program security

2. To work with the design and implement program security methods

Resource Reference

1. Ch29 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. How can security be enforced in the development of programs? U

2. What are the steps in program development? R

3. What are the common security related programming problems? U

4. What is the importance of role based access in program development? U

5. Describe validation in program security. R

LU -45: -Program Security-Testing and Maintenance(1 Period)

LU Objectives

1. To demonstrate the steps in Program security testing and maintenance

LU Outcomes

1. To deploy the steps in Program security testing and maintenance

137

Resource Reference

1. Ch29 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is bounds checking? R

2. What is Type checking? R

3. What is Error checking? R

4. How are inputs checked for valid data? R

5. Describe designing programs for validation. R

138

COURSE DETAILS

Subject Code : CS9225

Subject Name : Web Technology

Semester : M.E. (CSE) II Semester

Prepared By : Mr. J. Raja Sekar

Approved By : Dr. K. Muneeswaran

Effective Date : 06.02.2013

Revision No. : 0

Course Objective:

To gain knowledge on the essentials of web technology and the elements involved in it.

To have a thorough knowledge on markup languages (HTML), XHTML and various

cascading style sheets (CSS).

To learn the basics of client-side programming using Java scripts and its built-in objects.

To get experience on server side programming by learning Java Servlets, JSP and ASP.

To have clear idea of Java database programming using JDBC.

To know the significance of XML and different technologies related to XML such as DTD,

Schema, DOM, SAX and Xquery.

To understand the basics of PHP and MySQL.

Course Prerequisite:

Programming Paradigms / Java Programming

Internet Programming

Course Outcomes –Programme Outcomes mapping

(3-Substantiall , 2-Moderately, 1-slightly)

Course Outcomes

Programme Outcomes

1 2 3 4 5 6 7 8 9 10 11 12 13

1. Gain knowledge on the essentials of web technology and the elements involved in

it.

2 1 2

2. Have a thorough knowledge on markup languages (HTML), XHTML and various cascading style sheets (CSS).

2 2 2 3 1 2 3 3

3. Learn the concept of client-side programming using Java scripts and its

built-in objects.

1 2 2 3

139

4. Get experience on server side programming by learning Java Servlets,

JSP and ASP.

1 2 2 2 3 3

5. Have clear idea of Java database

programming using JDBC.

2 3 3 2 3 3

6. Know the significance of XML and

different technologies related to XML such as DTD, Schema, DOM, SAX and Xquery.

3 2 2 2 2 2 2 3

7. Understand the basics of PHP and MySQL. 2 3 3 3 3 3 3

Concept Map

COURSE SYLLABUS (As per Anna University, Chennai)

Unit I 9

Web essentials – clients – servers - communication – Markup languages – XHTML – simple XHTML

pages style sheets – CSS

Unit II 9

Client side programming – Java script language – Java script objects – Host objects: Browsers and

the DOM

Unit III 9

Server side programming – Java servlets – basics – simple program – separating programming

and presentation – ASP/JSP - JSP basics - ASP/JSP objects – Simple ASP/JSP pages.

140

Unit IV 9

Representing Web data – Data base connectivity – JDBC – Dynamic Web pages – XML – DTD –

XML schema – DOM – SAX – Xquery.

Unit V 9

Building Web applications - Cookies – Sessions – Open source environment – PHP – MYSQL – Case

studies.

Total: 45 Periods

TEXT BOOKS:

1. Jeffrey C Jackson, “Web Technology – A Computer Science Perspective”, Pearson

Education, 2007.

2. Chris Bates, “Web Programming – Building Internet Applications”, Wiley India, 2006.

ONLINE MATERIALS:

1. http://www.javascriptkit.com/

2. http://www.w3schools.com/xml/default.asp

3. http://www.tutorialspoint.com/jsp/jsp_overview.htm

4. http://www.docstoc.com/search/asp-tutorial-download-pdf

5. http://www.javacommerce.com/displaypage.jsp?name=intro.sql&id=18238

6. http://www.freewebmasterhelp.com/tutorials/phpmysql

7. http://www.learnphp-tutorial.com/

Course Schedule

S.

No. Topic

Hours

needed

Date of

coverage

1.

MODULE I

Web essentials – Clients, servers, communication

2

2. Markup languages – HTML 2

3. XHTML, Simple XHTML pages 1

4. Style sheets – Cascading style sheets (CSS) 1

5. CSS core syntax 1

6. Style rule cascading and inheritance 2

Sub Total: 9

7.

MODULE II

Client side programming – Java script introduction

1

8. Java script – Basics 2

141

S.

No. Topic

Hours

needed

Date of

coverage

9. Java script objects 2

10. Host objects: Browsers and the DOM 2

11. DOM event handling 2

Sub Total: 9

12.

MODULE III

Server side programming: Java servlets, basics

2

13. Simple servlets program 1

14. Separating programming and presentation, Introduction to ASP/JSP 1

15. JSP basics 2

16. ASP/JSP objects 2

17. Simple ASP/JSP pages 2

Sub Total: 10

18.

MODULE IV

Representing Web data

1

19. Database connectivity – JDBC 2

20. Dynamic Web pages, XML 1

21. XML DTD 1

22. XML schema 2

23. DOM, SAX 2

24. XQuery 1

Sub Total: 10

25.

MODULE V

Building Web applications: Cookies

2

26. Sessions 1

27. Open Source Environment – PHP 2

28. MYSQL 2

29. Case studies 2

Sub Total: 9

Total: 47 Periods

DELIVERY PLAN FOR THE LEARNING UNITS (LU)

MODULE-I

142

Web essentials – Clients – Servers - Communication – Markup languages – XHTML – Simple

XHTML pages – Style sheets – CSS.

Module Overview

This module outlines the essentials of web technology and the various elements involved in

it. The markup languages such as HTML, XHTML are discussed here. Also, the different ways of

presenting the HTML documents by separating the web contents are learnt by using cascading

style sheets (CSS).

LU -1: Web essentials – Clients, servers, communication (2 periods)

LU Objectives

1. To identify basic internet protocols.

2. To study the HTTP protocol message structure.

3. To understand about web clients and web servers.

LU Outcomes

1. Explore the structure of HTTP request and response messages.

2. Realize the functionality of web browser.

3. Identify the working of the web server.

Resource Reference

1. Chapter 1.1 to 1.7 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. What are the basic Internet protocols? R

2. Distinguish between TCP and UDP. R

3. Define DNS. U

4. What is WWW? R

5. Define HTTP. U

6. Draw and explain the message of structure of HTTP request message. R

7. With a neat diagram, explain the HTTP response message structure. R

8. Identify the various tasks performed by the web browser while making a

HTTP request.

A

143

9. List some of the additional functionality of the web browser. U

10. Identify the various steps involved during the HTTP request and response

to and from a web server.

A

LU -2: Markup languages – HTML (2 periods)

LU Objectives

1. To identify the different basic elements of HTML.

2. To study the way of including images, tables, hyperlinks and frames into a web page.

3. To learn the design of HTML web pages.

LU Outcomes

1. Learn the various elements of HTML.

2. Identify the usage of images, links, tables and frames in the web page.

3. Develop the ability to build a web site using HTML.

Resource Reference

1. Chapter 2.4 to 2.9 and 2.11 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. List any four HTML entity references. R

2. What do you mean by empty element in HTML? R

3. How will you format text in a web page? Identify some of the HTML

elements.

A

4. How will you insert multiple images and hyperlinks into a web page? A

5. Illustrate the three types of lists supported by HTML with necessary

examples.

U

6. Determine the basic features of structuring and formatting HTML tables

with suitable examples.

A

7. Design a web page containing the following table:

S.

No.

Customer

Name

Items Purchased Bill

Amount

(in `) Code Qty. Unit

Price Total

1. Kumar 12 5 60 300

700 15 4 100 400

2.

C

144

3.

8. Create a HTML application with frames, links, tables and other tags for

highlighting the facilities in your College.

C

9. Create a HTML application with frames, links, tables and other tags that

will provide information about the services provided in Bharat blood bank.

C

LU -3: XHTML, Simple XHTML pages (1 period)

LU Objectives

1. To learn the three flavors of XHTML.

2. To construct web pages using XHTML.

LU Outcomes

1. Explore the knowledge on XHTML document type declarations (DTD).

2. Design web pages using XHTML sysntax.

Resource Reference

1. Chapter 2.3 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. What are the characteristics of direct manipulation graphical system? R

2. Mention the various limitations of direct manipulation systems. U

3. Distinguish between HTML and XHTML documents. A

4. With a neat diagram, explain the relationships between SGML, XML, HTML,

and XHTML.

U

5. Illustrate with example, the three document type declaration (DTD) used in

XHTML document.

U

6. Design a XHTML web page for a registration page containing information

about the student details.

C

LU -4: Style sheets – Cascading style sheets (CSS) (1 period)

LU Objectives

1. To quote the need and importance of cascading style sheets (CSS).

145

2. To express the different forms of CSS.

3. To understand about web clients and web servers.

LU Outcomes

1. Apply different styles using CSS.

2. Sketch web pages with various forms of CSS.

Resource Reference

1. Chapter 3.1 and 3.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Define Cascading Style Sheets (CSS) and its three flavours. U

2. What is inline style sheet? R

3. How will you link an external style sheet to improve the presentation of a

document?

A

4. Is it possible to apply more than one style to a HTML document? Justify. A

5. Design a HTML document and CSS style sheet that will cause a background

image to be repeated across the vertical center of the browser client area.

The image should remain in the center of the window even if the window is

scrolled.

C

LU -5: CSS core syntax (1 period)

LU Objectives

1. To know about the CSS style rule.

2. To study the various forms of CSS selector strings.

LU Outcomes

1. Dramatize the web page design with CSS.

2. Discriminate web pages by applying different styles to them.

Resource Reference

1. Chapter 3.3 of T1

146

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Write down the two parts of CSS style rule. U

2. Give the significance of At-rules. U

3. Demonstrate with necessary examples, the various types of CSS selectors. A

4. Determine with necessary examples, the different forms of style rules /

statements used in CSS.

A

5. Create an embedded style sheet (including the appropriate HTML tags)

that sets the value of the font-family property to Gill Sans Bold SamllCaps

& OSF for all elements of the document.

C

LU -6: Style rule cascading and inheritance (2 periods)

LU Objectives

1. To learn the style rule cascading.

2. To understand the element inheritance of style properties.

LU Outcomes

1. Identify the cascading of style sheet rules.

2. Explore the inheritance property of cascading style rules.

Resource Reference

1. Chapter 3.5 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Explain in detail, the various steps involved in cascading of style rules. U

2. Clarify how style rules declarations are prioritized once the origin and

weight are established.

A

3. What do you mean by specificity? U

4. List out the priority levels of the CSS style rules based on the origin and

weight of all declarations.

R

5. Demonstrate with an HTML document, the element inheritance of style

properties.

A

6. Write a style sheet that will cause the li elements within any ol element to

be numbered in an outline style: the top-level li elements should use

uppercase Roman numerals, the next level uppercase letters, the next

level lowercase Roman numerals, then lowercase letters, and finally

decimal numbers at the fifth level.

C

147

Module II

Client side programming – Java script language – Java script objects – Host objects: Browsers and

the DOM

Module Overview

This module explains the understanding of client-side programming and the need of the

scripting language, JavaScript. The basics of JavaScript are learnt here. JavaScript objects, both,

intrinsic and extrinsic are also analyzed. The host objects, browsers and the Document Object

Model (DOM) are also discussed.

LU -7: Client side programming – Java script introduction (1 period)

LU Objectives

1. To recognize the need of client-side programming.

2. To learn the scripting language JavaScript.

LU Outcomes

1. Realize the concept of client side programming.

2. Understand the usage of JavaScript in HTML document.

Resource Reference

1. Chapter 4.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Define scripting language. U

2. Is JavaScript interpreted or compiled language? Explain. A

3. Identify some of the client-side programming languages and analyze their

significance.

A

4. Give the basic syntax of JavaScript. R

LU -8: JavaScript – Basics (2 periods)

LU Objectives

148

1. To identify the various data types in JavaScript.

2. To understand the three types of statements.

3. To study the ways of handling arrays.

LU Outcomes

1. Prescribe the usage of JavaScript.

2. Apply the JavaScript to the web pages for validation.

Resource Reference

1. Chapter 4.4 to 4.9 of T1

2. Chapter 6 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Write down the primitive data types of JavaScript. R

2. Give the significance of typeof operator. R

3. Explain the various operators supported by JavaScript with suitable examples. U

4. Describe the various data types and operators available in JavaScript. R

5. Illustrate with examples, how arrays are created and accessed in JavaScript. U

6. Elaborate any five methods inherited by JavaScript Array object with example. R

7. Estimate how dynamically the JavaScript changes its array length. A

8. Distinguish between JavaScript and Java. A

9. Write a JavaScript program that reads ‘N’ set of numbers and compute their sum

and average. Using ‘Array’ object, sort the given set of numbers.

C

10. Design a function median( ) that accepts a one-dimensional array containing an

odd number of integers as its single argument and returns the median value

stored in the array (this is the value of the middle element of a sorted version of

the array). The argument array should not be modified.

C

LU -9: JavaScript objects (2 periods)

LU Objective

1. To identify the various built-in objects of JavaScript.

LU Outcomes

1. Review the built-in objects such as Array, Date, Math and RegExp objects.

149

2. Implement the built-in objects in the web pages.

Resource Reference

1. Chapter 4.10 to 4.12 of T1

2. Chapter 7 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Explain any five built-in objects supported by JavaScript with suitable

example.

U

2. Using a RegExp instance, write a JavaScript function isValid() that accepts

a String argument and returns true if the argument matches one of the

following phone-number formats and returns false otherwise:

(123)456-7890

(123) 456-7890

123/456-7890

123-456-7890

123 456 7890

1234567890

E

3. Write a JavaScript program that generates 10 random math problems.

Each math problem should consist of three operands (random integers

between −10 and 10, inclusive) and two operators (randomly drawn from

+, -, *, and %). For example, a problem might be -4 + 7 % 3. Display

each problem in a prompt box, and allow the user to enter an integer

representing the value of the problem (following standard JavaScript

operator precedence rules). After all 10 problems have been answered,

output the number of correct answers.

C

LU -10: Host objects: Browsers and the DOM (2 periods)

LU Objectives

1. To list the various browser objects used in JavaScript.

2. To study the Document Object Model (DOM) API.

3. To understand about web clients and web servers.

LU Outcomes

1. Recognize the different browser objects.

2. Focus on DOM2 support for document tree access and modification within a browser.

Resource Reference

150

1. Chapter 5.1 to 5.5 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Define Document Object Model (DOM). U

2. Elaborate the various browser objects available with JavaScript with necessary

examples.

R

3. Write a simple JavaScript program that displays information about the screen

size, resolution and color depth.

C

4. Explain the DOM approach for XML processing with suitable example. U

5. Discuss in detail the JavaScript DOM objects with suitable examples. U

6. Write a JavaScript program that displays the outline of the Element nodes in the

document tree of a given input HTML document.

A

LU -11: DOM event handling (2 periods)

LU Objective

1. To describe the mouse and window events.

LU Outcomes

1. Identify the two traditional ways of assigning event handlers.

2. Handle simple events using JavaScript.

Resource Reference

1. Chapter 5.6 and 5.8 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. List the six DOM2 mouse events. R

2. Illustrate with neat examples, the functions of event listeners, event

propogation, event cancelling and event generation with respect to DOM

event handling.

U

3. Consider the JavaScript codings below:

var button = window.document.getElementById("msgButton");

button.addEventListener("click", sayHello, false);

function sayHello(event) {

window.alert("Hello World!\n\n" + "Event type: " + event.type

+ "\n" + "Event target element type: " +

A

151

event.target.nodeName);

return;

}

Explain the above coding.

Module III

Server side programming – Java servlets – basics – simple program – separating programming

and presentation – ASP/JSP - JSP basics - ASP/JSP objects – Simple ASP/JSP pages.

Module Overview

Here in this module, the different server-side programming technologies such as Java

servlets, Active Server Pages (ASP) and/or Java Server Pages (JSP) are learnt. Study on the basics

of Java servlet programming is performed with simple servlet programs. The server page

technologies such as Java Server Pages (JSP) and/or Active Server Pages (ASP), and their objects

are discussed. Creating simple JSP/ASP pages are also done.

LU -12: Server side programming: Java servlets, basics (1 period)

LU Objectives

1. To identify the concept of server side programming.

2. To learn the basics of Java servlet.

LU Outcomes

1. Relate the significance of client-side and server-side programming.

2. Express the basics of Java servlet programming.

3. Review the usage of GenericServlet and HttpServlet.

Resource Reference

1. Chapter 6.1 to 6.4 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Compare and contrast client-side and server-side programming. U

2. Mention the two kinds of HTTP responses made by a web server to an

HTTP request.

R

152

3. Distinguish between CGI scripts and Java servlets. A

4. Compare and contrast static and dynamic (HTTP) responses. A

5. What is MIME? R

6. Draw a neat sketch of high-level web server-servlet interaction. U

7. With a neat diagram, explain the architecture of Java Servlet. U

8. Explain the three methods involved in the life cycle of Java Servlets. U

9. Distinguish between doGet( ) and doPost( ) methods. A

10. Identify some of the methods of HttpServeltRequest for accessing

parameter data and their purpose.

R

11. Identify some of the methods of HttpServeltResponse used by the server

to generate an HTTP response. R

LU -13: Simple servlets program (1 period)

LU Objectives

1. To write simple programs using GenericServlet class.

2. To write simple programs using HttpServlet class

LU Outcome

1. Capable of writing any Java servlet programs.

Resource Reference

1. Chapter 6.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Consider the following URL:

“http://localhost:8080/servlet/Login?txtUname=Shaks&txtAge=42”

Write a simple servlet program that reads the parameter data in the URL

and displays them back to the user.

C

2. Design a HTML page containing the following details: register number,

student name, subject code, subject name, grade obtained, and subject

credit for three subjects. Develop a servlet program that reads all these

data entered by the user, computes the CGPA and display it back to the

user alongwith register number and student name.

C

3. Write the servlet code for reversing the given integers. C

4. Write a simple HttpServlet program to obtain the personal details such as

name, age, gender and contact number entered by the web client and

validate the details based on the age criteria and send the appropriate

response back to the client

C

153

LU -14: Separating programming and presentation, Introduction to ASP/JSP (2 periods)

LU Objectives

1. To understand the need for separating programming and presentation.

2. To study the architecture of JSP / ASP.

LU Outcomes

1. Understand the importance of separating programming and presentation in web pages.

2. Recognize the architecture of JSP and ASP.

3. Identify the various components in the JSP and ASP architecture.

Resource Reference

1. Chapter 8.1 to 8.3, 8.9.2 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Write two advantages of JSP over servlet. U

2. With a neat diagram, explain the architecture of ASP .NET framework. U

3. “Separating programming and presentation is preferable”. Why? A

LU -15: JSP basics (2 periods)

LU Objectives

1. To learn the major components of JSP.

2. To understand the different directive tags.

3. To know the standard action tags of JSP.

LU Outcomes

1. Unite JSP tags with HTML codings.

2. Capable of writing simple JSP pages.

Resource Reference

1. Chapter 8.4 and 8.7 of T1

154

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. “Every valid JSP documents consists of at most three types of information”.

What are they? Explain each of them.

R

2. Write a JSP to demonstrate the usage of page and include directives. C

3. List some of the JSP Expression Language (EL) implicit objects. R

4. State the major components of JSP. R

5. Compare and contrast include directive and include action tags. A

6. What is MVC? How can it be implemented? A

7. By giving suitable examples, explain the JSP scriptlets. U

8. Define JSTL. U

9. What are the benefits of JSP custom tags? U

10. Design a simple JSP page that accepts two numbers as input and

computes its sum and product, and displays the results back to the user.

C

LU -16: ASP/JSP objects (2 periods)

LU Objectives

1. To identify the various implicit objects.

2. To learn the ASP objects.

LU Outcomes

1. Familiarize various objects of JSP / ASP.

2. Usage of these objects in web pages.

Resource Reference

1. Chapter 12.9 of the book “Web Technology: A Developer's Perspective” - by

N.P. Gopalan & J. Akilandeswari

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Highlight the Response and Session objects of JSP / ASP along with their

available methods.

U

2. What is the main use of Session object? R

3. Create a cookie named “Name” and store your name to this cookie. Using C

155

addCookie( ) method of the Response object, add this cookie.

4. How to create JSP objects and use of that? Explain with suitable example. A

5. Discuss in detail the five objects of ASP with examples. U

6. Write short note on ASPError object. U

LU -17: Simple ASP/JSP pages (2 periods)

LU Objective

1. To enable students to develop simple ASP / JSP pages.

LU Outcomes

1. Enabling the students to develop web pages using JSP / ASP.

2. Designing web pages containing ASP / JSP implicit objects.

Resource Reference

1. http://www.oracle.com/technetwork/articles/javase/servlets-jsp-140445.html

2. http://www.javaworld.com/jw-12-1999/jw-12-ssj-jspmvc.html

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Write an ASP code to display different image each time a user visits a

page.

C

2. Write a simple ASP code that displays the number of current visitors in an

ASP file.

C

3. Design a simple ASP /JSP page that holds information about an online bus

ticket booking system. Assume your own set of necessary details for the

same

C

4. Develop a web application for a Super Market Billing System using ASP /

JSP pages. Use cookies as part of the web application. State the

assumptions you make (business logic you are taking into consideration).

Note: Your application must access a database.

C

5. Develop a web application for a Railway Reservation System using ASP /

JSP pages. Use cookies as part of the web application. State the

assumptions you make (business logic you are taking into consideration).

Note: Your application must access a database.

C

6. Design a web page for library management system using JSP/ASP that

contains the following information: book no., book name, author(s) name,

publisher name and cost of the book.

C

Module IV 9

156

Representing Web data – Database connectivity – JDBC – Dynamic Web pages – XML – DTD – XML

schema – DOM – SAX – Xquery.

Module Overview

T he concepts of Java database connectivity (JDBC) are discussed here. The basics of

eXtensible markup language (XML) are learnt. Different technologies related to XML such as DTD,

XML schema, DOM, SAX and Xquery are discussed.

LU -18: Representing Web data (1 period)

LU Objective

1. To consider several technologies related to XML.

LU Outcomes

1. Learn how web data is represented.

2. Understand how XML document is used to represent web data.

Resource Reference

1. Chapter 1.1 to 1.7 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. What do you mean by web data? U

2. How will you represent web data using XML? U

LU -19: Database connectivity – JDBC (2 periods)

LU Objectives

1. To know the key ideas behind JDBC.

2. To understand the different classes and interfaces involved in JDBC API.

To execute static and dynamic SQL statements.

3. To write simple JDBC application programs.

157

LU Outcomes

1. Ability to choose the JDBC driver type based on the requirement.

2. Capable of developing JDBC applications.

Resource Reference

1. Appendix C of T1

2. Chapter 4 of “Core Java Vol. II – Advanced Features, 8th Edition”, by Cay S. Horstmann

and Gary Cornell.

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. List the four types of Java database driver. R

2. How will you delete a specific record from an already existing table? A

3. Explain the steps involved in developing a Java database application U

4. Identify and list out how SQL statements are created and those commands

are executed.

U

5. Realize the importance of PreparedStatement in Java SQL. U

6. Write a Java database program to perform the following for a railway

information system:

(i) to retrieve all the records contained in the database

(ii) retrieve details of a particular train based on the train number

(iii) insert a new record with the train details

(iv) alter the starting and reaching time of a particular train number

(v) delete the details of a particular train based on the train number

A

7. Design a web page using JSP that reads customer details and his/her

ration card details in applying for a new mobile connection. The details are

to be stored in MySQL database.

C

LU -20: Dynamic Web pages, XML (1 period)

LU Objectives

1. To learn the concept of dynamic web pages.

2. To know the basic ideas of XML.

3. To understand the different kinds of XML documents.

LU Outcomes

1. Classify between static and dynamic web pages.

2. Relate the different technologies of XML.

158

3. Sketch any real-world problems using XML document.

Resource Reference

1. Chapter 7.1 to 7.3 of T1

2. Chapter 1 to 3 of “Beginning XML, 4th Edition”, by David Hunter, Jeff Rafter, et. al.

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Distinguish between static and dynamic web pages. U

2. Define XML and its uses. U

3. What are well-formed XML documents? R

4. List out the various XML syntax rules. R

5. Write a note on XML namespaces. U

6. When is an XML document said to be valid? A

7. Differentiate well-formed and valid XML documents. A

8. Write two main differences between HTML and XML. U

9. Create a simple XML document for a mobile phone and identify various

attributes.

C

LU -21: XML DTD (1 period)

LU Objectives

1. To look at each of the DTD declarations in detail.

2. To validate an XML document using DTDs.

LU Outcomes

1. Know the various declaration parts of DTDs.

2. Describe the DTD for an XML document.

3. Specify an XML document and DTD using external files.

Resource Reference

1. Chapter 4 of “Beginning XML, 4th Edition”, by David Hunter, Jeff Rafter, et. al.

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

159

1. Mention the basic three parts of any XML DTD. R

2. List the four kinds of content model allowable within an element

declaration.

R

3. Compare #REQUIRED and #IMPLIED attribute value declarations. A

4. Discuss in detail, XML DTD definition with suitable examples. U

5. Consider the following XML document below:

<?xml version="1.0"?>

<mobileset>

<mobile>

<name>Sony Ericsson </name>

<model>W700i </model>

<cost type = "Rupees">8000</cost>

</mobile>

<mobile>

<name>Apple</name>

<model>iPhone 4S </model>

<cost type = "Rupees">10000</cost>

</mobile>

</mobileset>

The following is the generated XML DTD for the above XML document.

<!ELEMENT mobileset ( mobile )*>

<!ELEMENT mobile ( name | model, cost )*>

<!ELEMENT name ( #PCDATA )>

<!ELEMENT model ( #PCDATA )>

<!ELEMENT cost ( #PCDATA )>

<!ATTLIST cost type CDATA #IMPLIED>

Check for the correctness of this DTD definition.

E

6. What are the limitations of DTD? U

7. Consider the XML document below:

<?xml version=”1.0”?>

<contacts>

<contact>

<name>

<first>Jeff</first>

<middle>Craig</middle>

<last>Rafter</last>

</name>

<location>

<latitude>34.031892</latitude>

<longitude>-117.207642</longitude>

</location>

<phone>001-909-555-1212</phone>

<knows>David Hunter, Danny Ayers</knows>

<description>

Jeff is a developer and author for Beginning XML <em>4th

edition</em>.<br/>Jeff <strong>loves</strong> XML!

</description>

</contact>

</contacts>

160

Currently, each contact can have only one phone number. Modify the

contact declaration so that each contact can have zero or more phone

numbers. In addition, add declarations for website and email elements.

LU -22: XML schema (2 periods)

LU Objectives

1. To associate an XML schema with an XML document.

2. To specify allowable XML content using simple and complex types.

3. To create an XML schema using multiple documents and namespaces.

LU Outcomes

1. Recognize the benefits of XML schemas.

2. Associating XML schema with an XML document.

3. Document your XML schema.

Resource Reference

1. Chapter 5 of “Beginning XML, 4th Edition”, by David Hunter, Jeff Rafter, et. al.

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. List out the benefits of XML schemas. R

2. Compare and contrast XML DTDs and XML schemas. U

3. Mention some of the built-in data types available with XML schema. U

4. Distinguish between simple and complex data types. R

5. Identify the four element content model of a XML schema definition. U

6. Discuss in detail, XML Schema definition with necessary examples. U

7. Is it possible to create a schema from multiple documents? Justify. A

8. Why XML schema is needed? Compare with DTD. A

LU -23: DOM, SAX (2 periods)

LU Objectives

1. To understand the purpose of XML Document Object Model (DOM).

2. To learn the important XML DOM interfaces and objects.

161

3. To know how and when to use the primary SAX interfaces

LU Outcomes

1. Write java programs to create DOM parser using Java DOM APIs.

2. Explore the significance of SAX parsers and its usage.

3. Plan suitable parser (either DOM or SAX) based on the XML document for consideration.

Resource Reference

1. Chapter 7.5 and 7.6 of T1

2. Chapter 11 and 12 of “Beginning XML, 4th Edition”, by David Hunter, Jeff Rafter, et. al.

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. What is the purpose of the XML DOM? U

2. List some of the important DOM interfaces and objects. R

3. Write a detailed note on XML Document Object Model (DOM) U

4. Develop a Java program using DOM API, to count for a specific tag

contained in the input HTML document.

C

5. Define SAX. U

6. Determine how SAX parser helps to parse large XML documents. R

7. Differentiate between DOM and SAX parser. A

LU -24: XQuery (1 period)

LU Objectives

1. To query an XML document using XQuery

2. To use the different types of expression in XQuery

LU Outcomes

1. Usage of XQuery tools to query the XML document.

2. Familiarize the important FLWOR (for, let, wher, order by, return) expressions.

3. Hands on experience with some XQuery functions.

Resource Reference

162

1. Chapter 9 and 10 of “Beginning XML, 4th Edition”, by David Hunter, Jeff Rafter, et. al.

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Describe how XQuery helps in querying the XML data. U

2. How to query an XML document using XQuery and how to create new

elements in the result using element constructors?

U

3. Give the significance of doc( ) function. R

4. What notation is used in an XQuery expression to indicate that its content

is created dynamically?

U

5. Create a simple library element containing details about book name and

publishing year using element and attribute constructor.

C

6. What do you mean by FLWOR expressions? Explain with necessary

examples.

R

Module V 9

Building Web applications - Cookies – Sessions – Open source environment – PHP – MYSQL – Case

studies.

Module Overview

This module defines the way to build web applications using PHP. The role of cookies and

session management are described using Java servlet and PHP. Moreover, the open source

database technology, MySQL is discussed. Some of the applications are considered for case study.

LU -25: Building Web applications, Cookies (2 periods)

LU Objectives

1. To know how to build web applications.

2. To learn what a cookie is.

LU Outcomes

1. Building web applications

2. Demonstrate the creation and use of cookies.

Resource Reference

163

1. Chapter 6.7 of T1

2. Chapter 12 of T2

3. Chapter 27 of “Java 2: The complete reference, Fifth Edition” by Herbert Schildt

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Define cookie. U

2. List some of the methods of servlet Cookie class. U

3. Using servlet cookie, write a simple code segment that counts the number

of times a user visits a URL.

C

4. Give the general form of creating a cookie in PHP. R

5. Discuss how cookies and sessions help to track users across many web

sites.

U

LU -26: Sessions (1 period)

LU Objective

1. To manage session using servlet and PHP.

LU Outcomes

1. Creating and terminating sessions using servlet.

2. Storing and retrieving attributes in session.

Resource Reference

1. Chapter 6.6 of T1

2. Chapter 12 of T2

3. Chapter 27 of “Java 2: The complete reference, Fifth Edition” by Herbert Schildt

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. With a neat diagram, show how a server establishing and maintaining

sessions with two clients.

U

2. Why session management is required in JSP / servlet? Explain. A

3. Illustrate servlet session tracking with suitable example program. U

4. Explain the two session management techniques (URL rewriting and U

164

cookie).

5. Discriminate why PHP sessions are better than cookies for tracking users. A

LU -27: Open Source Environment – PHP (2 periods)

LU Objectives

1. To learn the basic of PHP.

2. To understand the handling of arrays.

3. To gain knowledge on PHP program control statements.

LU Outcomes

1. Creating web pages in open source environment using PHP.

2. Ability to access HTTP data using PHP.

Resource Reference

1. Chapter 12 of T2.

2. http://www.w3schools.com/php/default.asp.

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Define PHP. R

2. List and explain any eight features of PHP. U

3. State the different data types supported by PHP. U

4. List the various operators provided by PHP with necessary example. R

5. Describe how arrays are handled in PHP with example. U

6. What do you mean by associative array? Give example. U

7. Write the code in PHP for “A cookie of a page stores a URL at the server.

Now when any client visits the page, the server redirects and connects the

visitor to the URL.

C

8. Illustrate the different control structures available with PHP. U

9. Use PHP to display the current time of day at the server within a web page. C

10. Determine how $_GET and $_POST are used to access HTTP data with

suitable example.

A

11. Create an HTML form which you can use to enter a list of your friends

names, include both forenames and surnames. Pass the data to a PHP

script. Display the names in the order in which they were entered and in

descending alphabetical order. Store the unordered names in a cookie. Let

the user enter another name, display it correctly in the sorted list, taking

the other names from the cookie.

C

165

LU -28: MySQL (2 periods)

LU Objective

1. To gain knowledge on MySQL database.

LU Outcome

1. Access MySQL from PHP.

Resource Reference

1. Chapter 13.2 of T2.

2. http://www.tutorialspoint.com/mysql/index.htm

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Write a simple PHP script that helps to connect to the database server.

C

2. Using while structure, show how to retrieve more than one record from a

table.

U

3. Distinguish between mysqli_fetch_row(result) and

mysqli_fetch_array(result, type).

A

4. Design PHP pages for online ticket booking for a cinema complex. Create

necessary tables with required fields with MySQL database. Provide

necessary operations to book or cancel the tickets online.

C

LU -29: Case studies (2 periods)

LU Objectives

1. To enable the students to develop dynamic web pages.

2. To make them to develop database applications.

LU Outcomes

1. Irrespective of technologies, create dynamic web pages.

2. Organize web pages with database applications.

Resource Reference

166

1. Chapter 12 and 13 of T2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

S. No. Test Questions Level

1. Create the following tables:

Table Name Fields

Musician musicianID, name, instrument

CD cdID, title, release date, type

Track trackID, title, length, rating

Musician to CD musicianID, cdID

Track to CD trackID, cdID

Write SQL statements to insert data into the database, to delete items and

to query the database. Also, write query statements which will select

All musicians

All musicians who play a particular instrument

All CDs

All CDs on which a chosen musician plays

All tracks on a chosen CD

Create PHP pages that can execute the above SQL statements and to

display the results with appropriate formatting.

A

2. What will be the result for the following?

INSERT INTO user (fname, lname, class, email)

VALUES

(‘Kannan’, ‘Kavitha’, ‘I M.E.(IS)’, ‘[email protected]’),

(‘Anand’, ‘kumar’, ‘I B.E.(ECE)’, ‘[email protected]’),

(‘Sundar’, ‘Hari’, ‘IV B.E.(CIV)’, ‘[email protected]’);

A

3. Create an HTML form that helps to enter a list of your friends names,

including both first and last names. Pass the data to a PHP script. Display

the names in the order in which they were entered, and in descending

alphabetical order.

C

4. Consider the URL:

http://localhost/htdocs/cookie.php?rollno=12MCS003&name=ABC

Define a cookie MyCookie that stores the roll number and name and access

this cookie. Also, this cookie should last only for 10 minutes.

C

167

COURSE DETAILS - SOFTWARE QUALITY ASSURANCE

Subject Code : CS9262

Subject Name : SOFTWARE QUALITY ASSURANCE

Semester : M.E (CSE) II Semester

Prepared By : Mr.N.BalaGanesh

Reviewed By : Dr.K.Mala

Approved By : Dr.K.Muneeswaran

Effective Date : 06.02.2013

Revision No. : 1

Course Objective

To develop the software with world class quality to satisfy the customer needs

To create and manage a good testing infrastructure inside the software industry

To create and maintain quality documentation for each software product under

development

To form software quality assurance team to ensure the quality of the software product.

To follow the quality standards and get proper certification for the quality maintenance

infrastructure within the industry

To make use of proper tools while implementing quality infrastructure within organization

Course Prerequisite:

Software Engineering– CASE Tools – Object Oriented Analysis and Design

Course Outcomes–Programme Outcomes mapping

(3- Substantially, 2-Moderately, 1-Slightly)

S.No Course Outcomes

Programme Outcomes

1 2 3 4 5 6 7 8 9 10 11 12

1. Development of the software with world

class quality to satisfy the customer needs 3 3 3 3 2 2 3 3 3 3 1 3

2. Creation and management of good testing

infrastructure inside the software industry 3 2 1 3 2 2 3 3 3 3 1 1

3. Creation and maintenance of quality

documentation for each software product

2 3 - 3 1 1 - 2 2 2 1 1

168

under development

4. Formation of software quality assurance

team to ensure the quality of the software

product

1 2 - 3 1 1 - 1 2 - 3 2

5. Implementation of quality standards and

get proper certification for the quality

maintenance infrastructure within the

industry

1 2 - 3 1 1 1 1 2 - 2 2

6. Usage of proper tools while implementing

quality infrastructure within organization 2 1 - 3 1 1 2 1 2 - 1 3

Concept Map

Syllabus (As prescribed by Anna University, Chennai)

CS9262 SOFTWARE QUALITY ASSURANCE L T P C

3 0 0 3

UNIT I

Introduction to software quality - challenges – objectives – quality factors – components of SQA –

contract review – development and quality plans – SQA components in project life cycle – SQA

defect removal policies – Reviews

169

UNIT II

Basics of software testing – test generation from requirements – finite state models –

combinatorial designs - test selection, minimization and prioritization for regression testing – test

adequacy, assessment and enhancement

UNIT III

Testing strategies – white box and black box approach – integration testing – system and

acceptance testing – performance testing – regression testing - internationalization testing – ad

hoc testing – website testing – usability testing – accessibility testing

Test plan – management – execution and reporting – software test automation – automated

testing tools

UNIT IV

Hierarchical models of software quality – software quality metrics –function points –Software

product quality – software maintenance quality – effect of case tools – software quality

infrastructure – procedures – certifications – configuration management – documentation control

UNIT V

Project progress control – costs – quality management standards – project process standards –

Management and its role in SQA – SQA unit

REFERENCES:

1. Daniel Galin, Software quality assurance – from theory to implementation , Pearson education,

2009

2. Aditya Mathur, Foundations of software testing, Pearson Education, 2008

3. Srinivasan Desikan and Gopalaswamy Ramesh, Software testing – principles and practices,

Pearson education, 2006

4. Ron Patton, Software testing , second edition, Pearson education, 2007

5. Alan C Gillies, “Software Quality Theory and Management”, Cengage Learning, Second edition,

2003

WEB REFERENCES

1. http://www.qaforums.com/ 2. http://www.softwareqatest.com/index.html 3. http://www.aptest.com/index.html

4. http://www.softwarecertifications.org/ 5. http://www.qatutorial.com/

170

6. http://www.etestinghub.com/index.php

COURSE SCHEDULE

Sl.No Topics No. of

Periods

Date of

coverage

MODULE-I

1. Introduction to software quality - challenges – objectives 2

2. Components of SQA 1

3. Contract review 1

4. Development and Quality plans 1

5. SQA components in project life cycle 1

6. SQA defect removal policies 2

7. Reviews 1

Sub Total 9

MODULE – II

1. Basics of software testing 1

2. Test generation from requirements 2

3. Test generation from Finite state models 2

4. Test generation from combinatorial designs 2

5. Test selection for regression testing 1

6. Test minimization and prioritization for regression testing 1

7. Test adequacy: Assessment using Control Flow and Data

Flow

1

8. Test adequacy: Assessment using Program Mutation 1

Sub Total 11

MODULE –III

1. Testing strategies – White box testing 1

2. Black box testing 1

3. Integration testing 1

4. System and acceptance testing 1

5. Performance testing 1

6. Regression testing 1

7. Internationalization testing 1

8. Adhoc testing 1

9. Website testing 1

10. Usability and Accessibility testing 1

11. Test planning and management 1

12. Test execution and reporting 1

13. Software test automation and Tools 1

Sub Total 13

171

Sl.No Topics No. of

Periods

Date of

coverage

MODULE –IV

1. Hierarchical models of software quality 1

2. Software quality metrics 1

3. Function points 1

4. Software maintenance quality 1

5. Effect of CASE tools 1

6. Software quality infrastructure – procedures and work instructions

1

7. Staff Training and certifications 1

8. Configuration management 1

9. Documentation control 1

Sub Total 9

MODULE –V

1. Project progress control 1

2. Costs of software quality 1

3. Quality management standards – ISO 9000 Series 1

4. Quality management standards – CMM 1

5. Project process standards 1

6. Management and its role in SQA 2

7. SQA unit 2

Sub Total 9

Total No. of periods 51

DELIVERY PLAN FOR THE LEARNING UNITS (LU)

MODULE-I

This module deals with the introduction to software, its quality requirements and the need of

software quality assurance team and review procedure for maintaining the quality

LU -1: Introduction to software quality - challenges – objectives (1 Period)

LU Objectives

1. To define and explain various software quality terminologies

2. To explain the objectives of software quality assurance activities and to distinguish those

activities from the quality control.

LU Outcomes

1. Familiar with the software quality terminologies

172

2. Realize the importance of quality assurance activities in software development

Resource Reference

1. Chapter 2 of R1

Possible Assessment Questions: (Level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define software, software quality and software quality assurance R

2. Distinguish between software errors, software faults and software failures L

3. Identify the various causes of software errors L

4. Explain the objectives of software quality assurance activities U

5. Distinguish and explain the differences between software quality assurance

and quality control.

L

6. List the four components of a software system. R

7. How does the quality of each component contribute to the quality of the

developed software?

U

8. How does the quality of each component contribute to the quality of the

software maintenance?

U

LU -2: Components of SQA (1 Period)

LU Objectives

1. To discuss about the wide range of SQA components available to planners of an intra-

organizational SQA system.

2. To understand the potential contribution of each component, about the entire range of

components, and about the system as a defined entity.

LU Outcomes

1. Familiar with the components available in the SQA system

2. Pick out and apply the right quality assurance component at proper phase of the project

Resource Reference

173

1. Chapter 4 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain briefly on SQA System with architecture diagram U

2. List down the pre-project SQA components R

3. Describe the pre-project SQA components in detail U

4. List down the software project lifecycle SQA components R

5. Describe the software project lifecycle SQA components in detail U

6. List down the infrastructure components for error prevention and

improvement R

7. Describe the infrastructure components for error prevention and

improvement in detail U

8. List down the management SQA components R

9. Describe the management SQA components in detail U

10. Discuss the guidelines for construction of organizations SQA system U

LU -3: Contract review (1 Period)

LU Objectives

1. To explain the contract review stages, their objectives and factors affecting the review

process

2. To discuss the process and importance of carrying out a contract review for internal

projects

LU Outcomes

1. Realize the importance of the contract review

2. Arrange and plan for a contract review process for the projects

Resource Reference

1. Chapter 5 of R1

174

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the two contract review stages U

2. List the objectives of contract review. R

3. Identify the factors that affect the extent of the contract review L

4. Identify the difficulties in performing a major contract review L

5. Explain the recommended avenues for implementing a major contract

review

U

6. Discuss the importance of carrying out a contract review for internal

projects

U

7. List the various aspects involved with the examination of the customer’s

capabilities

R

8. What proposal team activities are required regarding each of the revealed

development risks?

R

LU -4: Development and Quality plans (1 Period)

LU Objectives

1. To explain the objectives and elements of a development plan and a quality plan

2. To identify the major software risk items.

3. To explain the process of software risk management

4. To discuss the importance of development and quality plans for small projects

5. To discuss the importance of development and quality plans for internal projects

LU Outcomes

1. Design a development plan for any kind of projects

2. Realize the importance of development plan and educate the same to fellow team

members

3. Design a quality plan for any kind of projects

4. Realize the importance of quality plan and educate the same to fellow team members

5. Carrying out the risk management process in software products

175

Resource Reference

1. Chapter 6 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the objectives of development and quality plans U

2. Identify the elements of a development plan L

3. Identify the elements of a quality plan L

4. Identify the major software risk items L

5. Explain the process of software risk management U

6. Discuss the benefits of preparing development and quality plans for small

projects

U

7. Discuss the benefits of preparing development and quality plans for

internal projects.

U

LU -5: SQA components in project life cycle (1 Period)

LU Objectives

1. To describe the various software development models and discuss the differences

between them

2. To explain the considerations affecting intensity of applying quality assurance activities

LU Outcomes

1. Compare various software development models and pick out the right model for the

project

2. Apply appropriate quality assurance activities to the software development model

Resource Reference

1. Chapter 7 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

176

Sl.No Test Questions Level

1. Describe the various software development models and discuss the

differences between them.

U

2. Explain the considerations affecting application of quality assurance

activities

U

3. What are the seven basic phases of the development process suggested by

the SDLC model?

U

4. List the conditions necessary for the prototyping model to be applied R

5. List the advantages of prototyping compared to the SDLC methodology for

development of small to medium-sized projects

U

6. Explain why the advantages of prototyping cannot be realized for large

software systems

U

7. Describe the four activities to be repeated in each iteration of the spiral

development process. Explain why the four activities designated are to be

repeated in each iteration of the development process

U

8. Explain the advantages of the spiral model as compared with the SDLC

model

U

LU -6: SQA defect removal policies (1 Period)

LU Objectives

1. To explain the different aspects of verification, validation and qualification associated with

quality assurance activities

2. To describe the model for the SQA plan’s defect-removal effectiveness and cost

LU Outcomes

1. Setting of verification, validation and qualification criteria for each and every quality

assurance activity

2. Creation of model for the SQA plan’s defect-removal effectiveness and cost

Resource Reference

1. Chapter 7 of R1

177

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the different aspects of verification, validation and qualification for

quality assurance activities.

U

2. Describe the model for SQA defect removal effectiveness and cost U

3. List out the average defect removal effectiveness of quality assurance

activities based on Boehm and Johns

U

4. List out the average defect removal cost of quality assurance activities

based on Boehm and Johns

U

5. Illustrate with an example on computing defect removal effectiveness of

various phases of the project based on the defect identification rate

U

LU -7: Reviews (1 Period)

LU Objectives

1. To explain the direct and indirect objectives of review methodologies.

2. To explain the contribution of external experts to the performance of review tasks

3. To compare the three major review methodologies

LU Outcomes

1. Plan for review processes based on the objectives of SQA

2. Create an internal atmosphere inside software industry to bring the external experts for

reviewing the tasks carried out for maintaining quality

3. Strengthen the quality process by carrying out review, walkthrough and inspection

Resource Reference

1. Chapter 8 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the direct and indirect objectives of the review methodologies U

2. Explain the contribution of outside experts to the performance of review U

178

tasks

3. Compare the objectives and participants of the three team review methods L

4. For each direct and indirect objectives, indicate the review technique or

techniques that contribute(s) the most to achieving that objective

L

5. Explain the importance of enforcing templates and sticking to style

procedures and conventions

U

6. Compare the various review techniques.

(1) In what aspects are design reviews more formal than inspections?

(2) In what aspects are inspections more formal than walkthroughs?

L

MODULE-II

This module gives an overview on software testing process. The test generation based on the

requirements, finite state machines and combinatorial designs is introduced. The techniques for

test selection, minimization and prioritization from large number of tests for carrying out the

regression testing are also discussed. Also, the measurement of adequacy of the testing using

control flow, data flow and program mutation techniques are also discussed.

LU -8: Basics of Software Testing (1 Period)

LU Objectives

1. To present basic concepts and terminology in software testing

2. To discuss the role of control flow graph in software testing

3. To present the relationship between various testing techniques and their use in different

scenarios

LU Outcomes

1. Knowledge attainment in basics of software testing process

2. Carry out software testing in different scenarios using appropriate techniques

3. Usage of mathematical techniques for carrying out software testing

Resource Reference

179

1. Chapter 1 of R2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Differentiate Errors, Faults and Failures L

2. Explain in detail on static testing U

3. Illustrate with block diagram the process of model checking U

4. What is a Control Flow Graph (CFG)? How it helps in software testing? U

5. List out the types of testing and explain them in detail U

6. Explain in detail on saturation effect U

LU -9: Test generation from requirements (2 Period)

LU Objectives

1. To introduce the classes of test generation techniques

2. To discuss on the techniques of partition testing

3. To discuss on the techniques of predicate testing

LU Outcomes

1. Ability to generate tests from requirements using category-partition method

2. Generation of tests from requirements using cause-effect graphing method

3. Generation of tests from requirements using predicates

Resource Reference

1. Chapter 2 of R2

180

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain in detail on Equivalence Partitioning method U

2. Illustrate with example on test selection based on equivalence classes U

3. Illustrate with example on boundary value analysis U

4. List out the steps in category partition method R

5. Illustrate with a simple example on generation of tests from requirements

using category-partition method

U

6. What is cause-effect graphing? R

7. Illustrate with a simple example on generation of tests from requirements

using cause-effect graphing

U

8. Illustrate with a simple example on generation of tests from predicates

(Conditions from requirements)

U

LU -10: Test generation from Finite state models (2 Periods)

LU Objectives

1. To introduce and explain how the finite state machine can be used for test generation

2. To introduce W-Method, Partial W-Method (W p-Method) and UIO-Method for constructing

a test set from given finite state machine

LU Outcomes

1. Test generation from basic finite state machine

2. Test generation from minimal, complete and connected finite state machine using several

methods

Resource Reference

1. Chapter 3 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

181

Sl.No Test Questions Level

1. What is a Finite state machine? R

2. Explain in detail on working of Finite state machine U

3. List out the properties of Finite state machine R

4. Illustrate with an example on W-Method for constructing a test set from

given finite state machine

U

5. Illustrate with an example on Partial W-Method (W p-Method) for generating

a test set from minimal, complete and connected finite state machine

U

6. Illustrate with an example on UIO-Method for constructing a test set from

given finite state machine based on unique input/output sequence

U

LU -11: Test generation from combinatorial designs (2 Periods)

LU Objectives

1. To introduce the basics of combinatorial test design process

2. To describe the ancient methods like latin squares and mutually orthogonal latin squares

(MOLS) and their application for the selection of subset

3. To discuss on the methods for generating combinatorial design (for use in software

testing)

LU Outcomes

1. Generation of tests from combinatorial designs

2. Usage of mathematical methods for the selection of subset

3. Generation of combinatorial designs using several methods

Resource Reference

1. Chapter 4 of R2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is meant by Combinatorial design? R

182

2. Discuss briefly on combinatorial test design process U

3. Explain the Latin square of order 2 and 4 with example U

4. Explain the Mutually Orthogonal Latin square (MOLS) of order 2 and 3 with

example

U

5. List out the shortcomings of using MOLS for test design U

6. Illustrate with an example on generation of test case using simple

orthogonal array

U

7. Illustrate with an example on generation of test case using mixed level

orthogonal array

U

8. Write a procedure for generating mixed-level covering arrays for pairwise

designs

A

LU -12: Test selection for regression testing (1 Period)

LU Objectives

1. To introduce regression testing process

2. To explain how regression test selection is done using execution trace and dynamic

slicing

LU Outcomes

1. Realize the importance of regression testing

2. Test selection using various techniques for carrying out regression test

Resource Reference

1. Chapter 5 of R2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is regression testing? R

2. Illustrate in detail on regression test process U

3. Illustrate how the test selection is carried out using execution trace U

183

4. Illustrate how the test selection is carried out using dynamic slicing U

5. What is dynamic slicing? R

LU -13: Test minimization and prioritization for regression testing (1 Period)

LU Objectives

1. To explain how regression test minimization is done

2. To discuss how regression test prioritization is carried out

LU Outcomes

1. Capable of minimizing tests using various techniques for carrying out regression test

2. Capable of prioritizing tests using various techniques for carrying out regression test

Resource Reference

1. Chapter 5 of R2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is test minimization? R

2. Write the procedure for test minimization A

3. Illustrate with example on set-cover optimization problem U

4. Explain with example how the regression test minimization is done? U

5. What is test prioritization? R

6. Write the procedure for test prioritization A

7. Explain with example how the regression test prioritization is done? U

8. List out the tools for regression testing R

LU -14: Test adequacy: Assessment using Control Flow and Data Flow (1 Period)

184

LU Objectives

1. To discuss and explain the test adequacy assessment using control flow and data flow

LU Outcomes

1. Realize the importance of test adequacy assessment

2. Assessing test adequacy using control and data flow

Resource Reference

1. Chapter 6 of R2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is test adequacy? R

2. How the test adequacy can be measured? U

3. Describe the way of enhancing the testing using measurement of adequacy? U

4. List out the coverage patterns based on control flow U

5. Illustrate with examples on how test adequacy assessment is done using

control flow

U

6. What is C-Use and P-Use? R

7. What is a data flow graph? Give an example U

8. How a data flow graph can be drawn for a given program? U

9. List out the coverage patterns based on data flow R

10. Illustrate with examples on how test adequacy assessment is done using

data flow

U

LU -15: Test adequacy: Assessment using Program Mutation (1 Period)

LU Objectives

1. To discuss and explain the test adequacy assessment using mutation

185

2. To provide guidelines for designing the mutation operators

LU Outcomes

1. Familiar with the process of mutation

2. Assessment of test adequacy using mutation

Resource Reference

1. Chapter 7 of R2

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Discuss briefly on Mutation and Mutants? U

2. What are First-Order and Higher-Order Mutants? R

3. Differentiate Strong and Weak Mutants L

4. Illustrate with examples on how test adequacy assessment is done using

program mutation

U

5. What are Mutation operators? List out the types of mutation operators R

6. List out the guidelines for design of mutation operators R

7. Illustrate with an example on how fault detection is done using mutation U

8. Discuss in detail on mutation operators for C language U

9. Discuss in detail on mutation operators for Java language U

10. List out the tools used for mutation testing

R

MODULE-III

This module lists out various types of testing, its methodology and importance. The procedures for

planning, managing, executing and reporting of software testing are also discussed. Also the

importance of automation and usage of tools is highlighted in this module

LU -16: Testing strategies – White box testing (1 Period)

186

LU Objectives

1. To discuss about basics of white box testing

2. To explain the concepts of static and structural testing and its real world applications

LU Outcomes

1. Realize the importance of white box testing

2. Capable of carrying out white box testing in real world applications

Resource Reference

1. Chapter 3 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is White box testing? R

2. What are the classifications of white box testing? R

3. Discuss briefly on static testing U

4. Discuss briefly on structural testing U

5. How functional testing is carried out? U

6. Differentiate Code coverage and Code complexity testing L

7. List out the challenges in white box testing R

LU -17: Black box testing (1 Period)

LU Objectives

1. To discuss about basics of black box testing

2. To explain the types of black box testing and its real world applications

LU Outcomes

187

1. Realize the importance of black box testing

2. Capable of carrying out black box testing in real world applications

Resource Reference

1. Chapter 4 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is Black box testing? R

2. Differentiate White and Black box testing L

3. What are the classifications of black box testing? R

4. Discuss briefly on requirements based testing U

5. Differentiate positive and negative testing L

6. How user documentation testing is carried out? U

LU -18: Integration testing (1 Period)

LU Objectives

1. To discuss about basics of integration testing

2. To explain the types of integration testing and its real world applications

LU Outcomes

1. Realize the importance of integration testing

2. Capable of carrying out integration testing in real world applications

Resource Reference

1. Chapter 5 of R3

188

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is integration testing? R

2. What are the types of integration testing? R

3. Discuss briefly on Top-down integration testing U

4. Discuss briefly on Bottom-up integration testing U

5. How Bi-Directional integration testing is carried out? U

6. Discuss briefly on Scenario testing U

LU -19: System and acceptance testing (1 Period)

LU Objectives

1. To discuss about basics and to explain the process of system testing

2. To describe the phases involved in acceptance testing

LU Outcomes

1. Realize the importance of System and acceptance testing

2. Capable of carrying system and acceptance testing in real world applications

Resource Reference

1. Chapter 6 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is system testing? R

2. What are the types of system testing? R

189

3. Discuss briefly on Functional testing U

4. Discuss briefly on Non- Functional testing U

5. Differentiate Functional and Non- Functional testing L

6. How acceptance test is carried out? U

7. Discuss briefly on phases involved in acceptance test U

LU -20: Performance testing (1 Period)

LU Objectives

1. To discuss about basics of performance testing

2. To describe the methodology involved in performance testing

LU Outcomes

1. Realize the importance of performance testing

2. Capable of carrying out performance testing in real world applications

Resource Reference

1. Chapter 7 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is performance testing? R

2. Discuss briefly on performance testing methodology U

3. Discuss briefly on performance testing process U

4. How performance benchmarking is carried out in performance testing? U

5. List out the tools for performance testing R

LU -21: Regression testing (1 Period)

LU Objectives

190

1. To discuss about basics and explain the types of regression testing and its real world

applications

2. To describe the phases involved in regression testing

LU Outcomes

1. Realize the importance of regression testing

2. Capable of carrying out regression testing in real world applications

Resource Reference

1. Chapter 8 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is regression testing? R

2. What are the types of regression testing? R

3. Discuss briefly on smoke or sanity test U

4. How regression test is carried out? R

5. Discuss briefly on phases involved in regression test U

LU -22: Internationalization testing (1 Period)

LU Objectives

1. To discuss and explain the types of internationalization testing and its real world

applications

2. To describe the phases involved in internationalization testing

LU Outcomes

1. Realize the importance of internationalization testing

191

2. Capable of carrying out internationalization testing in real world applications

Resource Reference

1. Chapter 9 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is internationalization testing? R

2. What are the types of internationalization testing? R

3. Discuss briefly on language test U

4. Discuss briefly on fake language test U

5. Discuss briefly on localization test U

6. How internationalization test is carried out? U

7. Discuss briefly on phases involved in internationalization test U

8. List out the tools used for internationalization test R

LU -23: Ad hoc testing (1 Period)

LU Objectives

1. To discuss about basics of Ad hoc testing

2. To explain the types of Ad hoc testing and its real world applications

LU Outcomes

1. Realize the importance of Ad hoc testing

2. Capable of carrying out Ad hoc testing in real world applications

Resource Reference

1. Chapter 10 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

192

Sl.No Test Questions Level

1. What is Ad hoc testing? R

2. What are the types of Ad hoc testing? R

3. Discuss briefly on buddy test U

4. Discuss briefly on pair test U

5. Discuss briefly on exploratory test U

6. How iterative testing is carried out? R

7. Discuss briefly on agile and extreme testing U

LU -24: Website testing (1 Period)

LU Objectives

1. To discuss about basics of website testing

2. To describe the phases involved in website testing

LU Outcomes

1. Realize the importance of website testing

2. Capable of carrying out website testing in real world applications

Resource Reference

1. Chapter 12 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is website testing? R

2. Discuss briefly on website load testing U

3. How security test in web application is carried out? U

4. Discuss briefly on phases involved in website test U

193

5. List out the tools for carrying out website testing R

LU -25: Usability and Accessibility testing (1 Period)

LU Objectives

1. To discuss and describe the phases involved in usability testing

2. To discuss and describe the accessibility testing

LU Outcomes

1. Realize the importance of usability and accessibility testing

2. Capable of carrying out usability and accessibility testing in real world applications

Resource Reference

1. Chapter 12 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is usability testing? R

2. Discuss briefly on Aesthetics testing U

3. How usability test is carried out? U

4. Discuss briefly on phases involved in acceptance test U

5. List out the tools for carrying out usability testing R

LU -26: Test planning and management (1 Period)

LU Objectives

1. To explain the process involved in test planning

2. To describe the management process involved in testing phase

194

LU Outcomes

1. Plan for the software testing for any given problem

2. Managing the software testing process to achieve quality software product

Resource Reference

1. Chapter 15 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is a test plan? R

2. Discuss briefly on phases involved in test planning U

3. What is test deliverables? R

4. Describe the steps for managing infrastructure for carrying out the testing U

5. Describe the steps for managing people involved in carrying out the testing U

LU -27: Test execution and reporting (1 Period)

LU Objectives

1. To explain the process involved in test execution

2. To describe the procedure involved in reporting the test results

LU Outcomes

1. Plan for the execution of software testing for any given problem

2. Reporting the software test result in better form so that it conveys clear message to both

developers and clients

Resource Reference

195

1. Chapter 15 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is test case specification? R

2. Discuss briefly on phases involved in test execution U

3. What is traceability matrix? R

4. How the test summary document can be prepared? U

5. Describe the steps for preparing test report U

LU -28: Software test automation and Tools (1 Period)

LU Objectives

1. To explain the process of designing test automation

2. To introduce the tools available for doing the testing

LU Outcomes

1. Capable of automating the testing process wherever manual effort is needed

2. Ability to use or introduce tools in the testing process

Resource Reference

1. Chapter 16 of R3

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is test automation? R

2. Discuss briefly on ways of finding the areas to be automated U

196

3. Explain in detail, the design and architecture for test automation? U

4. List down the generic requirements for the test automation? R

5. List down the testing tools and their feature R

MODULE-IV

This module gives an overview on models and metrics related to software quality. The

infrastructure to be developed, formation of procedures and documentations related to software

product quality is also discussed. Also, the procedure of configuration control (version

maintenance) for all work products related to quality is discussed in this module

LU -29: Hierarchical models of software quality (1 Period)

LU Objectives

1. To introduce the basic concepts and explain the hierarchical models of software quality.

2. To discuss the relationships between quality criteria as suggested by Perry.

LU Outcomes

1. Realize the importance of software quality and its basic model

2. Listing out the quality criteria for a given problem and to find the relationships between

the criteria

Resource Reference

1. Chapter 2 of R5

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. What is a hierarchical model? List out its significance R

2. Explain briefly on GE Model (McCall) U

3. Explain briefly on Boehm Model U

4. List out the three areas addressed by McCall Model R

197

5. How the quality criteria interrelate as per Perry? U

6. McCall’s and Boehm’s models were developed in the era of batch processing

and mainframe computers. How far are they affected by the move to interactive computing? As organizations move towards networked group working systems, what new criteria of quality will be needed?

L

7. How far does Perry’s analysis of relationships tally with your own experience

of computer systems? Has it been overtaken by advances in technology?

L

LU -30: Software quality metrics (1 Period)

LU Objectives

1. To explain the objectives of software quality metrics.

2. To list the requirements to be fulfilled by successful software quality metrics and to

explain how software quality metrics are categorized

3. To describe the process of defining a new software quality metrics.

4. To explain the reasons for limitations characterizing some software quality metrics

LU Outcomes

1. Realize the importance of the software quality metrics

2. Ability to list down the requirements to be fulfilled by successful software quality metrics

3. Analyze the existing metrics and apply them in the software projects

4. Ability to define new software quality metrics based on the project needs

Resource Reference

1. Chapter 21 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the objectives of software quality metrics U

2. List the requirements for successful software quality metrics R

3. Explain how software quality metrics are categorized U

4. Describe the process of defining a new software quality metric U

198

5. Explain the reasons for limitation characterizing some software quality

metrics

U

LU -31: Function Points (1 Period)

LU Objectives

1. To explain the objectives of KLOC metric

2. To explain the objectives of function point metric

3. Compare the KLOC and function point measures for the size of a software system.

LU Outcomes

1. Realize the objectives and importance of KLOC metric

2. Realize the objectives and importance of function point metric

3. Apply the KLOC and function point metric in real world software projects

Resource Reference

1. Chapter 21, Appendix 21A of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain with a practical example on function point metric U

2. Discuss briefly on the advantages and disadvantages of function point metric

U

3. Compare the KLOC and function point measures for the size of a software

system.

L

4. A human resources software system requires 15000 lines of Visual Basic

code and 5000 lines of SQL code.

Estimate the number of function points required for the software system

E

LU -32: Software maintenance quality (1 Period)

LU Objectives

199

1. To list the software maintenance components and explain their distinction.

2. To describe and explain pre-maintenance software quality components.

3. To list down the infrastructure and managerial tools for supporting and controlling

maintenance quality assurance.

LU Outcomes

1. Realize the importance of software maintenance components

2. Identification of the software maintenance components and apply them in software

projects

3. Analyze the existing tools available for maintenance and pick up appropriate tool for for

controlling software maintenance quality

Resource Reference

1. Chapter 11 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the components of software maintenance and explain their

distinctiveness

R

2. Describe the foundations of high quality maintenance U

3. Describe and explain the pre-maintenance software quality components U

4. List the infrastructure tools that support maintenance quality assurance. R

5. List the main managerial tools for controlling software maintenance quality

and explain their importance

R

6. What are the basic elements of a maintenance plan? Explain the importance

of each element

R

7. It is claimed that higher standards are needed for training and certification

of maintenance team members than for development team members.

(1) Do you agree or disagree with this statement? List your arguments. (2) If you agree with the above, what component of software

maintenance (corrective, adaptive or functionality improvement) do

you consider most suitable for the above statement?

E

8. Most software corrective maintenance procedures require extensive U

200

documentation of the activities performed.

(1) List the main uses for the various types of corrective maintenance

documentation. (2) Explain the importance of the required documentation in your own

words

LU -33: Effect of case tools (1 Period)

LU Objectives

1. To list out and explain the contribution of CASE tools to software development and

software quality maintenance.

LU Outcomes

1. Use the CASE tools in software development and maintenance

2. Realize the importance of CASE tools and educate the team on using it

Resource Reference

1. Chapter 13 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the contribution of CASE tools to software development U

2. Explain the difference between classic and real CASE tools and provide

some examples

U

3. List the main contributions of real CASE tools to product quality R

4. Explain the contribution of CASE tools to the quality of software

maintenance

U

5. “The main component of real CASE tools is the repository.”

(1) Define “repository” in your own words (2) List the functions a repository fulfills and explain their impact on

software development productivity. (3) List the functions a repository serves and explain their impact on

software quality

U

6. The contribution of real CASE tools to the quality of project management is

debatable.

(1) Describe the quality aspects of project management.

U

201

(2) Discuss what contributions real CASE tools can make to the quality of project management and why.

LU -34: Software quality infrastructure – procedures and work instructions (1 Period)

LU Objectives

1. To explain the contribution of procedures and work instructions to software quality

assurance

2. To List the activities involved in maintaining an organization’s procedures

LU Outcomes

1. Formulation of the procedures for maintaining quality in all aspects of software

development process

2. Capable of maintaining procedures and work instructions implemented by software

quality assurance team

Resource Reference

1. Chapter 14 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the contribution of procedures to software quality assurance U

2. Explain the difference between procedures and work instructions U

3. List the activities involved in maintaining an organization’s procedures

manual

R

4. List the benefits of implementing an SQA procedures manual in an

organization

R

5. Some software quality experts claim that a standard procedures manual

with no changes or adaptations can serve 90% of the organization.

Do you agree with this statement? List your arguments

E

6. As an SQA unit member, you are required to prepare the first draft of a new

procedure.

(1) Suggest what sources of information may be used to prepare the

draft. (2) Mark those sources mentioned in your answer to (1) that are

L

202

essential for a good draft

LU -35: Staff Training and certifications (1 Period)

LU Objectives

1. To explain and discuss the main objectives and requirements for training and

certification.

2. To list the main components of a certification program.

3. To explain the objectives of follow-up of trained and certified staff performance and the

main sources of the follow-up data

LU Outcomes

1. Realize the importance of training the staff and keep constant records of their progress

2. Implementation of training programs for staff members in both technical and non-

technical aspects

3. Encouraging the staff members to get certified after training for creating a quality

environment

Resource Reference

1. Chapter 16 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the main objectives of training and certification U

2. Discuss what is needed to prepare a training and updating program U

3. List the main components of a certification program R

4. Explain the objectives of follow-up of trained and certified staff performance

and main sources of the follow-up data

U

LU -36: Configuration management (1 Period)

203

LU Objectives

1. To explain the objectives of software configuration and change management and to

differentiate baseline and intermediate software configuration versions.

2. To explain the objectives of software configuration management plans.

3. To explain the nature of the tasks fulfilled by software configuration management audits.

LU Outcomes

1. Realize the importance of versioning and baselining of software product

2. Setting up a software configuration management team with proper plans and audits for

maintaining the configuration items of all project components

3. Formulation of procedures and implemention the change management process in

industry

Resource Reference

1. Chapter 18 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Define software configuration version R

2. Explain the tasks of software configuration management U

3. List the main tasks of software change control R

4. Explain the difference between baseline and intermediate software

configuration Versions

U

5. Explain the objectives of software configuration management plans U

6. Describe the nature of the tasks performed in software configuration

management audits

U

7. Most SCM systems are operated nowadays by specialized software

packages.

Explain the special features offered effectively and efficiently only by

computerized management software packages and explain their

contribution to software quality.

U

204

LU -37: Documentation control (1 Period)

LU Objectives

1. To explain and describe the tasks involved in establishment and maintenance of

a controlled documents list

2. To discuss the issues covered by documentation control procedures.

LU Outcomes

1. Realize the importance of documentation while carrying out a software project

2. Creation of documents and proper maintenance of them wherever needed in the project

Resource Reference

1. Chapter 19 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the objectives of controlled documents U

2. Describe the tasks involved in establishment and maintenance of a

controlled documents list

U

3. Discuss the issues covered by documentation control procedures U

4. List down the typical controlled documents (including quality records) R

5. List out the issues of controlled document storage and retrieval R

MODULE-V

This module discuss about the progress tracking, cost constraints of the project. The role of

standards in implementing the quality aspects of the project and development environment is

discussed briefly. Also, the role of management in software quality management is also discussed.

LU -38: Project progress control (1 Period)

205

LU Objectives

1. To explain the components of project progress control.

2. To explain the implementation issues involved in project progress control

LU Outcomes

1. Implementation of project progress control in the industry and also make use of the tools

2. Design of progress report for tracking the project

Resource Reference

1. Chapter 20 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the components of management’s control of project progress U

2. Explain the implementation issues associated with project progress control U

3. List down the services provided by computerized tools for project process

control

R

4. List down the main budget items which demand control in the project R

5. Design a template of Project leader’s progress report C

LU -39: Costs of software quality (1 Period)

LU Objectives

1. To explain and justify development of a unique quality cost model for software

development

2. To explain the standard and unique difficulties arising in application of cost of software

quality systems

206

LU Outcomes

1. Development of unique quality cost model for software development

2. Implementation of the optimized cost model with best process in software development

process

Resource Reference

1. Chapter 22 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the objectives of cost of software quality measurements U

2. Compare the classic software quality costs model with the extended model L

3. Justify the formulation of a unique quality cost model for software

development

E

4. Describe the implementation of a cost of software quality system U

5. Explain the standard and unique problems involved in implementing a cost

of software quality system

U

6. List some examples of hidden failure costs. Indicate for what type of

software development organization and situation these failure costs could

become extremely high?

R

7. Compare the characteristics of prevention costs for software development

with any manufacturing industry

L

8. Compare the characteristics of appraisal costs for software development

with any manufacturing industry

L

9. Compare the characteristics of internal failure costs for software

development with any manufacturing industry

L

10. Compare the characteristics of external failure costs for software

development with any manufacturing industry

L

LU -40: Quality management standards – ISO 9000 Series (1 Period)

LU Objectives

207

1. To describe the general principles of underlying quality management according to ISO

9000-3 and its certification process.

2. To describe the principles underlying ISO/IEC 15504

LU Outcomes

1. Creation of a quality software development environment as specified in ISO 9000 series

in the industry

2. Creation of proper documentation as specified in ISO 9000 series to get ISO certification

for the industry

Resource Reference

1. Chapter 23 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the benefits of the use of SQA standards U

2. Describe the contributions made by the use of standards U

3. Describe the general principles underlying quality management according to

ISO 9000-3

U

4. Describe the ISO 9000-3 certification process U

5. Describe the principles that guided the developers of ISO/IEC 15504 U

6. Define the various classes of SQA standards R

7. Explain the differences between various classes of SQA standards U

8. The SPICE project performed a comprehensive trial for the early versions of

the ISO/IEC 15504 Standard.

Explain the contribution of the trial to development of the standard

U

LU -41: Quality management standards – CMM (1 Period)

LU Objectives

208

1. To describe the principles embodied in the CMM

2. To explain the key process areas of CMM

3. To describe the significance of CMMI and its key process areas

4. To compare CMMI with CMM

LU Outcomes

1. Creating a quality software development environment as specified in CMM standard in

the industry

2. Creation of proper documentation as specified in CMM standard to get CMM Level

certification for the industry

3. Ability for creating a quality software development environment as specified in CMMI

standard in the industry

4. Creation of proper documentation as specified in CMMI standard to get CMMI Level

certification for the industry

Resource Reference

1. Chapter 23 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Describe the principles embodied in the Capability Maturity Model (CMM) U

2. Explain in detail on key process areas of CMM U

3. Describe the principles embodied in the Capability Maturity Model

Integration (CMMI)

U

4. The evolution and diversification of the CMM methodology have produced

several specialized CMM products that were offered to the software industry.

At a certain point, SEI moved toward creation of integrated CMM models.

(1) Explain the reasons for this move (2) List some arguments against integration

U

5. CMM and CMMI are both composed of almost identical capability maturity

models.

While CMM bases its assessments on 18 key process areas, CMMI employs

24 process areas.

(1) Explain the differences between the CMM and CMMI process areas in relation to the respective subject matter.

(2) Indicate which of the capability levels have been substantially

changed (3) Can you characterize the observed changes?

E

209

LU -42: Project process standards (1 Period)

LU Objectives

1. To explain the concepts embodied in IEEE/EIA Std 12207.

2. To explain the concepts and essence of the SVVP as required by IEEE Std 1012

3. To explain the concepts embodied in IEEE Std 1028.

LU Outcomes

1. Creation of a software life cycle process as specified in IEEE 12207 standard in the

industry

2. Framing of verification and validation process as specified in IEEE 1012 standard in the

industry

3. Framing of review process as specified in IEEE 1028 standard in the industry

Resource Reference

1. Chapter 24 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Explain the concepts underlying IEEE/EIA Std 12207 U

2. Explain the concepts underlying IEEE Std 1012 U

3. Explain the essence of the SVVP as required by IEEE Std 1012 U

4. Explain the concepts underlying IEEE Std 1028 U

5. The 1998 version of IEEE Std 1012 introduces the notion of “V&V metrics”

in one of its Annexes. This notion was absent from the 1986 version

(reaffirmed 1992).

(1) Explain the notion of “V&V metrics” and how it should be implemented.

(2) Discuss the contribution of V&V metrics to software quality and to the effectiveness of V&V activities

U

LU -43: Management and its role in SQA (2 Periods)

210

LU Objectives

1. To describe top management’s responsibilities regarding software quality.

2. To describe the main objectives of management reviews.

3. To explain and list out the SQA-related responsibilities of department management.

LU Outcomes

1. Realize the importance of the management’s responsibility in software quality

2. Ability to set objectives and conduct management review

3. Ability to set the software quality assurance responsibilities for management and

managers for maintaining quality in industry and projects

Resource Reference

1. Chapter 25 of T1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. List the actors in a typical quality assurance organizational framework R

2. Describe top management responsibilities regarding software quality U

3. Describe the software system-related responsibilities of the executive in

charge of software quality issues

U

4. Describe the main objectives of management reviews U

5. Explain the SQA system-related responsibilities of department management U

6. List the SQA professional hands-on tasks required of project managers R

7. The top management contributes to software quality by employing three

main managerial tools.

(1) List the tools applied by top management to achieve its software quality objectives.

(2) Describe each tool in your own words and explain how it affects software quality

U

8. The executive in charge of software quality issues is responsible for the

preparation of the annual SQA activities program and budget. (1) Describe in your own words the activities the executive has to

perform to prepare the mentioned program and budget.

(2) Describe the participation of the heads of the SQA unit and sub-units in the preparation of the program and budget

U

211

9. The executive in charge of software quality issues is responsible for overall

control of the performance of SQA activities.

(1) List the types of SQA activities under the executive’s responsibility

(2) Describe in your own words the activities the executive has to perform to control the SQA activities

U

LU -44: SQA unit (2 Periods)

LU Objectives

1. To describe the SQA unit’s tasks according to the proposed organizational structure

model.

2. To describe the development, audit and maintenance tasks associated with SQA

standards and procedures.

3. To describe the tasks, types and characteristics of SQA forum.

LU Outcomes

1. Familiar with all the tasks performed by SQA team for maintaining quality across the

whole industry

2. Define the project related, development and maintenance tasks for the SQA team

3. Ability to assign tasks for SQA team members

Resource Reference

1. Chapter 26 of R1

Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)

Sl.No Test Questions Level

1. Describe the SQA unit’s tasks according to the proposed Organizational

Structure Model

U

2. Describe the typical tasks of the head of an SQA unit U

3. Describe typical project life cycle tasks U

4. Describe the audit types the SQA unit is involved with U

5. Describe the development and maintenance tasks associated with SQA U

212

standards and procedures

6. Describe the tasks of SQA trustees U

7. Describe and compare the types of SQA committees L

8. Describe SQA forum characteristics U

9. List the four sub-units that deals with SQA operations U

10. List the three sub-units that deals with SQA development and maintenance R

11. SQA trustees are expected to be SQA agents in their teams/units and

provide the internal support for successful implementation of SQA

components.

(1) Explain how SQA trustees complement the formal activities

performed by SQA units and unit managers. (2) Evaluate the contributions of SQA trustees to software quality

E

213

LAB COURSE MANUAL

Subject Code : CS9227

Subject Name : OPERATING SYSTEM LAB

Semester : ME (CSE) II Semester

Prepared By : Ms. Golda Jeyasheeli

Approved By : Dr.K.Muneeswaran

Effective Date : 06.02.2013

Revision No. : 1

Course Objective:

To achieve synchronisation among multiple processes running in a multiprocessor system

(Multiprocessor operating system)

To provide synchronisation using monitors in a multithreaded application. (Multiprocessor

operating system)

To write a program to identify the various LAN hardware, network configuration option in a

system. (Network operating system)

To develop real time applications like alarm clock. (Real Time operating system)

To apply concurrency control algorithms for database transactions.(Database operating

system)

To write a distributed application using RMI. (Distributed operating system)

To write a program order events in a distributed system using vector clocks. (Distributed

operating system)

Course Prerequisite:

Data structure – Algorithms – Any programming language

Course Outcomes–Programme Outcomes mapping

(3- Substantially, 2-Moderately, 1-Slightly)

S. No Course Outcomes

Programme Outcomes

1 2 3 4 5 6 7 8 9 1

0

1

1

1

2

1. Achieving Synchronisation among

multiple processes 3 3 3 3 3 1

2. Providing synchronisation in a

multithreaded application 3 3 3 3 3 1

3. Identifying LAN hardware

components and system

configuration

3 3 3 3 3 1

4. Developing Real Time Applications 3 3 3 3 3 1

5. Applying Concurrency Control

Algorithms 3 3 3 3 3 1

6. Developing an RMI based

distributed application 3 3 3 3 3 1

7. Ordering events using vector clocks 3 3 3 3 3 3 1

214

SYLLABUS: (Anna University,Chennai)

OPERATING SYSTEM LAB L T P C 0 0 3 2

MULTIPROCESSOR OPERATING SYSTEMS

PROGRAM 1 – Semaphores - Multiprocessor operating systems

Assume there are three processes: Pa, Pb, and Pc. Only Pa can output the letter A, Pb B, and Pc

C.Utilizing only semaphores (and no other variables) the processes are synchronized so that the

output satisfies the following conditions:

a) A B must be output before any C's can be output.

b) B's and C's must alternate in the output string, that is, after the first B is output,

another B cannot be output until a C is output. Similarly, once a C is output, another C

cannot be output until a B is output.

c) The total number of B's and C's which have been output at any given point in the output

string cannot exceed the number of A's which have been output up to that point.

Examples

AACB -- invalid, violates a)

ABACAC -- invalid, violates b)

AABCABC -- invalid, violates c)

AABCAAABC -- valid

AAAABCBC -- valid

AB -- valid

PROGRAM 2 – Multithreading - Multiprocessor operating systems

The Cigarette Smokers Problem

Consider a simulation with three smoker threads and one agent thread. Each smoker

continuously makes a cigarette and smokes it. But to make a cigarette, a smoker needs three

ingredients: tobacco, paper, and matches. One of the smoker threads has only paper, another has

only tobacco and the third has only matches. The agent thread has an infinite supply of all three

materials. The three smoker threads are initially blocked. The agent places two randomly chosen

(different) ingredients on the table and unblocks the one smoker who has the remaining

ingredient. The agent then blocks. The unblocked smoker removes the two ingredients from the

table, makes a cigarette, and smokes it for a random amount of time, unblocking the agent on

215

completion of smoking the cigarette. The agent then puts out another random two of the three

ingredients, and the cycle repeats.

Write a multi-class multithreaded Java program that uses a monitor to synchronize the

agent thread and the three smoker threads. Do not mechanically translate semaphore code

into monitor code! The agent thread executes in an agent object created from an agent class.

Each smoker thread executes in a smoker object. All smoker objects are created from one smoker

class whose constructor is used to specify the ingredient possessed by the smoker object. A driver

class with a main method constructs the objects and starts the threads. Use a single monitor

object instantiated from a class Control for synchronization. Each of the four threads invokes a

synchronized monitor method for its synchronization. No semaphores are allowed. No

synchronized blocks are allowed, only synchronized methods. No busy waiting is allowed. No calls

to nap inside a synchronized method are allowed (do not nap while holding the monitor object's

lock, that is, while inside a synchronized method or while inside a method called by a synchronized

method).

PROGRAM 3 – Multiple sleeping barbers - Multiprocessor operating systems

Write a multi-class multithreaded Java program that simulates multiple sleeping barbers,

all in one barbershop that has a finite number of chairs in the waiting room. Each customer is

instantiated from a single Customer class; each barber is instantiated from a single Barber class.

Network operating systems

PROGRAM 4 – Network operating systems

Establish a Lab setup for the following network operating systems based programs based

on the skills in networking on your own. E.g. for identifying networking hardware, identifying

different kinds of network cabling and network interface cards can be done.

Exercises

1. Identifying Local Area Network Hardware

2. Exploring Local Area Network Configuration Options

3. Verifying TCP/IP Settings

4. Sharing Resources

5. Testing LAN Connections

Real time operating systems

PROGRAM 5 – Real time operating systems

A real-time program implementing an alarm clock shall be developed.

[Alarm clock, using C and Simple_OS]

The program shall fulfill the following requirements:

Clock with alarm functionality shall be implemented, It shall be possible to set the time, It

shall be possible to set the alarm time, the alarm shall be enabled when the alarm time is set, the

alarm shall be activated when the alarm is enabled, and when the current time is equal to the

alarm time, an activated alarm must be acknowledged. Acknowledgement of an alarm shall lead to

the alarm being disabled, the alarm is enabled again when a new alarm time is set, and an alarm

which is not acknowledged shall be repeated every 10 seconds. The program shall communicate

with a graphical user interface, where the current time shall be displayed, and where the alarm

time shall be displayed when the alarm is enabled. It shall be possible to terminate the program,

using a command which is sent from the graphical user interface.

216

Database operating systems

PROGRAM 6 – Transactions and Concurrency -Database operating systems

Exercises

Assume any application (e.g. banking) on your own and do the following exercises.

1. Investigate and implement the ObjectStore's concurrency options.

2. Implement the concurrency conflict that occurs between multiple client applications.

3. Observe and implement the implication of nested transactions.

Distributed operating systems

PROGRAM 7 – Distributed operating systems

1. Design a RMI Lottery application. Each time you run the client program -- “java

LotteryClient n”, the server program “LotteryServer” will generate n set of Lottery

numbers. Here n is a positive integer, representing the money you will spend on Lottery in

sterling pounds. Write this program in a proper engineering manner, i.e. there should be

specifications, design (flow chart, FD, or pseudo code), coding, test/debug, and

documentation.

2. Consider a distributed system that consists of two processes which communicate with

each other. Let P be a state predicate on the local state of one process and Q be a state

predicate on the local state of the other process. Assume that neither P nor Q are stable

(i.e. closed).

Design a superimposed computation which detects that there exists an interleaving of

underlying events in this system where at some state P ^Q holds. (A superposed

computation is one that does not affect the underlying system; it may \read" but not

\write" the state of the underlying system. Events in a superposed computation may occur

in at the same instant as the underlying events and/or at di_erent instants.) State any

assumptions you make. [Hint: Use vector clocks.

TOTAL : 45 PERIODS

Ex. No. Exercises Laboratory

Hours

1.

Program for multi process synchronization using Semaphores in

Multiprocessor operating systems.

6

2.

Program for multi threading in Multiprocessor operating systems -

The Cigarette Smokers Problem 6

3. Program for multi threading in Multiprocessor operating systems -

Multiple sleeping barbers 6

4.

Program for identifying networking hardware, identifying different kinds

of network cabling and network interface cards

in Network operating systems

3

217

5. Program for Sharing Resources in Network operating systems

3

6. Program implementing an alarm clock in Real time operating systems

6

7.

Program implementing Transactions and Concurrency Control

Algorithms- To investigate and implement the ObjectStore's

concurrency options, the concurrency conflict that occurs between

multiple client applications.

3

8.

Program implementing Transactions and Concurrency Control

Algorithms- To observe and implement the implication of nested

transactions.

3

9. Client server program for Lottery application using RMI.

6

10.

Design a superimposed computation which detects that there exists an

interleaving of underlying events in the distributed system that consists

of two processes which communicate with each other at some state

using vector clocks.

6

11. Model Exam 3

218

Instructional System Design

Subject Code : CS9228

Subject Name : WEB TECHNOLOGY LAB

Semester : M.E. (CSE) II Semester

Prepared By : Mr. J. Raja Sekar

Approved By : Dr. K. Muneeswaran

Effective Date : 06.02.2013

Revision No. : 0

Course Objective:

To have thorough knowledge on markup languages (HTML), and various cascading style

sheets (CSS).

To perform client-side programming using Java scripts.

To develop web applications using JSP / ASP / PHP.

To write Java Servlet programs using HttpServlet class.

To have clear idea of Java database programming using JDBC.

To know the significance of XML and different technologies such as DTD / Schema.

To parse XML document using DOM, and SAX parsers.

Course Prerequisite:

Internet Programming

Java programming

Course Outcomes–Programme Outcomes mapping

(3- Substantially, 2-Moderately, 1-Slightly)

Course Outcomes

Programme Outcomes

1 2 3 4 5 6 7 8 9 10 11 12 13

8. Have thorough knowledge on markup languages (HTML), and various cascading style sheets (CSS)

2 1 2 3 3 3

9. Perform client-side programming using

Java scripts.

2 2 2 3 3 2 3 3

10. Develop web applications using JSP

/ ASP / PHP.

1 2 2 3 3 3 3

11. Write Java Servlet programs using

HttpServlet class.

1 2 2 2 3 3 3 3

12. Have clear idea of Java database

programming using JDBC.

2 3 3 3 2 3 3 3

219

13. Understand the significance of XML and different technologies such as DTD /

Schema.

2 3 2 2 2 2 2 2 3

14. Parsing XML documents using either

DOM or SAX parsers

2 3 3 3 3 3 3

SYLLABUS (as prescribed by Anna University)

1. Creation of HTML pages with frames, links, tables and other tags.

2. Usage of internal and external CSS along with HTML pages.

3. Client side Programming.

i. Java script for displaying date and comparing two dates

ii. Form Validation including text field, radio buttons, check boxes, list box and other

controls

4. Usage of ASP/JSP objects response, Request, Application, Session, Server, ADO etc.

i. Writing online applications such as shopping, railway/air/bus ticket reservation system

with set of ASP/JSP pages

ii. Using sessions and cookies as part of the web application

5. Writing Servlet Program using HTTP Servlet.

6. Any online application with database access.

7. Creation of XML document for a specific domain.

8. Writing DTD or XML schema for the domain specific XML document.

9. Parsing an XML document using DOM and SAX Parsers.

10. Sample web application development in the open source environment.

Ex.

No.

Topic No. of

Hours

1. Working with HTML pages

3

2. Working with cascading style sheets (CSS)

3

3. Web Form controls - client-side validation (Using JavaScript)

6

4. Writing Servlet Program using HTTP Servlet

3

5. Online Reservation System (Using JSP)

6

6. Online application with database access (Using MySQL)

3

7. Evaluatory

3

8. Domain specific XML document creation

3

Course Schedule

220

9. Writing DTD / XML schema for the domain specific XML document

6

10. Parsing an XML document (Using DOM Parser)

3

11. Parsing an XML document (Using SAX Parser)

3

12. Web application development – Open Source Environment

3

Total 45