Engineering of Computer Based-Systems Enhancement Courses - Proposed Course Outlines Jonah Z. Lavi CBSE Associates, Israel
[email protected]
Regina M. Gonzales New Mexico State University, USA
[email protected]
Mike Mannion Napier University, Scotland
[email protected]
Miroslav Sveda Technical University of Brno, Czech Republic
[email protected]
Abstract Many modern systems are controlled by ComputerBased Systems (CBS). Examples include commercial management information systems such as airline reservations, payroll information, stock control, and electronic banking systems, real-time embedded computer systems such as process control and computer integrated manufacturing systems, space systems, telephone and communications systems, transportation systems (automotive control, train control, ship control, traffic control), medical instruments, avionics systems, missile control systems, microcomputer controlled domestic appliances and point of sale systems. The CBS controlling these systems, typically consist of many networked, geographically distributed subsystems. Each subsystem may be or may contain a multi-computer system. They are intensively dependent on software, and frequently depend on data communication networks, human-computer interaction, and special hardware. Engineers developing such systems have to work with CBS engineers responsible for the development of the supporting CBS. To be able to work with them they have to have a basic knowledge in the Engineering of CBS (ECBS). The paper describes the ECBS tasks to be undertaken by systems engineers during the development of systems they build, the CBS subjects they should understand and comprehend and the structure of the courses they should take to augment their knowledge.
The proposed courses can be given as part of regular engineering undergraduate or graduate programs, or as training courses in industry. The proposed ECBS courses are being developed by the Education and Training Working Group of the IEEE Computer Society ECBS Technical Committee. The current version of the suggested courses is based on the results of the discussions of the working group during the ECBS98 conference in Jerusalem, and on work done during the past year by the group following ECBS98.
1. Background Many modern systems are controlled by ComputerBased Systems (CBS). Examples include commercial management information systems such as airline reservations, payroll information, electronic banking systems; real-time embedded computer systems such as process control and computer integrated manufacturing systems, space systems, telephone and communications systems, transportation systems (automotive control, train control, ship control, traffic control), medical instruments, avionics systems, missile control systems, microcomputer controlled domestic appliances and point of sale systems. The CBS controlling these systems, typically consist of many networked, geographically distributed subsystems. Each subsystem may be or may contain a multi-computer system. They are intensively dependent on software, frequently depend on data communication networks, on human-computer interaction, and special hardware. Sometimes they are tightly integrated with their environments. The CBS may be internal to the developed systems, for example in a medical instrument,
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 1
or “external” to the developed system, for example the CBS controlling a chemical plant. Many engineering teams currently develop systems that incorporate CBS or are controlled by them. It is expected that these teams should include CBS engineers, as the development of the systems requires a strong interaction between the systems engineering and CBS engineering activities. The relationship between various systems engineering disciplines and the other supporting engineering disciplines, in the development of such systems, is shown in Figure 1. We would like to illustrate the responsibilities of the systems engineer, his relation with the CBS engineer, and how they might work together during the development of a sophisticated medical system such as a modern echocardiography "instrument". The systems engineer (SE), has primary responsibility for identifying the role and the functionality of the overall system, deriving the requirements it must satisfy and preparing a preliminary specification in the context of business and market opportunities. The CBS engineer works with the system engineer, from the start of the project, interpreting system level requirements that relate to the distributed computing system which will control the echocardiography system. The systems engineer, the CBS engineer and other specialists make joint decisions concerning the system and subsystem boundaries and their functional and nonfunctional properties. These will include, for example, decisions regarding those system functions which should be automated and those which should be performed by operators. They propose an initial architecture and specify design constraints. During this activity, many assumptions will be made regarding the application domain, the identified application and the system that is to be implemented. The SE and CBS engineer select the various computing components and perform the necessary tradeoffs, assess risks and take steps to ensure that they are acceptable. The CBS engineering activities should be undertaken by engineers who specialize in ECBS [LAVI97, LAVI98, WHIT93, SZTI98]. However, if the CBS engineer wants to perform his mission, he has to interact daily with systems engineers developing the system. An effective interaction between these engineers, requires that the systems engineer has a basic education in ECBS. Looking at a typical other discipline such as chemical engineering, we find that their education includes the study of many supporting topics e.g. electrical and mechanical engineering and control engineering. Today, when the chemical plants are controlled by CBS, chemical engineers should have also a basic education in ECBS, so that they can communicate with the CBS engineers supporting their activities.
The objective of this paper is to describe a set of enhancement courses in ECBS for the systems engineers incorporating CBS, so that they can communicate effectively with the CBS engineers working with them. The aim of the courses is to facilitate a sound interface between the systems engineer and the CBS engineer and associated colleagues. The courses proposed in this paper should be given to systems engineers in various disciplines e.g.; chemical engineering, aeronautical engineering, mechanical engineering, electronic and civil engineering. The proposed courses can be taught as part of undergraduate or graduate level programs, or as industrial training courses. The abilities of the graduates of the courses, outlined in this paper, will of course depend upon the type of discipline they specialize in and upon the intensity and level of CBS Engineering courses. Thus it is recommended for example, that engineers needing only an overall knowledge about ECBS should study just the first course suggested later, while systems engineers involved in development of the systems should study the two outlined courses. The proposed courses are being developed by the Education and Training Working Group of the IEEE Computer Society ECBS Technical Committee. This effort follows the TC’s Working Group development of a curriculum of Master degree and Bachelor degree program in ECBS [LAVI97, LAVI98]. The current version of the suggested enhancement courses is based on the results of the discussions of the working group during the ECBS98 conference in Jerusalem, and on work done during the past year by the group following ECBS98.
2. Educational objectives The overall objectives of the ECBS enhancement courses is, to provide systems engineers with basic knowledge in ECBS so they can communicate effectively with CBS engineers and other engineers working with them on CBS issues, and make necessary decisions concerning CBS incorporated in the systems they develop, build or maintain. Thus it would be expected that a graduate of the two suggested courses will be able to: • Estimate in principle the magnitude of a CBS related task. • Interact effectively with CBS Engineers, and be aware of the methods appropriate in the development of CBS projects. • Deal with the design of the interfacing aspects which link the CBS to other aspects of a composite system.
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 2
3. Course prerequisites Participants at the courses should have completed the following prerequisite courses prior to the study of the ECBS enhancement courses: • Physics • Calculus • Probability and statistics • Introduction to computers The participants should have a working knowledge of programming.
4. The Enhancement Courses It is suggested that the material will be covered in the following two (three hour) semester (14 weeks) courses, a basic course and an advanced course: 1 - Introduction to CBS technologies 2 - Introduction to CBS development People who want to get only the basic background enabling them to discuss ECBS issues could study only the Introductory to CBS Technologies course, while system engineers who have to develop systems incorporating CBS and who have to interact also with CBS engineers working on their project should take both courses. Other course structures can also be developed, based on the outlined objectives and topics, where each educational or training organization can build its own detailed course structure. The detailed educational objectives of the proposed courses are outlined in the following sections, ordered according to the development life cycle. They are classified in three levels: “a” where the graduate becomes aware of the issues, “b” where the graduate understands the issues, and “c” where the graduate can perform the necessary engineering activities. In order to be able to accomplish the course objectives, the student has to study the topics outlined in each of the courses. Some of the topics are given as basic background so they can accomplish the educational objectives. Others, are activities which the graduate should be able to perform. In order for the courses, to be effective they should include extensive class and home work exercises, demonstrating the issues covered in the courses and include a small real project where the students will be able to apply the learned material.
The detailed objectives of the Introduction to CBS Technologies course are listed in Table 1. Following are the subjects to be covered in the first course:
A. Basic Concepts: A.1. Introduction to ECBS A.2. Typical CBS and their characteristics A.3. Economic considerations
B. CBS Hardware: B.1. Computing hardware characteristics B.2. Typical CBS hardware architectures and their characteristics.
C. CBS Communication C.1. Computer communication systems characteristics C.2. Typical CBS communications architectures and their performance C.3. Methods of interfacing physical devices within CBS
D. CBS Software D.1. Typical software architectures and modularity concepts D.2. Operating System and database concepts and their application in CBS
E. Computer-Based Systems E.1. E.2. E.3. E.4. E.5.
Typical CBS Architectures CBS Human Machine Interfaces CBS Dynamic behavior Life-cycle and process design CBS Maintenance issues
F. Accompanying Project The allocation of the above topics to the objectives of the Introduction to CBS Technologies course and the level at which each subject should be taught is shown in Table 2.
5.2. - Introduction to CBS Development The detailed objectives of the CBS development course are listed in Table 3. The prerequisite to this course is successful completion of the Introduction to CBS Technologies course or a similar equivalent course. Following are the subjects to be covered in the Introduction to CBS Development course:
A. Overview of CBS life-cycle A.1. ECBS process milestones and deliverables evaluation
5. Detailed Objectives and Structure of the Individual Courses 5.1. Introduction to CBS Technologies
B. Requirements engineering B.1. Conceptual modeling B.2. Requirements elicitation, analysis, and specification
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 3
B.3. Requirements verification B.4. Requirements management
C. CBS Design and implementation C.1. C.2. C.3. C.4. C.5. C.6. C.7.
CBS significant features and limitations CBS design trade-offs CBS performance analysis Reliability and availability issues Development as product families and reuse CBS development methods CBS economic considerations
D. Validation, verification and integration D.1. D.2. D.3. D.4. D.5.
Theory and practice of integration and test Integration and support environments Document inspections and walk-throughs Formal verification Simulation techniques
E. Deployment and maintenance E.1. CBS maintenance issues E.2. CBS acceptance criteria
F. Project management and process support F.1. Quality assurance issues F.2. Configuration management F.3. Exposure to CAS2E (Computer Assisted Systems and Software Environments) F.4. Process assessment and improvement F.5. Risk management F.6. CBS laws, ethics and standards
7. Course development and textbooks Adequate up-to-date books covering the materiel of the proposed courses are unfortunately not available. We could only suggest an extensive list of references covering most of the subjects discussed in the paper. We feel that the development of relevant textbooks is of extreme importance.
8. Working Group Members The following members of the ECBS TC WG on Education and Training contributed actively in the development of the program outlined in this paper: Dalcher Darren - South Bank University, UK, Gonzales Regina M. - New Mexico State University, USA, Koenig Shai - Tadiran Telecommunications Ltd., PetahTikva, Israel, Lavi Jonah - CBSE Associates, Israel, Mannion Mike - Napier University, Edinburgh, Scotland, Pyle Ian - University of Wales, UK, Rosenberg Flavia IAI Industries, Israel, Singer Jehuda - Coherence Digital Systems Ltd., Tel-Aviv, Israel, Sveda Miroslav Technical University of Brno, Czech Republic
9. References Following is an initial list of reference material which can be used in the development of the courses. BUSC96
CHES65 CHES67 GAMM95
G. Accompanying project The allocation of the above topics to the objectives of the Introduction to CBS Development course and the level at which each subject should be taught is shown in Table 4.
GARL92
6. Assessment Participants should be assessed if they achieved the educational objectives. Kind of assessment depends on the learning level concerned. For matters student should be: “Aware of", it is sufficient for him to be able to write sensibly about the subject, using appropriate technical terms. “Expected to understand” it is sufficient for him to be able to interpret unknown situations concerning that subject, and to deduce likely consequences. “To be able to perform significant engineering tasks” , it is sufficient for him to be able to do those tasks without external assistance, in suitably simple cases.
GARL94
GONZ98
Buschmann et al, "Pattern-Oriented Software Architecture - a System of Patterns," Wiley, 1996 Chestnut, H., "Systems Engineering Tools", Wiley 1965. Chestnut, H., "Systems Engineering Methods", Wiley 1967. Gamma et al, "Design Patterns -- Elements of Reusable Object-Oriented Software," Addison-Wesley, 1995. Garlan, D., at al, "Experience With a Course on Architectures for Software Systems, Part I; Course Description", Report # CMU-CS92-176, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, August , 1992. Garlan, D., at al, "Experience With a Course on Architectures for Software Systems, Part II; Educational Materials", Report # CMUCS-94-178, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, August , 1994. Gonzales. R.M., et al, “Teaching Engineers to Facilitate a Requirements Elicitation Process" in Proceedings of the IEEE Computer Society ECBS 98 - International Symposium and Workshop, Jerusalem, Israel, Computer
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 4
IEEE1220
LAVI97
LAVI98
LEAN98
OLIV97
SECMM
SHAW96
Society Press, March 1998. "IEEE Standard P1220 - Standard for Systems Engineering", Preliminary, 1993, IEEE Inc., NY, NY. Lavi, J.Z., Melhart, B., Pyle, I., “Engineering of Computer-Based Systems A Proposed Curriculum for a Degree Program at Master Level”, in Proceedings of the IEEE Computer Society ECBS 97 International Symposium and Workshop, Monterey, California, Computer Society Press, March 1997. (Updated version submitted to Computer for publication) Lavi, J.Z., et al, “Engineering of ComputerBased Systems - A Proposed Curriculum for a Degree Program at Bachelor Level”, in Proceedings of the IEEE Computer Society ECBS 98 - International Symposium and Workshop, Jerusalem, Israel, Computer Society Press, March 1998. Leaney , J., et al “Observation on an ECBS Educational Project”,Computer Systems Engineering in Large Groups”, in Proceedings of the IEEE Computer Society ECBS 98 - International Symposium and Workshop, Jerusalem, Israel, Computer Society Press, March 1998. Oliver, D., et al, “Engineering Complex Systems with Models and Objects”, McGraw Hill, 1997. "A Systems Engineering Capability Maturity Model", Version 1.0, The Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pa., 1994. Shaw, M., et al, "Software Architecture:
SOF2000
SOFT95
SZTI98
TOME93
WEIT80
WHIT93
Perspectives on an Emerging Discipline", Prentice Hall, 1996. "Software 2000 - a View of Future Workshop", Sponsored by ESPRIT and ICL, ICL Executive Training Center, UK, April 1994. Boasson, M., Editor, "Software Architecture" Special issue of IEEE Computer Society Software Journal, November 1995, pp. 13 - 70. Sztipanovits, J., “Engineering of ComputerBased Systems: An Emerging Discipline” in Proceedings of the IEEE Computer Society ECBS 98 - International Symposium and Workshop, Jerusalem, Israel, Computer Society Press, March 1998. Thome, B., "Systems Engineering, Principles and Practice of CBSE", Wiley, 1993. Weitzman, C., "Distributed Micro/ Minicomputer Systems Structure, Implementation, and Application", Prentice Hall, 1980. White, S., et al, "Systems Engineering of Computer-Based Systems", IEEE Computer, Nov. 1993, pp. 54-65
Product Domain Engineering Disciplines/Professions Aeronautical Engineering
Systems Engineering
Systems Engineering
Chemical Engineering
Marine Engineering
Domain_Specific Engineering
CBS Engineering
Electrical Engineering
CBS Hardware Engineering
Software Engineering
Communication Engineering
Automotive Engineering
Mechanical Engineering
Human/Computer Engineering
Supporting Technology Domain Engineering Professions
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 5
Figure1 - ECBS relation with other engineering disciplines
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 6
No.
Objective
Level
1.
c
4.
Identify, analyze and bound a problem to be addressed by a CBS in the domain of the system of which the CBS is a part Recognize the requirements and the significant features of CBS subsystems (HW, SW, Communications) architectures Recognize the significant features of alternate CBS solutions and architectures applicable to the problem in the domain specialization Be aware of economic considerations in CBS development
5.
Be aware of the life-cycle issues of CBS
2 3.
b b
a b
Table 1 - Introduction to CBS technologies - Educational Objectives
No.
Objective
1.
Identify, analyze and bound a problem to be addressed by a CBS in the domain of the system of which the CBS is a part Recognize the requirements and the significant features of CBS subsystems (HW, Communications, SW) architectures
2.
3.
Recognize the significant features of alternate CBS solutions and architectures applicable to the problem in his domain of specialization
Objec. level c
Subj. # F
Subj. level c
b
B.1 B.2
b b
C.1
b
C.2
b
C.3 D.1
b b
D.2
b
A.1 A.2
a a
E.1. E.2.
b b
E.3.
b
Computing HW characteristics Typical CBS hardware architectures and their characteristics Computer communication systems characteristics Typical CBS Communications architectures & performance Physical device interfacing Typical SW architectures and modularity concepts Operating System and Database concepts and their application in CBS CBS Introduction Typical CBS and their characteristics Typical CBS Architectures CBS Human Machine Interfaces CBS Dynamic Behavior
b
Topic Accompanying project
4.
Be aware of economic considerations in CBS development
a
A.3
a
CBS Economic considerations
5.
Be aware of the life-cycle issues of CBS
a
E.4 E.5
b b
Life-cycle and process design CBS Maintenance issues
Table 2 - Allocation of ECBS Topics to Introduction to CBS technologies Course Objectives
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 7
No.
Objective
Level
1.
Understand conceptual CBS models
b
2.
c
7.
Specify the desired non functional and functional (behavior and performance) requirements of the CBS computing and control services which support the operation of the developed system Evaluate the significant features of alternate CBS solutions and architectures applicable to the problem in his domain of specialization Be aware of the importance of possible reuse of existing designs and “subsystems” in the development of CBS Be aware of the processes and technologies required for CBS development and implementation Be aware of testing, verification and integration technologies and infrastructures Understand economic considerations in CBS development
b
8.
Evaluate CBS project plans including their risks
c
9.
Understand maintainability issues of CBS
b
3.
4. 5. 6.
c
a a a
Table 3 -Introduction to CBS Development - Educational Objectives
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 8
No.
Objective
Object. level
Subj.#
1.
Understand conceptual CBS models Specify the desired non functional and functional (behavior and performance) requirements of the CBS computing and control services which support the operation of the developed system
b
B.1
Subj. level b
c
B.2
c
Requirements elicitation, analysis and specification
B.3 B.4 G
b a c
Requirements verification
Evaluate the significant features of alternate CBS solutions and architectures applicable to the problem in his domain of specialization
c
C.1
c
CBS significant features and limitations evaluation
C.2 C.3 C.4
b b a
Be aware of importance of possible reuse of existing designs and “subsystems” in the development of CBS Be aware of the processes and technologies required for CBS development and implementation
a
G C.5
c a
CBS design trade offs CBS performance analysis Reliability and availability issues Accompanying project
a
C.6 F.3
a a
CBS development methods
Be aware of testing and integration technologies and infrastructures
a
D.3
0
Document inspections and walk-throughs Formal verification Simulation techniques Theory and practice of integration & test Integration and support environments CBS Acceptance criteria CBS Economic considerations
2.
3.
4.
5. 6.
D.4 D.5 D.1 D.2
7. 8.
9.
Understand economic considerations in CBS development Evaluate CBS project plans including their risks
Understand the maintainability issues of CBS
Topic Conceptual modeling
Requirements management
Accompanying project
Development as product families and reuse
Exposure to CAS2E
b
E.2 C.7
b
c
A.1
c
F.6 F.1 F.2 F.4
a b b b
F.5 G
c c
CBS Process milestones & deliverables evaluation CBS laws, ethics and standards Quality assurance issues Configuration management Process assessment and improvement Risk management Accompanying project
E.1
b
CBS Maintenance issues
b
Table 4 -Allocation of ECBS Topics to Introduction to CBS Development Course Objectives
Engineering of Computer Based-Systems - Enhancement Courses - Proposed Course Outlines Reprinted from the procceings of the 1999 IEEE ECBS TC Conference and Workshop - IEEE Computer Society Press March 1999 9