Modernizing the Real-Time and Embedded Curriculum
|
|
- Adrian Newman
- 5 years ago
- Views:
Transcription
1 Modernizing the Real-Time and Embedded Curriculum Kelvin Nilsen, Ph.D. Chief Technology Officer Java, Atego Systems, Inc Cornerstone Court West, Suite 250, San Diego, CA 92121, USA Abstract - Traditionally, real-time and embedded software design and implementation has been the purview of computer engineering departments. A course dedicated to these topics, if it is offered at all, is often accompanied by aspects of hardware design and hardware device interfaces. Programming assignments usually use C or assembly language. This paper argues that traditional approaches to educating real-time and embedded engineers are outdated and fail to prepare students for typical modern real-time software engineering challenges. Modern embedded real-time systems are very different than the embedded real-time systems of 20 ago. Among trends that have not been addressed in the typical embedded real-time curriculum are first, a tremendous increase in size and complexity of embedded system software, with many systems doubling in size with each new product release, typically occuring every 18 to 36 months; second, a tendency to build each new product release primarily by integration of existing software components rather than by implementing all of the functionality for the new product from scratch; and third, the reality that reusable embedded and real-time software components are required to provide multiple decades of service on a rapidly evolving assortment of hardware and operating system platforms. Keywords: Real-Time Java, Embedded Real-Time, Curriculum 1 Current Industry Practice While it is still the case that a large number of embedded systems are still programmed in C and assembler, it is also true that increasingly, embedded real-time systems are being implemented in more modern object-oriented programming languages like Java [1]. Note, for example, that the highly popular Android platform uses Java as its preferred programming language [2]. Real-time Java has been used in the implementations of critical telecommunications infrastructure, manufacturing of semiconductors, automation of off-shore oil drilling rigs, multiple RADAR applications, situational awareness tools for military infantry, and Aegis warship weapons control including ballistic missile defense software [3-7]. The motivations for the increased use of Java in the implementation of embedded real-time software systems are several fold. 1. Typical development projects find that Java offers a two-fold gain in developer productivity and five- to ten-fold cost savings during software integration and maintenance activities in comparison with legacy languages like C and C++ [8]. 2. The size of embedded software systems is growing exponentially, in close correlation with Moore s law. This is exhibited in Figure 1, which reports trends in NASA space mission software [9]. Similar trends have been reported by the consumer electronics and automotive software industries [10]. 3. While computer processing speeds and memory capacities continue to increase while the costs of computing resources are declining, the costs of software engineers continue to rise. This motivates tradeoffs that allow software engineers to be more productive at the expense of slightly less efficient use of computing resources. 4. Whereas the embedded software systems of past decades were small enough that one or two programmers could implement all of the code for each new device in less than a year of development, today s embedded systems are far too large and complex to support that model. The typical difference between last year s product and next year s product is a doubling of code size, from maybe 1 million lines of code to 2 million lines of code! All of the new code, most of which is supplied as reusable software components by third parties, must integrate cleanly with code deployed in the prior product release and with all of the other components to be added to the new product release. Some representative real-time Java applications are described in Table 1. Because these applications represent competitive advantages to their developers, certain details are omitted from some of the descriptions, as marked with the Ψ symbol.
2 Figure 1. Significant Lines of Code in NASA Space Mission Control Software Fleet Telematics Domain Size Periods Semiconductor Manufacturing ~6 man thousands of control points 100 ms 1 ms Off Shore Drilling Rigs Ψ 10 ms Power Plant Automation Helmet Mounted Situational Awareness for Foot Soldiers In-Flight Entertainment System Multi-Protocol Broadband Loop Carrier Long Haul Fiber Optic Telecommunications Switch Warship Weapons Control and Ballistic Missile Defense thousands of control points tens of man tens of man ~10 man ~100 man 500K SLOC Table 1. Sample Real-Time Java Applications 16.7 ms Ψ 100 ms Ψ 40 ms sub-ms 2 Relevant Trends in Computer Science Education In the 90s, the language of choice for most undergraduate Computer Science courses was C. Following its public release in 1996, Java has gradually taken over the role of dominant programming language for university instruction [11, 12]. Professors have found that the use of Java allows students to explore more interesting topics with less low-quality time spent by students, professors, and teaching assistants in lengthy debugging sessions. As a higher level language, Java completely eliminates the core dumps that frequently result from pointer arithmetic errors, array subscripting errors, the dereferencing of null and dangling pointers, and inappropriate type coercions. Furthermore, the choice to use Java allows instructors to expose students to good object-oriented practice as one of the side benefits of each class room assignment. This is important because object orientation is one of the key mechanisms used by industry to manage the complexity of today s ever increasing software system sizes. Being familiar with object-oriented principles and techniques helps graduating students find employment. 3 Suggested Embedded Real-Time Curriculum Outline The official curriculum recommendations for an elective course on embedded and real-time software
3 reflect biases that were most appropriate in prior decades, when all of the software for each embedded real-time device could be written from scratch by one or two programmers in less than a year. Only four topics are suggested for the course [13]: 1. Process and task scheduling 2. Memory/disk management requirements in a real-time environment 3. Failures, risks, and recovery 4. Special concerns in real-time systems This official list of topics leaves room for interpretation, allowing instructors to exercise discretion in choosing which special concerns in real-time systems they might want to include in the course. The reality is that if a course chooses to focus on the implementation of process and task scheduling and memory and disk management, there may be little time available to focus on topics relevant to the development of real-time applications. The outline of topics provided below aims to educate students in general principles of real-time application development. While many real-world development efforts may choose not to use a high-level programming language, the principles learned in this class are for the most part relevant to all real-time development, regardless of language. The choice to use a high-level programming language for course assignments allows more interesting topics to be studied in greater depth. 1. Rate monotonic scheduling theory: An important question that must be addressed in developing a real-time application is how to analyze the workload to prove that all tasks will satisfy their real-time constraints. While many real-time scheduling theories exist, we recommend that an introductory course present rate monotonic theory, as it is the most widely used analysis technique and is relatively easy to understand. 2. Empirical analysis of time and memory requirements for real-time tasks: In order to apply schedulability analysis, it is necessary to understand the CPU time consumed by all of the tasks in the workload. This is computed as the product of worst-case task execution times and task execution frequencies. Assuring reliable operation of a real-time workload also depends on an awareness of the memory consumption of all workload tasks. 3. Encapsulation of real-time attributes in reusable object-oriented real-time software components: Modern real-time systems are constructed out of the integration of many independently developed software components. Over the lifetime of a real-time software component, it will most likely be deployed in many different contexts, on a variety of different processors and real-time operating systems. To facilitate easy porting and integration of a real-time software component, bundle each component with the ability to analyze and report its CPU time and memory requirements. Note that a component s resource requirements may be different within each execution environment. 4. Account for infrastructure activities in analysis of real-time workload: The complete system workload typically includes certain infrastructure services that are acting on behalf of the application. Typical infrastructure services include implementations of solid state and/or magnetic disk drivers, network libraries, messaging services, and, when appropriate, real-time garbage collection of dead memory. 5. Comply with regulatory agency guidelines: Certain embedded real-time applications must satisfy regulatory auditors prior to commercial deployment. This is especially true of safety critical applications, such as commercial aircraft avionics systems and rail transport automation. Discuss software process requirements, accumulation of artifacts to document and support audits of software process, peer review of intermediate artifacts, legal accountability, and testing methodologies. 6. Distinguish hard real-time from soft real-time: Help students understand that hard real-time systems are never allowed to miss deadlines, whereas soft real-time systems are designed to be robust in the face of occasional missed deadlines. Construction of hard real-time systems depends on formal analysis of worst-case resource needs. Construction of soft real-time systems usually relies on empirical measurements and statistical analysis to quantify likelihoods of compliance with real-time constraints. The domain of hard real-time techniques is usually small and simple repetitive algorithms. The domain of soft realtime methodologies often includes workloads that are highly dynamic and may include complex algorithms and heuristic approximations. 7. Object-oriented techniques for hard real-time development: Traditional object-oriented programming depends on practices that are difficult to analyze to the levels of rigor generally required in hard real-time systems. Discuss techniques to reduce and discipline polymorphic method invocations. Explore technologies that replace dependency on automatic garbage collection with safe stack allocation.
4 4 Suggested Curriculum Implementation The recommended course structure relies on the use of real-time Java as the preferred foundation for course programming assignments. The reason is simple. Using Java for programming maximizes the learning experience while minimizing time spent in less productive peripheral pursuits. Furthermore, the use of Java offers improved coordination with other classes in the typical core curriculum of many computer science and software engineering programs. Several anecdotes from industry experience help emphasize these benefits. 1. Calix, an industry leading vendor of broadband loop carriers to bring DSL connections into homes and small offices, chose to replace their C implementation of the management plane software with a Java implementation. They found that they were able to write the Java version of this software in half the time required to implement the C version. Furthermore, they found that the Java version had fewer bugs and more features. This represents a two fold improvement in developer productivity. 2. Intel found that they were able to construct a fault tolerant demonstration of new hardware by integrating off-the-shelf Java software components in only three days of effort. They reported that previous efforts to do build similar demonstrations out of off-the-shelf C and C++ components required three sold months of developmenet effort. This represents a twenty fold improvement in developer productivity. 3. Lockheed Martin reports that they were able to verify 3,500 requirements for a portion of the Java implementation of the Aegis warship software in only 5 months. With the previous version of the Aegis software, which had been written in Ada and CMS-2 (proprietary military language), their experience had been to verify only 3-4 requirements per day. This represents a nine fold improvement. 4. After rewriting the Aegis weapons system software in Java, Lockheed Martin found they were able to add support for Standard Missile 6 in only 3 months of additional effort. Before the Java rewrite, they report that this activity would have required a full year of development. These productivity benefits result because Java offers higher levels of abstraction, improved separation of concerns through better encapsulation of software components, and superior portability. This has made it easier to integrate 3rd party library components from external sources, easier to reuse software components originally developed and tested on different platforms, and easier to test and verify software functionality on fast, large-memory server machines instead of on the slow, memory constrained devices that are typical of embedded deployments. In a university instructional setting, it means a class on principles of embedded real-time software development does not need to set aside and staff a special instructional laboratory for embedded real-time computing. Real-time Java technologies run on mainstream platforms like Linux and Windows as well. The jitter (unpredictable timing due to interference from other tasks) will of course be higher on a multi-user platform that is not designed to support real-time operation. Take this into consideration in establishing expectations for real-time determinsm. For an enrichment activity, it is always interesting to see the Java code developed and tested on a shared server downloaded and executed on a dedicated single board computer. There are many such boards available now which are directly supported by off-theshelf configurations of Linux and real-time Java virtual machines. Such boards are available today for under $150 [14], making it much easier today than in previous decades to experiment with true embedded systems development. Realize, however, that including embedded development and integration activities significantly reduces the time available in a one-semester course to study topics in real-time application development. To do both embedded and real-time topics justice, it is probably best to offer two courses, one focused on real-time application development, and the other focused on embedded device development. Exercises in hard realtime development and device driver implementation probably fit best within the embedded course. 5 A Call to Action This paper presents overview recommendations for changes in the embedded real-time curriculum. Developing these ideas into an off-the-shelf class requires significant effort. One of the reasons that embedded real-time development is not typically taught, or if taught, promotes outdated technologies and approaches, is because existing faculty are not generally familiar with the special needs of these industries. To make this course a reality at multiple universities, the following materials need to be developed: 1. A textbook needs to be available to cover the theory and principles of these topics. Currently, there does not exist a single textbook that covers all of the relevant topics. The textbook needs exercises and solutions to reinforce the learning planned for each topic.
5 2. A set of programming assignments needs to be developed along with sample solutions to each assignment. Supporting infrastructure software must be developed and provided to students so that they can focus their attention on the intended learning experience of each assignment without spending large amounts of time establishing the foundations on which their learning experience is to be based. A breakdown of principles to be reinforced and emphasized by each assignment should be provided. Programming assignments must align with classroom learning objectives. 3. A turnkey programming environment must be provided to make it easy for instructors to manage homework assignments. It must be easy to install and maintain this programming environment on readily available instructional computing platforms without adding significantly to the instructional lab staff s support burdens. While the author of this paper is willing to contribute to creation of course materials, the nature of his responsibilities in supporting commercial customers does not leave time to effectively prepare the classroom materials by himself. A collaborative effort between industry practitioners and professional educators would be ideal. An expression of interest in this curriculum development from multiple educational institutions would help multiple individuals to justify their contributions to the overall effort. 6 Summary The typical university treatment of embedded real-time development represents market requirements that are decades old. More modern real-time and embedded application development requires an understanding of principles and technologies that are not addressed in typical undergraduate or graduate programs in computer science and engineering. Suggested improvements to the embedded real-time curriculum would allow coursework to correlate better with current industry needs. 7 References [1] K. Arnold, J. Gosling, D. Holmes. The Java Programming Language, 4th edition. 928 pages. Prentice Hall PTR. Aug, [2] Jeff Friesen. Learn Java for Android Development. 656 pages. Apress. Sep. 29, [3] Calix Success Story, Atego white paper. 2 pages. May PERC_CalixSuccess_e.pdf [4] Nortel Success Story, Atego white paper. 3 pages. Oct PERC_NortelSuccess_e.pdf [5] National Oilwell Varco Selects Aonix PERC for Java-based Robotic Drilling, RigZone. Sept. 25, available at news/article.asp?a_id=36470 [6] Andrew Winkler. The Modernization of the Aegis Fleet with Open Architecture. Keynote talk, Java Technologies Real-Time and Embedded Systems. York, UK. Sept. 28, [7] Atego Press Release: Thales Air Systems Selects Aonix PERC Ultra for Execution on Ground Radar Systems, Mar. 03, [8] K. Nilsen. Applying COTS Java Benefits to Mission-Critical Real-Time Software, Crosstalk: The Journal of Defense Software Engineering. pp June [9] R. Lutz. Software Engineering for Space Exploration, IEEE Computer, pp vol. 44, no. 10 (Oct. 2011). [10] R. McMillan, GM CTO Sees More Code on Future Cars, Computer World, Oct. 20, [11] E. Roberts. Resources to Support the Use of Java in Introductory Computer Science, ACM SIGCSE 04, Norfolk, Virginia, USA. March 3-7, [12] E. Roberts, K. Bruce, R. Cutler, J. Cross, S. Grissom, K. Klee, S. Rodger, F. Trees, I. Utting, F. Yellin. The ACM Java Task Force Project Rationale. 118 pages. Aug [13] Computer Science Curriculum 2008: An Interim Revision of CS 2001, Dec Endorsed by ACM Education Council, Nov Endorsed by IEEE Computer Society Educational Activities Board, Nov. 16, [14] Mitch Frazier, The BeagleBoard: $149 Linux System, The Linux Journal, Aug 6, linux-system
Understanding the Role of Real-Time Java in Aegis Warship Modernization. Dr. Kelvin Nilsen, Chief Technology Officer Java, Atego Systems
Understanding the Role of Real-Time Java in Aegis Warship Modernization Dr. Kelvin Nilsen, Chief Technology Officer Java, Atego Systems 2012, 2011 Atego. Atego. All All Rights Rights Reserved. Reserved.
More informationUpdating the contents and structure of Computer Engineering Larry Hughes Electrical and Computer Engineering Dalhousie University 18 November 2016
Introduction Updating the contents and structure of Computer Engineering Larry Hughes Electrical and Computer Engineering Dalhousie University 8 November 06 The Department of Electrical and Computer Engineering
More informationThe University of Reduced Instruction Set Computer (MARC)
The University of Reduced Instruction Set Computer (MARC) Abstract We present our design of a VHDL-based, RISC processor instantiated on an FPGA for use in undergraduate electrical engineering courses
More informationEMC ACADEMIC ALLIANCE
EMC ACADEMIC ALLIANCE Preparing the next generation of IT professionals for careers in virtualized and cloud environments. Equip your students with the broad and deep knowledge required in today s complex
More informationENHANCING INTELLIGENCE IN THE INTERNET OF THINGS The Business of Embedded Virtualization Alexander Damisch, Director, Industrial Vertical, Wind River
ENHANCING INTELLIGENCE IN THE INTERNET OF THINGS The Business of Embedded Virtualization Alexander Damisch, Director, Industrial Vertical, Wind River INNOVATORS START HERE. EXECUTIVE SUMMARY A key driver
More informationUNIVERSITY OF YORK POSTGRADUATE PROGRAMME SPECIFICATION
1 of 11 08/09/2014 14:47 Department of Electronics : Programme Specification - 2013/4 MSc : Digital Systems Engineering Table of Contents Course Aims and Specification Diagrammatic Module Structure Learning
More informationSan Jose State University - Department of Computer Science
San Jose State University - Department of Computer Science CS 151, Section 4 - Object-Oriented Design Instructor:Cay S. Horstmann Email: cay.horstmann@sjsu.edu Telephone: +1-408-924-5060 Office Hours:
More informationIntroduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2
Introduction to Real-time Systems Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Real-time systems deliver services while meeting some timing constraints Not necessarily fast,
More informationSan José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 3 & 4, Fall Semester, 2016
Course and Contact Information San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 3 & 4, Fall Semester, 2016 Instructor: Office Location:
More informationApproaches of using UML for Embedded System Design
Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches
More informationSoftware Reliability and Reusability CS614
Software Reliability and Reusability CS614 Assiut University Faculty of Computers & Information Quality Assurance Unit Software Reliability and Reusability Course Specifications2011-2012 Relevant program
More informationCopyright CAUSE This paper was presented at the 1993 CAUSE Annual Conference held in San Diego, California, December 7-10, and is part of the
Copyright CAUSE 1994. This paper was presented at the 1993 CAUSE Annual Conference held in San Diego, California, December 7-10, and is part of the conference proceedings published by CAUSE. Permission
More informationData-Centric Architecture for Space Systems
Data-Centric Architecture for Space Systems 3 rd Annual Workshop on Flight Software, Nov 5, 2009 The Real-Time Middleware Experts Rajive Joshi, Ph.D. Real-Time Innovations Our goals are the same but not
More informationLearning C language Programming with executable flowchart language
Paper ID #8872 Learning C language Programming with executable flowchart language Prof. Cho Sehyeong, Myong Ji University 1992 Ph.D. in Computer Science, Pennsylvania State University 1992-1999 Electronics
More informationAdaptive Internet Data Centers
Abstract Adaptive Internet Data Centers Jerome Rolia, Sharad Singhal, Richard Friedrich Hewlett Packard Labs, Palo Alto, CA, USA {jar sharad richf}@hpl.hp.com Trends in Internet infrastructure indicate
More informationRED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE.
RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE. Is putting Contact us INTRODUCTION You know the headaches of managing an infrastructure that is stretched to its limit. Too little staff. Too many users. Not
More informationCRITERIA FOR ACCREDITING COMPUTING PROGRAMS
CRITERIA FOR ACCREDITING COMPUTING PROGRAMS Effective for Reviews During the 2014-2015 Accreditation Cycle Incorporates all changes approved by the ABET Board of Directors as of October 26, 2013 Computing
More informationUpdated with information about the new certificate programs THE KU MSIT HANDBOOK 1
2016-2018 Updated with information about the new certificate programs THE KU MSIT HANDBOOK 1 THE KU MSIT HANDBOOK 2 MS in Information Technology (MSIT) School of Engineering The University of Kansas According
More informationShon Harris s Newly Updated CISSP Materials
Shon Harris s Newly Updated CISSP Materials WHY PURSUE A CISSP? Many companies are beginning to regard a CISSP certification as a requirement for their technical, mid-management, and senior IT management
More informationTitle Core TIs Optional TIs Core Labs Optional Labs. 1.1 WANs All None None None. All None None None. All None 2.2.1, 2.2.4, 2.2.
CCNA 2 Plan for Academy Student Success (PASS) CCNA 2 v3.1 Instructional Update # 2006-1 This Instructional Update has been issued to provide guidance on the flexibility that Academy instructors now have
More informationAC : EMBEDDED SYSTEMS ENGINEERING AREA OF SPECIALIZATION IN THE COMPUTER SCIENCE DEPARTMENT
AC 2007-1900: EMBEDDED SYSTEMS ENGINEERING AREA OF SPECIALIZATION IN THE COMPUTER SCIENCE DEPARTMENT Afsaneh Minaie, Utah Valley State College Reza Sanati-Mehrizy, Utah Valley State College American Society
More informationSan Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location:
More informationSecurity Management Models And Practices Feb 5, 2008
TEL2813/IS2820 Security Management Security Management Models And Practices Feb 5, 2008 Objectives Overview basic standards and best practices Overview of ISO 17799 Overview of NIST SP documents related
More informationFAA / CAAs Composite Meeting
FAA / CAAs Composite Meeting - Workforce Education Initiatives - Level II Safety Awareness Courses Larry Ilcewicz Lester Cheng FAA Composite Team Singapore, Singapore September 01-04, 2015 FAA / CAAs Composite
More informationCourse Design Document. IS436: Data Security and Privacy. Version 1.0
Course Design Document IS436: Data Security and Privacy Version 1.0 7 July 2014 Table of Content 1 Versions History... 3 2 Overview of Data Security and Privacy Course... 3 2.1 Synopsis... 3 2.2 Prerequisites...
More informationUNIVERSITY OF LOUISIANA AT LAFAYETTE
UNIVERSITY OF LOUISIANA AT LAFAYETTE STEP Committee Technology Fee Application SMART Classroom Podium for Hamilton Hall 226 Title Dr. Carl Richter Name of Submitter (Faculty or Staff Only) School of Geosciences
More informationCS/SE 153 Concepts of Compiler Design
San José State University Department of Computer Science CS/SE 153 Concepts of Compiler Design Section 1 Fall 2018 Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email: ron.mak@sjsu.edu
More informationSWsoft ADVANCED VIRTUALIZATION AND WORKLOAD MANAGEMENT ON ITANIUM 2-BASED SERVERS
SWsoft ADVANCED VIRTUALIZATION AND WORKLOAD MANAGEMENT ON ITANIUM 2-BASED SERVERS Abstract Virtualization and workload management are essential technologies for maximizing scalability, availability and
More informationCS/SE 153 Concepts of Compiler Design
San José State University Department of Computer Science CS/SE 153 Concepts of Compiler Design Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email: Website: Office Hours:
More informationAdding Formal Requirements Modeling to SysML
Adding Formal Requirements Modeling to SysML Mark R. Blackburn www.markblackburn.com Abstract. This paper seeks to raise awareness on the SCR extensions derived from industry use, and discusses how an
More informationPLC Laboratories The Next Generation
Session 3548 PLC Laboratories The Next Generation James A. Rehg, Associate Professor, Pennsylvania State University Abstract Programmable Logic Controllers (PLCs) were a novelty in the automotive industry
More informationExpert Reference Series of White Papers. 12 Virtualization Myths Debunked
Expert Reference Series of White Papers 12 Virtualization Myths Debunked 1-800-COURSES www.globalknowledge.com 12 Virtualization Myths Debunked Paul Simoneau, Global Knowledge Course Director, Network+,
More informationPROFESSIONAL MASTER S IN
I m in a new job I love. ERIC LAFONTAINE Service Operations Manager GE Healthcare Class of 2013 PROFESSIONAL MASTER S IN APPLIED SYSTEMS ENGINEERING GAIN A COMPETITIVE EDGE WITH A GEORGIA TECH DEGREE TODAY
More informationEight units must be completed and passed to be awarded the Diploma.
Diploma of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B
More informationWHITE PAPER ON TEKGARD S HEATING, VENTILATION AND AIR-CONDITIONING CAPABILITIES
Innovative Solutions for Extreme Conditions WHITE PAPER ON TEKGARD S HEATING, VENTILATION AND AIR-CONDITIONING CAPABILITIES We Work Everywhere So You Can Work Anywhere Prepared By: Joshua M. Carson Tekgard,
More informationRed Hat Virtualization Increases Efficiency And Cost Effectiveness Of Virtualization
Forrester Total Economic Impact Study Commissioned by Red Hat January 2017 Red Hat Virtualization Increases Efficiency And Cost Effectiveness Of Virtualization Technology organizations are rapidly seeking
More informationdeveloper.* The Independent Magazine for Software Professionals
developer.* The Independent Magazine for Software Professionals Improving Developer Productivity With Domain-Specific Modeling Languages by Steven Kelly, PhD According to Software Productivity Research,
More informationAcademic Reference Standards (ARS) for Electronics and Electrical Communications Engineering, B. Sc. Program
Academic Reference Standards (ARS) for Electronics and Electrical Communications Engineering, B. Sc. Program Faculty of Electronic Engineering Menoufya University MARCH 2015 1 st Edition Contents Introduction.....2
More informationNew Zealand Certificate in Regulatory Compliance (Core Knowledge) (Level 3)
New Zealand Certificate in Regulatory Compliance (Core Knowledge) (Level 3) If your staff need to learn the basics about regulatory compliance in New Zealand, then this is the paper for them. This qualification
More informationITSS Model Curriculum. - To get level 3 -
ITSS Model Curriculum - To get level 3 - (Corresponding with ITSS V3) IT Skill Standards Center IT Human Resources Development Headquarters Information-Technology Promotion Agency (IPA), JAPAN Company
More informationCOMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN
COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN YEAR 1, SEMESTER 1 YEAR 1, SEMESTER 2 Composition I 3 Composition II 3 Calculus I 5 Calculus II 5 Humanistic (Religion) 3 Physics I 5 Total Wellness 2 Statistics
More informationCode Harvesting with Zeligsoft CX
Code Harvesting with Zeligsoft CX Zeligsoft November 2008 Code Harvesting with Zeligsoft CX Code harvesting with component modeling increases software reuse and improves developer efficiency for embedded
More informationUnderstanding the Open Source Development Model. » The Linux Foundation. November 2011
» The Linux Foundation Understanding the Open Source Development Model November 2011 By Ibrahim Haddad (PhD) and Brian Warner, The Linux Foundation A White Paper By The Linux Foundation This paper presents
More informationINCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM
INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM Charles S. Saxon, Eastern Michigan University, charles.saxon@emich.edu ABSTRACT Incorporating advanced programming
More informationIron Networks, Inc. Turnkey Converged Infrastructure-as-a-Service Platforms
Iron Networks, Inc. Turnkey Converged Infrastructure-as-a-Service Platforms Iron Networks builds turnkey converged cloud infrastructure platforms on industry-standard hardware that are optimized for faster,
More informationHETEROGENEOUS SYSTEM ARCHITECTURE: PLATFORM FOR THE FUTURE
HETEROGENEOUS SYSTEM ARCHITECTURE: PLATFORM FOR THE FUTURE Haibo Xie, Ph.D. Chief HSA Evangelist AMD China OUTLINE: The Challenges with Computing Today Introducing Heterogeneous System Architecture (HSA)
More informationThe ECE Curriculum. Prof. Bruce H. Krogh Associate Dept. Head.
The ECE Curriculum Prof. Bruce H. Krogh Associate Dept. Head krogh@ece.cmu.edu 1 Freshman year ECE Core Courses 18-100 Introduction to Electrical and Computer Engineering physical devices analog circuits
More informationInfrastructure with intelligence
Intelligent infrastructure for software-defined data centers Infrastructure with intelligence Business continuity, lower costs and optimal operational performance www.eaton.eu/data-centre-management Intelligent
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Section 1 (Class) Sections 2 and 3 (s) Fall 2018 Course and Contact Information Instructor: Ron Mak Office Location:
More informationASSIUT UNIVERSITY. Faculty of Computers and Information Department of Information Technology. on Technology. IT PH.D. Program.
ASSIUT UNIVERSITY Faculty of Computers and Information Department of Information Technology Informatiio on Technology PhD Program IT PH.D. Program Page 0 Assiut University Faculty of Computers & Informationn
More informationSANS/REN-ISAC PARTNERSHIP AGGREGATE BUY PROGRAM
SANS/REN-ISAC PARTNERSHIP AGGREGATE BUY PROGRAM www.sans.org/partnership/education SANS s mission is to ensure that InfoSec practitioners in critical organizations have the skills needed to protect national
More informationOracle Exadata Statement of Direction NOVEMBER 2017
Oracle Exadata Statement of Direction NOVEMBER 2017 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
More informationSoftware Architecture and Engineering Introduction Peter Müller
Software Architecture and Engineering Introduction Peter Müller Chair of Programming Methodology Spring Semester 2018 1. Introduction Software Failures 2 1. Introduction 1.1 Software Failures 1.2 Challenges
More informationFITC Institute Final Report Appendix K. Curriculum Analysis Report: Florida State University Computer Science Program
FITC Institute Final Report Appendix K Curriculum Analysis Report: June 9, 2015 Chandrahasa Ambavarapu, Graduate Research Assistant Jinxuan Ma, Ph.D., Post-Doctoral Researcher Heather Kelleher, Graduate
More informationCTE Program Proposal. NAME OF COLLEGE: Bakersfield College. FACULTY CONTACT: Creighton Magers DATE: 11/19/2015
CTE Program Proposal NAME OF COLLEGE: Bakersfield College FACULTY CONTACT: Creighton Magers DATE: 11/19/2015 PROGRAM NAME: CompTIA Certificate of Achievement New Program Proposal Program Revision Proposal
More informationBoca Raton Community High School AP Computer Science A - Syllabus 2009/10
Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,
More informationSECURITY TRAINING SECURITY TRAINING
SECURITY TRAINING SECURITY TRAINING Addressing software security effectively means applying a framework of focused activities throughout the software lifecycle in addition to implementing sundry security
More informationTEL2813/IS2820 Security Management
TEL2813/IS2820 Security Management Security Management Models And Practices Lecture 6 Jan 27, 2005 Introduction To create or maintain a secure environment 1. Design working security plan 2. Implement management
More informationSchool of Engineering and Computational Sciences
Catalog: Undergraduate Catalog 2012-2013 [Archived Catalog] Title: School of Engineering and Computational Sciences School of Engineering and Computational Sciences David Donahoo, B.S., M.S. Interim Dean,
More informationThe Hidden Costs of Free Database Auditing Comparing the total cost of ownership of native database auditing vs. Imperva SecureSphere
Comparing the total cost of ownership of native database auditing vs. Imperva SecureSphere Executive Summary To achieve compliance for regulatory mandates, many organizations turn to the free auditing
More information7 Things ISVs Must Know About Virtualization
7 Things ISVs Must Know About Virtualization July 2010 VIRTUALIZATION BENEFITS REPORT Table of Contents Executive Summary...1 Introduction...1 1. Applications just run!...2 2. Performance is excellent...2
More informationUnderstanding Virtual System Data Protection
Understanding Virtual System Data Protection Server virtualization is the most important new technology introduced in the data center in the past decade. It has changed the way we think about computing
More informationAutomated Firewall Change Management Securing change management workflow to ensure continuous compliance and reduce risk
Automated Firewall Change Management Securing change management workflow to ensure continuous compliance and reduce risk Skybox Security Whitepaper January 2015 Executive Summary Firewall management has
More informationMSc(IT) Program. MSc(IT) Program Educational Objectives (PEO):
MSc(IT) Program Master of Science (Information Technology) is an intensive program designed for students who wish to pursue a professional career in Information Technology. The courses have been carefully
More informationFundamental Shift: A LOOK INSIDE THE RISING ROLE OF IT IN PHYSICAL ACCESS CONTROL
Fundamental Shift: A LOOK INSIDE THE RISING ROLE OF IT IN PHYSICAL ACCESS CONTROL Shifting budgets and responsibilities require IT and physical security teams to consider fundamental change in day-to-day
More informationScalable Software Engineering What is it? Why and How?
Scalable Software Engineering What is it? Why and How? S. C. Kothari Electrical & Computer Engineering Department Iowa State University Contact: kothari@iastate.edu, 515-441-4412 January 25, 2008 Copyright
More informationThe Essentials of Digital Accessibility: Making Instructional Materials and Websites Accessible to Persons with Disabilities
1 The Essentials of Digital Accessibility: Making Instructional Materials and Websites Accessible to Persons with Disabilities Susan Burgess Chief Compliance Officer Office of Ethics and Compliance sburge15@uncc.edu
More informationCS 307: Software Engineering. Lecture 10: Software Design and Architecture
CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office
More informationDDoS: STRATEGIES FOR DEALING WITH A GROWING THREAT
DDoS: STRATEGIES FOR DEALING WITH A GROWING THREAT 01. EXECUTIVE SUMMARY This report summarizes recent research on distributed denial of service (DDoS) attacks, which looks at data collated recently and
More informationSchool of Engineering & Computational Sciences
Catalog: Undergraduate Catalog 2014-2015 [Archived Catalog] Title: School of Engineering and Computational Sciences School of Engineering & Computational Sciences Administration David Donahoo, B.S., M.S.
More informationAn Oracle White Paper June Enterprise Database Cloud Deployment with Oracle SuperCluster T5-8
An Oracle White Paper June 2013 Enterprise Database Cloud Deployment with Oracle SuperCluster T5-8 Introduction Databases form the underlying foundation for most business applications by storing, organizing,
More informationDiploma Of Computing
Diploma Of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B
More informationComputer Networks IT321
Computer Networks IT321 CS Program 3 rd Year (2 nd Semester) Page 1 Assiut University Faculty of Computers & Information Computer Science Department Quality Assurance Unit Computer Networks Course Specifications
More informationSyllabus Instructors:
Introduction to Real-Time Systems Embedded Real-Time Software Lecture 1 Syllabus Instructors: Dongsoo S. Kim Office : Room 83345 (031-299-4642) E-mail : dskim@iupui.edu Office Hours: by appointment 2 Syllabus
More informationA comparison of computer science and software engineering programmes in English universities
A comparison of computer science and software engineering programmes in English universities Meziane, F and Vadera, S Title Authors Type URL Published Date 2004 A comparison of computer science and software
More informationCourse list for the Bachelor of Computer Science in INFORMATION SYSTEM
Course list for the Bachelor of Computer Science in INFORMATION SYSTEM Course Objectives: Preparing graduates with knowledge, skills and competencies in the field of information systems, especially in
More informationRaytheon Mission Architecture Program (RayMAP) Topic 1: C2 Concepts, Theory, and Policy Paper #40
Raytheon Mission Architecture Program (RayMAP) Topic 1: C2 Concepts, Theory, and Policy Paper #40 Dale Anglin Erik Baumgarten John Dinh Mark Hall Bert Schneider May 13, 2008 Cleared for public release
More informationEDUCATION RESEARCH EXPERIENCE
PERSONAL Name: Mais Nijim Gender: Female Address: 901 walkway, apartment A1 Socorro, NM 87801 Email: mais@cs.nmt.edu Phone: (505)517-0150 (505)650-0400 RESEARCH INTEREST Computer Architecture Storage Systems
More informationModel Curriculum for K-12 Computer Science: Draft Report of the ACM K-12 Task Force Curriculum Committee*
Model Curriculum for K-12 Computer Science: Draft Report of the ACM K-12 Task Force Curriculum Committee* Allen Tucker (Chair) - Bowdoin College Fadi Deek - New Jersey Inst. of Technology Jill Jones -
More information10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.
10 Steps to Building an Architecture for Space Surveillance Projects Eric A. Barnhart, M.S. Eric.Barnhart@harris.com Howard D. Gans, Ph.D. Howard.Gans@harris.com Harris Corporation, Space and Intelligence
More informationHP StorageWorks LTO-5 Ultrium tape portfolio
HP StorageWorks LTO-5 Ultrium tape portfolio Business white paper the gap between your current tape infrastructure capability and today s business demands. Table of contents Executive summary.............................................
More informationINFORMATION TECHNOLOGY NETWORK ADMINISTRATOR ANALYST Series Specification Information Technology Network Administrator Analyst II
Adopted: July 2000 Revised : April 2004; August 2009; June 2014; February 2018 INFORMATION TECHNOLOGY NETWORK ADMINISTRATOR ANALYST Series Specification Information Technology Network Administrator Analyst
More informationAn Effective Methodology for an Upper-level Fundamentals of Database Systems Course
An Effective Methodology for an Upper-level Fundamentals of Database Systems Course Charles L. McDonald, Jr., Ph.D. Texas A & M University Texarkana Charles.McDonald@tamut.edu Theresa McDonald, Ph.D. Texarkana
More informationA Comparative Study of Teaching Forensics at a University Degree Level
A Comparative Study of Teaching Forensics at a University Degree Level Martin Mink University of Mannheim, Germany IMF 2006, Stuttgart October 19 Joint Work Laboratory for Dependable Distributed Systems
More informationHow to Evaluate a Next Generation Mobile Platform
How to Evaluate a Next Generation Mobile Platform appcelerator.com Introduction Enterprises know that mobility presents an unprecedented opportunity to transform businesses and build towards competitive
More informationDescriptions for CIS Classes (Fall 2017)
Descriptions for CIS Classes (Fall 2017) Major Core Courses 1. CIS 1015. INTRODUCTION TO COMPUTER INFORMATION SYSTEMS. (3-3-0). This course provides students an introductory overview to basic computer
More informationLevel: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)
Course Title: Software Engineering Course No. : ICT Ed 528 Nature of course: Theoretical + Practical Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) 1. Course Description The
More informationStandard Course Outline IS 656 Information Systems Security and Assurance
Standard Course Outline IS 656 Information Systems Security and Assurance I. General Information s Course number: IS 656 s Title: Information Systems Security and Assurance s Units: 3 s Prerequisites:
More informationThe COE Department. Sadiq M. Sait, Ph.D. Department of Computer Engineering
The COE Department Sadiq M. Sait, Ph.D sadiq@kfupm.edu.sa Department of Computer Engineering College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals Dhahran, Saudi Arabia
More informationA Standards-Based Integration Platform for Reconfigurable Unmanned Aircraft Systems
June 2011 A Standards-Based Integration Platform for Reconfigurable Unmanned Aircraft Systems Edwin de Jong, Ph.D. US HEADQUARTERS Real-Time Innovations, Inc. 385 Moffett Park Drive Sunnyvale, CA 94089
More informationValidation Suites vs. Validation Kits
Validation s vs. Validation s A Side by Side Comparison Validated Software Corporation (VSC) offers a set of turnkey certification products for Micrium s µc/os real-time operating system (RTOS) that are
More informationIntroducing Computer Systems from a Programmer s Perspective
Introducing Computer Systems from a Programmer s Perspective Randal E. Bryant Carnegie Mellon University Computer Science Randy.Bryant@cs.cmu.edu David R. O Hallaron Carnegie Mellon University Computer
More informationChartered Membership: Professional Standards Framework
Chartered Membership: Professional Standards Framework Foreword The Chartered Institute of Architectural Technologists (CIAT) is the lead professional body for Architectural Technology and the UK Competent
More informationDoctoral Studies and Research Proposition. Diversity in Peer-to-Peer Networks. Mikko Pervilä. Helsinki 24 November 2008 UNIVERSITY OF HELSINKI
Doctoral Studies and Research Proposition Diversity in Peer-to-Peer Networks Mikko Pervilä Helsinki 24 November 2008 UNIVERSITY OF HELSINKI Department of Computer Science Supervisor: prof. Jussi Kangasharju
More informationTraditional PBX & Hosted VOIP Technology: The Key Differences & What They Mean For Your Business
Traditional PBX & Hosted VOIP Technology: The Key Differences & What They Mean For Your Business CONTENTS Summary... 3 What s The Buzz About?... 3 What It Means For Businesses... 3 What It Means For Employees...
More informationSecurity Survey Executive Summary October 2008
A government technology Executive Survey Summary: HP Security Survey Executive Summary October 2008 Produced by: In Partnership With: Introduction Information is paramount to the survival of government
More informationJava Without the Jitter
TECHNOLOGY WHITE PAPER Achieving Ultra-Low Latency Table of Contents Executive Summary... 3 Introduction... 4 Why Java Pauses Can t Be Tuned Away.... 5 Modern Servers Have Huge Capacities Why Hasn t Latency
More informationSCHOOL OF APPLIED HANDS ON. HIGH VALUE. TECHNOLOGY LIVE AND ONLINE COURSES
G R A D U A T E P R O G R A M S SCHOOL OF APPLIED TECHNOLOGY HANDS ON. HIGH VALUE. LIVE AND ONLINE COURSES At IIT School of Applied Technology (SAT) our focus is on the future. Our distinctive programs
More informationNSC Driver Safety Training
NSC Driver Safety Training LIVE Defensive Driving Courses: INSTRUCTOR CERTIFICATION National Safety Council Defensive Driving Course instructors are the core to our proven success and global recognition.
More informationTELEMETRY SYSTEMS OF THE FUTURE
TELEMETRY SYSTEMS OF THE FUTURE Item Type text; Proceedings Authors Rauch, William D. Publisher International Foundation for Telemetering Journal International Telemetering Conference Proceedings Rights
More information