|
The
IEEE San Fernando Valley
Section - Computer & Communications Chapter The IEEE Metro Los Angeles and Buenaventura Sections · CSUN - IEEE Student Chapter · CSULA - College of Engineering, Computer Science and Technology · CSUCI - Math, Applied Physics, and Computer Science Departments · California Lutheran University - Computer Science Department
|
|
Welcome you to the 2009 IEEE-JPL Software Seminar Date: Saturday, June 13, 2009
Place: Theodore von Karman Auditorium 4800 Oak Grove Drive, Pasadena, CA 91109.
Info: Dr. Narisa Chu, narisa.chu@ieee.org Dr. Joseph Boisvert, joseph.c.boisvert@boeing.com
RSVP: Irena Kageorgis, irenakageorgis@ieee.org by 6/1/09 Include Citizenship; seats limited to the 1st 100.
Note: All attendees are required to bring a government issued ID to this event (Non-US Citizens must have a valid passport)
Fee (lunch included): $35/IEEE Member, $45/Non-IEEE, $15/Student
JPL Organizer: Mr. Leonard J. Reder
JPL has invited members of the IEEE Chapters on Computer and Communications from San Fernando Valley Section, Metro Los Angeles Section, Buenaventura Section, and area universities including CSUN, CSULA, CSUCI and Cal Lutheran to an all day JPL Software Seminar. The Program is intended for IEEE Members, Software Professionals, Software Enthusiasts, but the invitation is extended to all interested parties.
The seminar will be held in the Theodore von Karman Auditorium at JPL. The day will start with a general overview of what JPL is and the main mission it executes as a non-profit research organization under contract to NASA. A series of talks on various software research and application development will be given by JPL technical staff. Guests will be escorted for tour of JPL. The tour will include the historic spacecraft operations facility at JPL and the spacecraft assembly facility where the Mars Science Laboratory Spacecraft and Rover are currently being assembled and tested for launch in 2011. A program is given as follows.
Program Intended Audience: IEEE Members, Software Professionals, Software Enthusiasts
|
|
![]() |
Biography for Mr. Leonard . Reder Leonard Reder has been employed by the Jet Propulsion Laboratory for over 10 years as a Senior Software Engineer. He started at JPL by contributing software to the Keck Interferometer Project. He implemented high speed closed loop control of optical delay lines, created auto‐alignment software with unique user interfaces, and developed a high‐level science sequencer application using UML modeling techniques. He was the lead developer of the automatic flight software interface code generation tool set for the Mars Science Laboratory mission. He has developed embedded real‐time detection display systems for both aircraft and ground applications for U. S. Navy programs. He has also worked in areas of media‐workflow for the entertainment industry, machine vision and learning, and science data management and calibration. Currently he designs software and modeling solutions for the Lunar Surface Operations Simulation Rover Analysis, Modeling and Simulation and for the Autonomous Navigation of Unmanned Sea Vehicles efforts. His interests include software development techniques and processes, software modeling, software design patterns, real‐time image and DSP processing, autonomy, and media technologies. Reder earned an MSEE degree from the University of Southern California and a B.S. in Electronic Engineering from Cal Poly University at San Luis Obispo. |
![]() |
Talk 1 Abstract: NASA OCE Study on Flight Software Complexity The expanding role of flight software in NASA’s spacecraft has led to flight systems under development now that easily exceed a million lines of code. In 2007 the NASA Office of Chief Engineer (OCE) commissioned a multi ‐center study to bring forth technical and managerial strategies to address risks from growth in size and complexity of flight software. The motivation for the study grew from problems attributed to flight software in a variety of missions—in both pre‐launch and post‐launch activities—and concerns that such problems were growing. The study was tasked to examine the growth in flight software size and complexity, recommend ways to reduce and better manage complexity, and identify methods of testing complex logic. Part of the study focused especially on fault protection software because of its complexity. Study participants consisted of engineers and managers at Applied Physics Laboratory, Goddard Space Flight Center, Jet Propulsion Laboratory, Johnson Space Center, and Marshall Space Flight Center. This talk examines the growth in flight software, sources of increased complexity, and main findings and recommendations.Biography for Dr. Dan Dvorak Dan Dvorak is a principal engineer in the Systems and Software Division at JPL, with one foot in systems engineering and the other in software engineering. Much of his work has been about bridging the gap between the two disciplines through a common architecture that shapes both the systems analysis process and software design. Dan is currently PI for an R&D task to develop human ‐rated automation and control technology to ensure that robotic systems can work safely with astronauts. Prior to joining JPL in 1996, Dan worked at AT&T Bell Laboratories on a number of projects including a rule‐based extension to C++ and a system for monitoring the nation’s 4ESS electronic switching systems for long‐distance telephone traffic. Dan holds a Ph.D. in computer science from The University of Texas at Austin, an MS in computer engineering from Stanford University, and a BS in electrical engineering from Rose‐Hulman Institute of Technology. Dan’s interests include software architecture, autonomy and robotics, fault protection, and system software verification. |
![]() |
Talk 2 Abstract: State ‐Based Modeling and Automatic Code Generation for Communications ProtocolsToday's software systems have grown in complexity to the point where it can be difficult for a single person to predict the system ‐level impacts of updating any particular component. State charts enable us to visually express the desired system behavior, including all distinct states and how and when the system transitions from one state to another. While state diagrams are commonly used informally (and passively) in documentation, it is now clear that they can provide powerful assistance in the active, iterative process of system design.This talk will describe how state charts can 1) capture system design, 2) enable interactive testing and simulation of the system, and 3) be automatically converted into executable C/C++ code or a Promela model for model checking. This process will be illustrated using recent results from modeling the Proximity ‐1 (for short‐distance links) and LTP (for long‐distance links) communication protocols. The adoption of state‐based modeling techniques can fundamentally transform how communication protocols, and software systems, are designed, implemented, tested, and updated. This approach provides benefits across the board in terms of reduced cost and development effort, increased reliability and robustness, ease of conducting system updates, a direct path to applying model checking methods, and perhaps most importantly, an improved ability to communicate and understand system design.Biography for Dr. Kiri Wagstaff Kiri Wagstaff is a senior researcher in artificial intelligence and machine learning at the Jet Propulsion Laboratory. Her focus is on developing new machine learning and data analysis methods, particularly those that can be used for in situ analysis onboard spacecraft (orbiters, landers, etc.). She has developed several classifiers and detectors for data collected by instruments on the EO ‐1 Earth orbiter, Mars Pathfinder, and Mars Odyssey. The applications range from detecting dust storms on Mars to predicting crop yield on Earth. She has also worked on system modeling and automatic code generation for the Electra radios used by the Mars Exploration Rovers and Mars Reconnaissance Orbiter. She holds a Ph.D. in Computer Science from Cornell University and an M.S. in Geological Sciences from the University of Southern California. She also teaches courses in Machine Learning and Data Structures at California State University, Los Angeles. |
![]() |
Talk 3 Abstract: Introduction to Executable UML The Executable UML specification became an OMG Technology Recommendation in September 2008 and finalization is expected for September 2009. Before discussing practical applications of this specification, this talk will introduce the two key objectives of this specification:
The notion of computational completeness unifying these objectives has had a profound influence on the organization of the Executable UML specification. Whereas the 39 leaf packages in the UML Superstructure are organized according to layered package merge/import increments and dependencies, the 9 leaf packages in the Executable UML Abstract Syntax define complete syntactic units and defer package merge/import increment/dependency layering to the compliance levels. Albeit unconventional, this organization simplifies the conceptual package ‐level correspondences between abstract syntax and operational semantics and the relationships between operational semantics and the underlying axiomatic formalization.The second part of the talk will focus on the normative mapping from Java to UML Activity diagrams. Tool support for this mapping enables the reverse engineering of a hybrid Executable UML/Java model into a pure Executable UML model. A hybrid model defining an interpreter for a language is called computationally complete when it, as a hybrid model, can execute itself, as a reverse engineered pure Executable UML model. Biography for Dr. Nicolas Rouquette Nicolas Rouquette is a principal member of the technical staff at the Jet Propulsion Laboratory of the California Institute of Technology in Pasadena, California. He holds an engineering diploma from ESIEE in Paris and a Ph.D. in Computer Science from the University of Southern California. He is a member of NASA’s Engineering Safety Center’s Technical Discipline Team in software where he represents NASA’s interests at the OMG on the development and definition of the UML specification. He is key a contributor to the "Executable UML" specification for the OMG. Nicolas is a member of the IEEE and of the Association for Symbolic Logic and a senior member of the ACM. At JPL, Nicolas was the lead software engineer for the fault protection software for the Deep Space One mission where he pioneered an innovative approach to the agile development of spacecraft fault protection software in terms of high ‐level models expressed in terms of Matlab Stateflow charts and textual specifications. About a third of Deep Space One’s flight software came from Nicolas’ comprehensive code generation toolchain for all aspects of fault protection development, testing and operation. Nicolas has been a key member of the Mission Data System project at JPL where he pioneered advanced component‐oriented software development techniques and frameworks for flight software. In recent years, Nicolas’ attention has focused on infusing lightweight formal specification techniques to improve systems and software engineering practices. |
![]() |
Talk 4 Abstract: Component ‐Based, Run‐Time Flight Software ModificationMissions involving robotic space flight typically have a way to change the software that controls the flight system, or some part of it, such as an instrument, after launch. Usually this is accomplished by uplinking small sets of binary machine instructions and writing them to known locations in memory. We present an approach, used on the Aquarius mission, which involves replacing running components of, or adding components to, the running software at a higher logical level, specifically at the software architecture level, and on the C++ rather than machine ‐language level. This approach provides significant advantages in flexibility, robustness, reliability, and testability. We present the component‐based flight software (FSW) design features that enable these capabilities. We then discuss the approach used to verify the robustness and reliability of these techniques, and finally describe usages to date.Biography for Mr. Alex Murray Alex Murray is a senior software engineer with the Jet Propulsion Laboratory, California Institute of Technology. He has most recently led the development of the flight software for the Aquarius instrument. He has led and done software development for flight, ground, and simulation software for missions and for technology development projects at JPL. Previously he led and developed software for a variety of projects at TRW (now Northrop ‐Grumman), and he served as a system engineer for the European weather satellite agency, Eumetsat, as well as software engineer for the Dresdner Bank in Frankfurt, Germany. His experience includes embedded and flight software development, prototype and research development, OS development, AI, analysis and simulation tools, science and image processing applications, business and GUI applications, and databases. He holds BS and MS degrees in mathematics from The Ohio State University. |
![]() |
Talk 5 Abstract: An Architect Pattern for Goal ‐Based ControlTime ‐based command sequencing is the traditional paradigm for control of spacecraft and rovers in NASA’s robotic missions, but this paradigm has been increasingly strained to accommodate today’s missions. Goal‐based control is a new paradigm that supports time driven and event‐driven operation in a more natural way and permits a melding of sequencing and fault protection into a single control paradigm. This paper describes one approach to goal‐based control as an architectural pattern in terms of purpose, motivation, structure, applicability, and consequences. This paper is intended to help flight and ground software engineers understand the new paradigm and how it compares to time‐based sequencing.Biography for Mr. David Wagner David Wagner joined the Jet Propulsion Laboratory in 1980, after receiving a B.S. in Aerospace Engineering from the University of Cincinnati. He subsequently received an M.S. in Aerospace Engineering from the University of Southern California in 1984. Beginning with the Voyager project, he has contributed to diverse elements of ground and flight software systems, including the design and development of the data management elements of JPL’s current ground data system. Later, his interests turned toward software frameworks, development process, and control system architectures to facilitate the design and development of new systems. As a principal developer of the Mission Data System and its goal ‐oriented control system architecture, he helped to define and document reusable software patterns that enable robust goal‐oriented control. His work has contributed to several planetary projects including Voyager, Galileo, Cassini, Magellan, and Mars Pathfinder, and the Mars Science Laboratory. |
![]() |
Talk 6 Abstract: Let’s Look at the Logs: Low ‐Impact Runtime VerificationRuntime verification as a field faces many challenges, perhaps most obviously the need to keep instrumentation overheads low (especially in the real ‐time critical systems that might be most important to monitor), and the general difficulty of devising expressive but user‐friendly specification languages. In this paper, we show that for many systems, in‐place logging and telemetry provides a satisfactory basis for "runtime" verification, where the overhead is already included in system design. While this approach prevents the autonomous reaction to problems possible with traditional runtime monitoring, it provides a powerful tool for test automation, control, and debugging ‐ in our case, analysis of spacecraft telemetry by ground operations teams. The "event‐based" viewpoint natural to log analysis helps us address the second challenge, with an expressive pattern language inspired and developed in collaboration with test engineers at NASA's Jet Propulsion Laboratory. We present case studies from use of our tool by flight software test engineers for the Mars Science Laboratory mission at JPL.Biography for Dr. Klaus Havelund Klaus Havelund has worked as a researcher in Computer Science at NASA for more than a decade, first at NASA Ames Research Center in Mountain View, California, and more recently, since 2006, at the Jet Propulsion Laboratory. His main expertise and interest is technology for test and verification of software. At JPL he has participated in several projects related to this subject, including a monitoring framework for Kennedy Space Center’s new CEV launch platform, a system for verification of autonomous planning models, verification of complex algorithms, and a monitoring framework for testing flight software for the Mars Science Laboratory rover. Havelund has a Ph.D. from the University of Copenhagen, Denmark, performed at Ecole Normale Supérieure, Paris, France. He has written numerous papers and participated in the reviewing process and organization of many workshops and conferences in the academic community. Biography for Dr. Alex Groce Alex Groce received his PhD in Computer Science from Carnegie Mellon University in 2005. Since graduating, he has been a member of JPL's Laboratory for Reliable Software. His research focuses on automated testing and model checking, recently applied to JPL flight software, especially file systems. From June 2008 to January of 2009 he served as lead developer and designer for the Mars Science Laboratory's Flight Software Internal Test (FIT) team. He is the author of numerous conference, journal, and workshop publications. In September 2009 he will be leaving JPL to start as an assistant professor at Oregon State University.
|