300 likes | 332 Views
Discover Rational Apex Embedded for Ada software development & debugging in embedded systems. Efficient, powerful tools for managing system changes and complexity.
E N D
Solutions for Deploying Embedded Ada Software Eddie GlennSr. Product Manager,Rational Apex Embedded/TestMate/VADS
Agenda • About Rational Software • Rational Apex Embedded • Rational Test Real Time
About Rational Software One of the world’s largest software companies • Founded in 1981 • 3,500+ employees • $815M revenue FY ended 3/01 • 65+ worldwide locations • $160 million R&D spending • Over 500,000 users 96 of the Fortune 100rely on the Rational solution
Rational: Solutions for a World That Runs on Software . . . . . . . . . . . . . . . . . . . . . . . . . Infrastructure Business Applications • Data communications • Telecommunications • Operating systems • Middleware • Financial services • Healthcare • Insurance • Retail • Transportation • Travel • Energy Devices and Embedded Systems • Military/Aerospace • PDAs and mobile phones • Medical devices • Automotive • Industrial automation • Process control
Today’s World Runs on Embedded Software . . . . . Medical Telecom . . . . . . . . . . • Scanners • Surgical Lasers • Pace-makers • Pagers • Phones • Switches • Routers . . . . . . . . . . Aerospace / Military Automotive • Aircraft • Spacecraft • Missiles • Radar, Telematics • Body Electronics • Powertrain • Chassis
Rational Solutions for the Embedded Market • Rational Apex for Ada development • Rational Test Real Time for unit testing & coverage analysis of Ada, C/C++ • Rational Rose for Ada for UML modeling & forward/reverse engineering Ada • Rational ClearCase for version control • Rational ClearQuest for change management • Rational RequisitePro for requirements management • Rational Unified Process – software engineering best practices
Rational Apex Embedded ...the foundation for a complete lifecycle suite of tools for Ada/C/C++ software engineers building embedded, real-time, architecture-centric applications using an Iterative development process.
Apex is more than just a compiler... Compilation Integrator Integration to other products TestMate, SoDA, Rose, Ada Analyzer/Repair, Test RT etc. Open integration to any Ada compilers Build control Editor/ browser Incremental compiler Debugger Release control ASIS Interface Persistent Program Representation Version control Configuration control Architectural control Rational Apex
Apex Family Common Features • Apex Native and Apex Embedded share look, feel, and features: • Complete Ada 95 and Ada 83 implementations • Subsystems • Optimal Recompilation of Ada • Optimizing compiler • Strong symbolic debugger • User-configurable run-time system • Analysis tools
Managing System Complexity • Apex uses Rational Subsystems™ to help partition a system along architectural boundaries • Subsystems are analogous to the Ada package or C++ Class, but at a much higher level • UML Packages can be mapped directly to subsystems • Subsystems can define interfaces that are enforced by the compilation system • Subsystems also form a natural boundary for compilation and configuration management operations
Scaling up to meet the challenge • Apex is designed to support development of systems of any size • The subsystem mechanism allows you to represent the physical architecture for any systems • From the smallest - 1 Subsystem • To the largest - 100’s of Subsystems • Apex itself is over 320 subsystems with 1,500,000+ lines of code • The Apex Ada compilation system supports incremental compilation so that only changed units get recompiled • Greatly reduces system rebuild time • Facilitates rapid turnaround when testing changes
Managing System Changes • Understanding what needs to be changed and the impact of that change • Architectural Impact • Recording and managing the change process • Who, What, When, Why There are two distinct problem areas when managing system changes
The impact of change • When the Apex compilation system executes it saves the intermediate representation of the program • This representation is an accurate record of the dependencies within the program • Accurate to the individual declaration/statement level • This information can be used to perform dynamic queries about the program • “Where is this name defined?” • “Where is this type used?” • “Where is the specification for that package?”
Recording and managing the change process • Apex has direct links into a configuration management system • ClearCase on both UNIX and NT • Summit/CM on UNIX • Developers can perform the following kinds of operations directly from within the editor • Check In • Check Out • Show Differences
Efficient, Effective Debugging • The Rational debugger reduces the cost of error isolation and detection • Symbolic debugging without recompilation • Including optimized code • Debugs Ada, C, C++, and Assembly • Consistent user interface for native and embedded debugging • Complete Ada support: generics, exceptions, tasking • Supports transparent use of simulators and emulators
Code Analysis Tools in Apex • Statistical Profiling • Measures where an application spends the most time executing • Useful for tracking down performance bottlenecks • Tasking Analyzer • Runtime event logging • User-defined event logging • Configurable logging parameters • Interactive debugger display of events • Interactive visualization of events • Ada Analyzer • Static code analyzer offering 100’s of different metrics and checks – uses ASIS
Apex Embedded In More Detail • Supported target architectures: • PowerPC, MIPS, x86/Pentium, RH-32, M68K • Supported RTOS’s • Rational Exec, VxWorks, LynxOS • Supported hosts • Solaris, MS Windows
Rational’s Ada Runtime Environment • A common Ada runtime environment for all Rational Ada products (native and embedded) • Interoperable for application portability • Fully supports Ada • representation clauses, predefined language pragmas, implementation-dependent characteristics, and more • Optimized Ada tasking support • User-tailorable Runtime selection
Customizable Runtime Options • Three runtime options for Ada tasking • Rational Exec • Layered on Wind River’s VxWorks • Layered on LynuxWork’s LynxOS
Ada Application Portability Rational Exec Rational Exec Rational Exec Rational Exec Rational Micro Kernel LynxOS Unix VxWorks Lynx Tornado Self Cross Self-hosted and embedded applications • Application-specific run-time • Maximum portability • Full interoperability • Host-based testing
Rational Exec • Portable between native and embedded applications • Ada tasking extensions • Semaphores • Mutual exclusion (mutexes) and condition variables • Mailboxes • Interrupt handling • User-customizable memory management
Rational Exec • Multiple runtime archives support various levels of Ada tasking support: • Full Ada tasking -> no tasking at all • This is determined automatically based on the features of Ada used by the application program • Or can be manually-controlled
Rational Exec - “M.A.R.K.” • “M.A.R.K.” - Minimal Ada Runtime Kernel • Designed explicitly for safety-critical applications that require vigorous testing • Delivered in source code form instead of archive libraries (the way the regular Apex runtime is delivered) • Easier to control which parts are used by the user’s application • Easier to test • Easy for the customer to customize & rebuild • Small, compact Ada runtime: ~5000 LOC • Linked into the user’s application instead of a separately downloaded kernel
Rational Linker Options • Selective cross linking removes unused subprograms and data • Normal cross linkers can remove unused object files, but the Apex Embedded cross-linker can remove unused subprograms and data within an object file • Rational Apex Embedded Patching Linker • Designed for space applications where the software is updated remotely over a relatively slow communication channel • Two versions of a linked application to be compared and the differences between the two versions to be extracted • The differences between the two application are then uploaded/reprogrammed to the device
Rational Test RealTime • Automated testing at all levels of complexity – from the simplest function to distributed systems • Code coverage measurements • Run-time visual tracing • Direct links between code, test, and visual model • Full regression testing All in one toolFor any IDE Hosted on any target
Rational Test Real Time • Low-overhead, versatile target deployment technology • Compiler-independent high level scripting API • Debugger-independent test harness deployment • Target-independent result upload and report generation • White-box and black-box testing for all your components • Unit and integration testing of C functions or Ada functions and procedures • Unit and integration testing • Plus runtime observation tools • Code coverage measurements – statement, decision, MCDC
Rational Solutions for Embedded Market • Rational Apex for Ada development • Rockwell Collins, LLNL, TRW, Boeing, Northrup Grumman, Lockheed Martin, BAE, General Dynamics… • Rational ClearCase for version control • NASA, Lockheed Martin, Ericsson • Rational ClearQuest for change management • Philips, Telstra Ltd., Schneider • Rational RequisitePro for requirements management • Logica, Applied Information Sciences • Rational Unified Process • ARINC, Space Systems Integration, DOD
Rational’s Mission . . . . . . . . . . . . . . . . . . . . . . . . . “To ensure the success of customers who depend on developing or deploying software”