Chapter 1 posits that almost all engineering fields will be impacted by the wide use of cyber-physical systems (CPS) and that the workforce will include domain experts who are knowledgeable of CPS principles, including a new type of engineer—a CPS engineer—who is an expert in the intersection of cyber and physical worlds. This suggests that multiple paths to CPS knowledge are required to meet workforce needs. It is expected that many different approaches will be undertaken depending on the situation at each university or college.
Anticipating the diverse workforce needs, the challenges associated with implementing CPS courses and programs, and a range of approaches already under way at universities, this report presents multiple alternatives. One good alternative, especially in the short term (and possibly the easiest to implement logistically) is a master’s-level program. This does not obviate the need for CPS education at the B.S. level or the long-term needs for B.S.-level classes and even degrees. Given that the vast majority of engineers are hired at the B.S. level, it does not seem feasible to simply defer all CPS education to the master’s level.
Ultimately, the mix of programs offered by universities will reflect the perspectives of individual institutions, their resources, and the demand universities see from students and their employers, and in turn affect the educational backgrounds of the CPS workforce. Over time, as the field itself changes and matures, education and the CPS skills that employers demand will co-evolve.
In particular, many universities may not currently have the expertise
or resources to establish extensive CPS education programs. A useful alternative in these cases would be to forge more limited partnerships among several departments to implement jointly taught courses. For example, key CPS content could be introduced into mechatronics, robotics, or transportation courses. Doing so over time can help reduce the burdens associated with infusing CPS throughout engineering and building the courses one would need to implement a CPS program. For example, a theory course developed to include students from computer science and mechanical engineering, as well as traditional control theory, will produce a new class of the sort that is needed for CPS.
FINDING 3.1: The diversity of current departmental structures, faculty expertise and interests, and curricula suggest that there are multiple feasible and appropriate models for strengthening CPS engineering. The committee envisions that universities will (1) enrich current engineering programs with CPS content, (2) create CPS survey courses, (3) create new master’s-level CPS degrees, and, ultimately, (4) develop new undergraduate CPS engineering degree programs.
RECOMMENDATION 3.1: The National Science Foundation should support the development of university education programs that define a path and plan for the creation of a cyber-physical systems engineering degree.
In this chapter, the committee provides examples of several paths forward. It should be emphasized that these are examples, and a wide spectrum of possible solutions from varying perspectives is anticipated. This chapter explores the following approaches to CPS knowledge:
- Exposure to CPS in K-12,
- Vocational and community college programs,
- CPS discussions in introductory engineering and computer science courses,
- One or more CPS survey courses taught at the undergraduate level,
- Domain-specific degree programs that include a CPS concentration or focus,
- A bachelor’s-level CPS degree, and
- A master’s-level CPS degree.
The committee was pleased to discover that a diverse set of CPS program models have grown organically from computer science and electrical engineering departments. Additionally, several domain areas have created programs that support the design in CPS, for example, civil engineering masters in intelligent infrastructure. Table 3.1 gives a small sampling of CPS academic offerings.
TABLE 3.1 Examples of Programs in CPS or Embedded Systems
|University/Department||Sample Courses||Name of Degree|
|University of Pennsylvania Department of Computer and Information Science||CIS 540: Principles of Embedded Computation
CIS 541: Embedded Software for Life Critical Applications
|M.S. in engineering in embedded systems|
|Illinois Institute of Technology College of Science||CS 556: Cyber-Physical Systems: Languages and Systems
CS 557: Cyber-Physical Systems: Networking and Algorithms
|Master’s in computer science with a specialization in cyber-physical systems|
|University of Colorado, Boulder Department of Electrical, Computing and Energy Engineering||ECEN 5613: Embedded System Design
ECEN 5023: Mobile Computing and IoT Security
|Professional master’s program (30 hours) or certificate (9 hours) in embedded systems engineering|
|Iowa State University College of Engineering||CprE 558: Real Time Systems
CprE 588: Embedded Computer Systems
|Embedded systems graduate certificate|
|University of Illinois College of Electrical and Computer Engineering||ECE 486: Control Systems
CS 431: Embedded Systems
|Undergraduate concentration in cyber-physical systems|
|New York University School of Engineering||CS 2204: Digital Logic and State Machine Design
EL 5483: Real Time Embedded Systems
|Undergraduate computer science degree with a concentration in computer hardware and embedded systems|
|University of California, Berkeley||EECS 149.1x: Cyber Physical Systems||Open Access online course|
The few CPS degree programs that exist at present are at the graduate level, which perpetuates the belief that one must become an expert in one field before commencing study of CPS. For example, current programs require a student to complete a bachelor of science degree in either electrical and/or computer engineering before attempting to augment his or her studies with the cyber component, or complete the cyber portion first and add the physical portion afterwards.
There are a few undergraduate courses offered within existing programs that offer CPS as a concentration instead of a stand-alone degree program. Additionally, there are certification programs that complement the degree programs, as well as certification specialties.
The University of California, Santa Cruz, for example, offers an Introduction to Cyber-Physical Systems course through its College of Engineering as a part of the engineering curriculum. This class provides a basic overview of concepts and tools of CPS such as “modeling and analysis tools for continuous-time and discrete-time systems; finite state machines; stateflow; timed and hybrid automata; concurrency; invariants; linear temporal logic; verification; and numerical simulation.”1 The course provides an introduction to modeling and analysis of CPS. After the systems of interest are summarized via examples in engineering and science, several models of continuous-time systems and discrete-time systems are introduced. The main focus is on models in terms of differential equations for the modeling of physical processes. Finite state machines and stateflow are introduced and combined with the physical models. Applications of the resulting models for design and analysis of embedded systems are discussed. With this basic background, the more advanced timed automata and hybrid automata models are introduced. Then, linear temporal logic, which is the main tool taught in this class, is introduced and applied to specify the desired system behavior. Tools for analytical study and numerical verification for the satisfaction of linear temporal logic formulas are presented and discussed in numerous applications.
Another example is the University of California, Berkeley, course “Introduction to Embedded Systems,” an introductory class that introduces the students to the design and analysis of computational systems that interact with physical processes. The course uses a textbook2 written by two Berkeley faculty.
Canvassing the offerings available at most universities reveals that current courses are not sufficient to meet the need of developing engi-
neers who are adequately skilled in CPS. Few emphasize mission- or safety-critical systems, and hands-on project work tends to ignore properties like fault tolerance and robustness. Also, a focus on developing new systems over understanding tools and techniques needed to test and maintain current systems was noted. These deficiencies are due to a variety of issues, including a lack of an interdisciplinary or multidisciplinary approach, the lack application-based work, limited software engineering approaches, lack of integration, composition, and system-level concerns. Additionally, interdependencies are not accounted for in the traditional engineering coursework. In this approach, systems are broken down into components and the students design them, but they do not think about how the two are connected. In addition to these analytical skills, CPS also requires skill in synthesizing systems from understood components and integrating multiple disciplines and perspectives.
A report of a National Institute of Standards and Technology-sponsored workshop on future opportunities for CPS encourages significant enhancements to the engineering curricula in CPS degree programs, emphasizing systems sciences, engineering with an enhanced focus on multidisciplinary research.3 Establishing multi-department CPS degrees and resources will help to build and sustain the future CPS workforce, with the goal of establishing a more formal teaching and training approach to CPS.
RECOMMENDATION 3.2: The National Science Foundation, professional societies, and university administrations should support and consider allocating resources for the development of new cyber-physical systems (CPS)-focused courses within existing engineering programs, new CPS-specific classes for CPS engineering majors and minors, and an overall curricula for an undergraduate CPS engineering degree program.
Strong foundations in science, technology, engineering, and mathematics (STEM) topics, coupled with exposure to CPS concepts and applications, can (1) introduce students to possible careers in CPS, (2) provide students with the foundations they will need to succeed in CPS or other STEM undergraduate programs, and (3) make it easier to fit a full CPS
3 National Institute of Standards and Technology, 2013, Strategic R&D Opportunities for 21st Century Cyber-Physical Systems: Connecting Computer and Information Systems with the Physical World, Gaithersburg, Md., January, http://www.nist.gov/el/upload/12-Cyber-PhysicalSystems020113_final.pdf.
curriculum into a 4-year course of study by giving students a head start. Both core STEM courses, such as calculus and physics, and courses on topics such as programming and robotics can all be extended with CPS content. Moreover, applications such as robotics provide timely and very attractive opportunities to motivate STEM education generally and introduce CPS content specifically. For example, the UC Davis Center for Integrated Computing and STEM Education (C-STEM) has developed a capstone course, “Principles and Design of Cyber-Physical Systems,”4 based on use of a robotics kit, that is intended to spark interest in computing and CPS specifically. An introductory course on CPS could also be offered as a capstone of a high school career technical education course of study.
Without a robust STEM education in K-12, would-be CPS students are at a considerable disadvantage. Furthermore, given the challenges in incorporating the extensive knowledge required for CPS into a 4-year undergraduate degree, there are considerable advantages to introducing foundational material at the K-12 level. Calculus and physics are already standardized and emphasized, especially for students interested in STEM careers. By contrast, programming, robotics, and other CPS-related topics are not as well defined or institutionalized. Several efforts, most recently and broadly the “CS for All” initiative, are aimed at introducing computer science and computational thinking into K-12 education across the country and may provide opportunities to introduce CPS concepts and foundations.
Community colleges fulfill multiple roles in providing educational opportunities for students. For some, it is a pathway to a 4-year institution and a bachelor’s degree. As such, students participating in engineering programs at these institutions should be made aware of CPS and the appropriate courses that will better prepare them to undertake this field of study in a 4-year program. Furthermore, these programs must be sufficiently rigorous to ensure success once entering a bachelor’s program.
For others, community colleges offer vocational training for construction, auto repair, and other similar jobs. An increasing number of vocations will require an understanding of CPS fundamentals for installation and maintenance of the advanced systems that rely on CPS. These jobs, which depend on vocational education, include auto repair, HVAC installation and maintenance, and medical care. Vocational and community college education will need to evolve to develop new skills and incorpo-
rate new knowledge to support these changing professions—as well as new fields such as design, installation, and maintenance of solar energy systems, wind turbine systems, and broadband communications systems. An example is the Washtenaw Community College,5 which started an Advanced Transportation Center that is working to develop curricula, create opportunities for vocational training, and strengthen the community college and university interactions around connected cars and other advanced transportation systems.
People also use community colleges for the refreshment of knowledge and for retraining in technologies that have continued to evolve. Community colleges could therefore provide mid-career professionals who have already completed a degree in a related discipline (e.g., computer science, electrical engineering, or mechanical engineering) with a means to bolster their skills and capabilities in CPS knowledge. A set of the education modules could be fashioned into continuing education courses. In the event that a licensing regime for engineers is in place for these related engineering domains, it is likely that the courses so fashioned could be used to satisfy state requirements for continuing education.
This section considers various ways to incorporate CPS into undergraduate education. It starts by discussing ways to add CPS content to introductory courses for engineering and computer science undergraduates and approaches for creating survey courses that provide a more in-depth introduction to CPS. It then turns to ways to add a CPS specialization to existing engineering programs and options for creating an undergraduate program in CPS. Finally, it discusses the need for flexibility in course work, the importance of hands-on work for learning about CPS, and the need to create new courses to teach CPS.
Current engineering curricula already have extensive content with limited room for new classes, so the proposed curricula replaces existing courses with new ones designed for CPS. In the case of new concentrations in CPS, the suggested courses would replace those offered as part of existing concentrations. For example, instead of taking classes for a concentration in control, software engineering, or networking, a student would take new classes designed for a CPS concentration. In the case of a CPS degree, the example curricula include new classes that would substitute for those in the curricula from which they are derived.
Introductory Engineering and Computer Science Courses
As noted in Chapter 1, an increasing number of what was once simply physical or simply cyber systems now integrate components of each. For example, mechanical and aerospace engineers will inevitably need to incorporate their physical designs with system controls and automation. As a result, engineers will need a basic understanding of integrating the physical and cyber technologies and the complexities of building and maintaining CPS.
Most, if not all, engineering programs provide freshman engineering students with an opportunity to take introductory engineering courses. The majority of these are domain specific—each engineering department or school develops and teaches the course. The courses provide students with an overview of the field while also teaching basic engineering skills and problem solving. Given the wide deployment of CPS and the impact it has on the more traditional disciplines, the committee suggests that these courses should include discussion of the complexities of CPS and introduce some of the key CPS concepts.
The committee recognizes that these courses cover a wide set of material already; however, CPS can be woven through some of this material. For example, many of these courses include a hands-on project or a semester-long project. CPS concepts could be incorporated into these assignments by providing real-world tasks. Aerospace engineering students could work on drone control; civil engineering students could examine implications of smart cities; and mechanical engineers could explore robotics. Introducing students to the challenges of integration establishes that one does not develop systems in a vacuum and instead must consider outside impacts, including human factors, real-world constraints, and the limits of software and physics.
RECOMMENDATION 3.3: Universities should consider adding cyber-physical systems content to freshman-level introductory courses for students in all areas of engineering and computer science.
New Survey Courses in CPS
Given the wide breadth of knowledge required for CPS, the structure of survey courses could take several approaches. One approach would be a class based on modules chosen from the multidisciplinary areas of CPS. Such a course could include modules on sensor networks, embedded computing, signal processing, control theory, and real-time systems. A two-course sequence might add multiple modules from security and privacy, model-based design, formal methods, hybrid systems, and data science and machine learning. In the module approach, it is emphasized
that each module should not be completely independent of others, and class principles and concepts must stress the interactions across the various modules. Another approach might stress the safety critical aspects of CPS and include topics such as fault tolerance, model-based design, concurrency and distributed algorithms, models of computation, formal methods of specification and verification, real-time systems, and hybrid systems (which brings in control theory). A third approach might focus on modeling, design, and analysis—all from a multidisciplinary approach—with an explicit focus on the interdependencies between the cyber and the physical worlds. Topics might include continuous and discrete dynamics, hybrid systems, concurrent models of computation, embedded systems, multi-tasking and real-time scheduling, temporal logic, model checking, and quantitative analysis—all emphasizing integration with physical systems.
Regardless of the approach, survey courses should stress the complexities of integrating physical with cyber aspects of systems and at least touch on the foundations and system characteristics outlined in Chapter 2. Box 3.1 provides some examples of high-level undergraduate survey courses; any such listing of courses and programs represents only a sampling of an always-evolving set of courses and programs being developed and offered in the United States and worldwide. Although the topics are listed in Box 3.1, it is important to note that all of the classes include hands-on projects or laboratory work that not only emphasize course topics but also the integration of the cyber and physical worlds.
Traditional Engineering Programs with CPS Specialization
Traditional undergraduate engineering programs (e.g. aerospace, civil, mechanical, and chemical engineering, to name a few) will also benefit from the incorporation of CPS principles into their course offerings. Some fields, such as aerospace and mechanical engineering, have incorporated CPS principles for some time, but primarily from a physical world point of view. Hence, the challenge will be to increase knowledge of cyber elements and their interactions with physical elements and (1) ensure that the necessary changes to include CPS principles in the curricula meet requirements set by the Accreditation Board for Engineering and Technology (ABET) and (2) adequately prepare students to pass the National Council of Examiners for Engineering and Surveying Fundamentals of Engineering (FE) exam.
The degree to which CPS principles are currently incorporated into domain-specific curricula varies considerably depending on the discipline. Undergraduate civil and mechanical engineering curricula require students to take similar math, natural science, and basic engineering and
science courses during the first 2 years. The third year primarily focuses on introducing students to the concentration areas in their respective disciplines. As an example, within civil engineering these concentration areas include structural, geotechnical, transportation, environmental, hydrology/hydraulics, and construction engineering. Examples of mechanical engineering concentration areas include robotics and controls, thermal-fluid systems, manufacturing, and solid mechanics. In the fourth year, most students develop a specialization by focusing on one of these concentration areas through their technical electives. A capstone design course is also often part of the fourth-year curriculum.
examples, based on existing curricula from several universities, show that the mechanical engineering curriculum has, to some degree, more existing CPS-focused core classes and technical electives than the civil engineering curriculum. However, these existing courses may require redesign in an effort to better introduce undergraduates to the cyber aspects of CPS and their interactions with the physical, as defined in Chapter 2.
New CPS-centric courses have been proposed in both curricula. Such courses are meant as examples only, and many more domain-specific courses with a CPS emphasis can be defined. Given the flexibility in today’s ABET accreditation process, and because it is anticipated that these courses will primarily be part of the technical elective alternatives, problems meeting ABET accreditation requirements or adequately pre-
paring a student to pass the FE exam should be minimal. In fact, some of the “new” course topics (e.g., signals and systems, sensor networks, and structural health monitoring) already exist as electives in a few undergraduate engineering curricula. This flexibility will also allow accommodation of changes in the CPS curriculum as the field evolves.
Undergraduate Bachelor Programs in Cyber-Physical Systems
quite complex—even without considering resource constraints—owing to many confounding factors. Although such a curriculum would be based on the foundations and system characteristics outlined in Chapter 2, it is extremely difficult to produce a single ideal curriculum for the following chief reasons:
- It would require too many existing courses to cover CPS in sufficient depth. Hence, without careful program design, either the physical or the cyber aspects will end up with insufficient emphasis.
- One’s own specialty affects one’s view of an ideal curriculum. For
example, to a control theory expert, a single course on control would not cover the topic to a depth they feel is necessary. A basic control course might be desired in addition to an embedded systems control course.
The committee stresses that the examples provided were developed with an understanding of these complexities and only serve as examples—not as the canonical curriculum. Caveats and important notes are provided in the next section.
Box 3.4 presents one possible example of an undergraduate CPS degree program curriculum. The example produced assumes a limit of 40 undergraduate courses so that the degree can be granted in 4 years. To support the physical foundations of CPS, a set of mathematics and natural science courses are necessary. Ten such classes are presented in Box 3.4. Flexibility should also exist to replace classes with electives if students place out of any earlier coursework. Box 3.4 also presents an example of 12 courses that could serve as the core of this new major. A particular uni-
versity may choose to structure this material differently, but the content found in these courses is important.
Depending on the college or university, computer science and engineering may be located within the natural sciences, in engineering schools, or in schools of computing. CPS programs have already grown organically within both computer science and electrical engineering programs. The resulting CPS curricula will tend to look somewhat different depending on whether the program comes from a computer science perspective (see, for example, Box 3.5)6 or from an electric and computer engineering perspective (see, for example, Box 3.6). Either of these curricula would provide tightly coupled physical and cyber instruction, but with different
6 A CPS program based on a computer science program might not formally be housed in an engineering school if the computer science department was located in another college. However, significant interactions with engineering departments would be needed to provide a full degree that covers the physical side of CPS.
emphasis. Most universities allow for the cross-listing of courses that are applicable to electrical and computer engineering and computer science degrees, which tends to blur such distinctions and provides students with the flexibility to acquire the desired balance of perspectives as they study CPS.
Caveats and Notes on Curriculum
Flexibility in Course Work
In today’s engineering schools, the need for flexibility in curricula is stressed for students. More and more universities are increasing the
opportunities for electives and lowering the number of prescriptive courses. Increased flexibility in engineering curriculum provides more opportunities for students to explore CPS through survey courses, engineering electives, and minors or certificates, while avoiding the accreditation issue discussed in earlier sections.
Accordingly, the committee’s example curricula provide for flexibility. For example, the curriculum example depicts two CPS technical electives, three social impact electives, eight humanities, and three unrestricted electives. Flexibility also exists in how the Introduction to CPS and capstone projects are taught.
Value of Laboratory and Hands-On Work
Project-based learning is becoming increasingly present in university engineering courses. CPS is particularly suited for hands-on learning activities and laboratory work, and project-based learning seems especially well suited to conveying the complexities of integrating cyber and physical issues. Reliance on theoretical training and waiting for a capstone design project at the end of an undergraduate education may fail to tie all of the concepts together adequately, so the on-going, practical application of theoretical learning to real problems is key. It is common practice
for course syllabuses to now include classical homework, exams, and projects. Class projects aim at addressing a specific realistic problems by bringing together multiple concepts introduced in a course. In pioneering examples of project-based courses, instructors get engaged with students, mainly in the laboratory, promoting the creativity, teamwork, and effective accomplishment of final products. The students select real problems and work in teams toward building complete prototypical solutions for such problems. Students build hardware, compose new hardware from existing of hardware components, and learn to integrate the hardware with effective software to generate solutions to real problems.
In addition to class projects, students also typically complete capstone projects, wrapping up their studies into large projects requiring concept integration and teamwork among students with expertise in multiple areas. There are also examples where projects are linked across multiple courses.
RECOMMENDATION 3.4: Engineering schools, by-and-large, have already redesigned their curricula to emphasize project-based learning. Because this is especially important for cyber-physical systems (CPS) education, these project-based courses should be extended to support CPS principles and foundations.
CPS-oriented project classes are particularly challenging to teach today because of the extremely rapidly changing landscape of available hardware and software. The traditional approach of defining a project mission that gets reused year after year does not work in this scenario. Teaching such project courses requires budgets for purchasing new hardware and software with regularity and requires considerable technical support and expertise to keep up with the possibilities. Such courses may only be only sustainable with significant institutional support in the form of course managers and laboratory technicians.
Need for New Courses
Simply collecting current courses into a new CPS program is not likely to be sufficient. Students will not truly be exposed to nor understand the intricacy of the interactions of the physical and cyber issues if this approach is taken. To give a simple illustration, most standard computer science courses do not cover real-time programming even though this topic is essential for building CPS, which interact with the physical world.
As another example, standard courses on control typically ignore the computational model in which the controller will be implemented. Those courses that do cover computational implementations of control systems, typically called digital control systems, generally have unrealistic models of computation. In other words, they assume either infinite computational resources or antiquated computational models. Moreover, typical introductory courses in control systems do not teach students about how to define the formal requirements needed to include control in the design flows used in modern CPS applications.
FINDING 3.2: Because CPS engineering centers on the interaction of physical and cyber aspects of systems, it will often not be sufficient
to create CPS curricula by simply combining material from existing courses. New courses will need to be designed.
Because this is such an important point, it is illustrated by the following set of examples for how traditional courses could be modified to cover topics needed for CPS:
- Control theory. Control theory classes in electrical engineering emphasize topics such as stability, performance, optimization, and design of linear and nonlinear feedback systems. Hybrid control, an important topic for CPS, has received growing attention in these courses. Additional topics needed for CPS are the connection of control theory with networks and real-time and distributed systems, humans-in-the-loop, security, and software. Control examples can be supplemented with those from CPS that include physical, cyber, and networking elements. Knowledge of how to implement the control policies in software and address real time performance and security are needed. A redesign for a CPS course would provide enough basics and add the needed additional topics while reducing the emphasis on some traditional topics such as proofs of stability.
- Software design and programming classes. The examples used in traditional classes typically use nonphysical world applications that do not sufficiently consider the uncertainty, real time, and security challenges of the physical world. For CPS, it is important that students learn to program with sensors and actuators. For example, it is important to understand the properties of sensors and not have the properties hidden behind a high-level application program interface. For example, software that improperly handled transient signals from the lander touchdown sensor likely caused a Mars lander to prematurely “think” it had contacted the surface, causing it to shut down the retrorockets at quite a distance from the surface, resulting in mission failure.7 Students must learn to program in a robust and secure fashion, including how to implement feedback controllers and use signal processing techniques of varying levels of sophistication. Applying real-time principles to system design and implementation to meet deadlines is essential. CPS software that interacts with users also needs special attention when human control can put humans or major systems at risk.
- Probability and stochastic processes. The basic principles of probability, uncertainty, and risk should be applied to CPS-type physical world systems, noisy sensor and signal properties, and overall risk assessment
7 Jet Propulsion Laboratory, Special Review Board, 2000, Report on the Loss of the Mars Polar Lander and Deep Space 2 Missions, Report JPL D-18709, http://spaceflight.nasa.gov/spacenews/releases/2000/mpl/mpl_report_1.pdf, p. 26.
and management for systems composed of hardware and software operating in nondeterministic environments. Knowledge on how to use and program with concepts of probability and uncertainty for decision-making is required as well. Classes that show students how to apply key principles to CPS domains such as smart grids, jet engine control, or medical systems are of increasing importance.
A handful of masters of science degrees focused on embedded systems or CPS exist. Despite the existing programs, the committee felt that providing a model curriculum would be helpful, especially given the focus on electrical engineering or computer science that many of the existing programs have. Another possibility is to add a CPS concentration to a robotics graduate program.
Box 3.7 presents a model for a M.Sc. degree that could be obtained in 1 year, although the typical student will take between 1 and 2 years to finish all the requirements while conducting some research. The classes are divided into required core classes and electives. For departments in a semester system, students would take eight classes. Students wishing to finish the M.Sc. degree in 1 year would take four classes in the fall semester and four classes in the spring semester or three classes in the fall quarter, three classes in the winter quarter, and three classes in the spring quarter. The M.Sc. degree would also require a project illustrating the challenges of designing CPS that work reliably in the real world.