1. Reduce the Time, Cost and Risk of Developing Profitable Products and Systems Turning Product Development Into Competitive Advantage : IBM Rational Solutions for Systems and Software Engineering
2.
3. Smarter Products and Services Delivery will require new investments in software and systems Connect multiple products and services into a “system of systems” to deliver unique value Leverage systems engineering to accelerate time to market, improve quality and reduce costs Develop a core competency in software delivery to produce products that are differentiated
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17. Rational Solutions for Systems and Software Engineering Built on a core product set QUALITY MANAGEMENT Achieve “quality by design” with an integrated, automated testing process Rational Quality Manager ARCHITECTURE & DESIGN Use modeling to validate requirements, architecture and design throughout the development process Rational Rhapsody REQUIREMENTS MANAGEMENT Manage all system requirements with full traceability across the lifecycle Rational DOORS COLLABORATION, PLANNING & CHANGE MANAGEMENT Collaborate across diverse engineering disciplines and development teams Rational Team Concert Open Services for Lifecycle Collaboration
23. Rational Core Components for Systems and Software Engineering Manage, Analyze & Refine Requirements Apply Strategic Reuse Achieve Quality by Design Standards-Based Development Develop Optimized Software Collaborate in Real Time
24.
25.
26.
27.
28.
29.
Notas del editor
Today, we're going to see how IBM can help businesses deliver smarter products that are intelligent, instrumented, and interconnected to help build up a Smart Planet. We'll see how consumers and businesses are connecting in new ways with the smarter products, and how the resulting intelligence helps you make better decisions, use resources more efficiently, and improve the quality of life. But we'll also see how the smart products have very profound implications for manufacturers and how they need to change their business models in order to deliver the systems and software components. And finally, we'll see how IBM can provide the components and capabilities that are needed to help clients make this transformation. So, first of all, I'd like just to give a general overview of how the world is changing. Businesses today really are facing a major rate of change. If you look at it, customer needs and customer demands are getting increasingly complex and increasingly specific, increasingly unique. Every customer expects a very specific user experience that's designed for him. You need to make better decisions because the market's changing all the time. You need to make the right decision for your business because that can be a question of survival for your company and for your job . The market's changing all the time, new emerging economies across the world, new technologies to leverage, new market shares to be won. And organizations really need to deliver innovation in order to remain relevant in the marketplace. Changes are everywhere: changes in requirements, in regulations, in customer needs in the competitive landscape, meaning that you need agility across your business. The world is global. The world is flat. How can I leverage resources spread across the world? How can I address customer needs across the world as well? At the same time, the world has become more and more regulated. How can I make sure I meet the regulations appropriate to my industry, appropriate to the different countries I'm selling in or developing in? And quality today is really a key point that we need to excel at , and we’ll get into those details. And successful businesses will be those that effectively deliver innovation while controlling custom risk . And one example, for instance, is – just pick the iPhone, for instance. The iPhone has really taken not only the phone industry, but the handheld industry by storm. One billion camera phones were sold in 2007, which was the double of that in 2006. And, if you just look at a mobile phone today – well, it's no longer just a phone. It delivers email, music, you can surf the Web, it's got a camera, GPS, applications you can download from a store, record video. It's getting to be more of a question of what you can't do with your handheld device. And just think – 10, 20 years ago, this really would have been science fiction. This would have been something out of Star Trek. And today, well, the market's evolving so fast that phones from two years ago are already yesterday's news. So, just think forward 10, 15, 20 years. What's going to be possible by 2019, for instance? How will this world evolve?
To stay competitive, companies must transform their business models. Three core competencies they will need are: Software delivery Systems engineering “ System of systems” 1) Software delivery is driving most of today’s innovation. Companies must invest in their software development and delivery capabilities to produce products that are differentiated. Many products look virtually the same on the outside, but the software function inside is what creates competitive advantage. IBM Rational provides an integrated platform for software delivery leveraging a full set of best-of-breed tools, methodologies and best practices. 2) Systems engineering must be done well and efficiently to get high quality products to market with the necessary speed. Gone are the days when it was all about the mechanical design. Today the software and electronics are providing the real innovation and value. The ability to integrate across engineering disciplines (mechanical, software, electronic, electric) is a key competitive advantage. IBM provides a full set of integrated best-of-breed systems engineering capabilities for engineering the “whole product,” including requirements engineering (Rational DOORS), change management and team collaboration (Rational Team Concert and other CCM tools), model-driven systems development (Rational Rhapsody), and quality management (Rational Quality Manager). 3) “Systems of systems” interconnect manufactured products with backend software applications to deliver significant new value to customers. S mart products are converging with conventional information technology to form revolutionary ecosystems that are permanently changing how we work, live and play. Manufacturing and software companies will remain competitive based on how well their products can be integrated into larger “systems of systems,” such OnStar, Google Maps, iTunes, or the smart electric grid. With these opportunities come significant challenges, as “systems of systems” cross multiple organizational, industry, and stakeholder boundaries. This trend presents significant opportunity for Rational and all of IBM to help customers overcome the business and technical issues associated with these large, complex, constantly changing systems.
So, building a systems competency is really a business-critical imperative in managing cost risk and the pursuit of innovation. When you look at the challenges faced by organizations, you see a variety of factors that add up to doom many projects and programs. Poor requirements engineering = failed projects Customer requirements are missed Capabilities not delivered due to cost/schedule overruns Paper-based and manual processes hinder efficiency Without automation, many processes are slow and unwieldy Impact analysis of changes can be time-consuming and expensive Complex architectures can be difficult to explain Lengthy textual descriptions can overwhelm those trying to transform them into deployable products Functionality is poorly distributed across components Each piece of the system has a role to play – the trick is to avoid overloading any one component when others can pick up the slack Complexity hinders systems efficiency and interoperability Hardware/software integration is often late Often waits until the design is done Mistakes and rework are very expensive Many organizations lack formalized practices Expertise is often in heads of “greybeards” and difficult to replace Difficult to attract and retain talent without defined practices and career paths When you add in the barriers most organizations face in terms of distributed teams and disciplines, it is easy to understand why so many companies struggle to provide the innovation they need to survive.
Complexity of systems is forcing a shift from document based approaches to model based systems, which are more capable of managing complexity via abstraction. Rather than relying on the organizational abilities of one or two key design team members, the design becomes centrally accessible to the entire team. The models then become the source of the entire design – meaning specifications, interface requirements are generated from the models, test plans can be derived from models, analysis and design can be based on models, and documentation can be automatically generated from the models.
Model Driven Systems Development improves systems development efforts by providing an explicit process for refining requirements into a robust system and its software. Over the next several slides, we will discuss how MDSD is applied to the needs of product teams and their clients. MDSD: Ensures that all requirements are fulfilled Employs models as the primary artifacts throughout systems development Facilitates improved communication among all stakeholders Provides a disciplined way to manage complexity through abstraction Improves quality through integration of testing with development Allows specification and development of software that controls the system and enables its use
A customer success story here to illustrate this – in this case, it's Eaton. Eaton have worked with IBM Rational to deliver a high - a fantastic innovation in stop-and-go traffic systems, hydraulic hybrid delivery vehicles, which have enabled them to reduce, by 60% to 70%, the fuel consumption in their systems, 40% reduction in CO2 emissions. And, to achieve this, not only did they use Requirements Management solutions, by Rational, as well as Change in Configuration Managements, but in particular, the high level prototyping and modeling solutions that we provide with Rational Rhapsody, which helps them try out, test, simulate multiple applications and then, generate the code directly into the system. So, reducing the cost of development, but also testing out new innovations thought to be as efficient as possible. “ The suite of Rational tools, including Rhapsody, DOORS, ClearCase and ClearQuest, provides Eaton an integrated software framework that allows us to deliver innovate products more quickly and efficiently .” Ram Ramakrishnan, Senior VP of Technology, Eaton Corporation Link to customer case study video on YouTube: http://www.youtube.com/watch?v=iNhsR_dh19k In hydraulic hybrid delivery trucks, the driveline is replaced completely by the hydraulic hybrid system. There is no conventional transmission in these vehicles. The energy is transferred from the engine to the drive wheels through fluid power. The vehicle uses hydraulic pumps and hydraulic storage tanks to store energy. This technology is well suited for medium to heavy-duty vehicles that stop frequently. A UPS delivery truck is a good example of an application for the hydraulic hybrid technology, since its duty cycle involves frequent stopping and braking. Rational software is at the heart of Eaton’s hydraulic hybrid delivery vehicle. Eaton uses Rhapsody, DOORS, ClearCase and ClearQuest in the design of the powertrain, for requirements management, software modeling, code generation, configuration management, change management and testing. The runtime code is automatically generated by Rhapsody is then installed in the vehicle as the logic that controls the powertrain – essentially the “brains” of the system. The Rational tools allow Eaton to model the system against various use cases to predict how the system will respond in different driving situations. Hydraulic hybrid vehicles are able to maximize fuel efficiency in three ways --- First is regenerative braking, or the ability to recover braking energy that is normally wasted and returning it to power the vehicle later. When the vehicle is braking, the system converts the kinetic energy of the vehicle to fluid power. This process can recover and reuse more than 70 percent of the energy normally wasted during braking. The second way that fuel economy is improved is that the engine is operated much more efficiently that in a typical drivetrain. There is no conventional transmission and driveshaft connecting the engine to the wheels, which frees up the engine to be operated at its most efficient point, which we call its “sweet spot.” The third way that fuel economy is improved is that the engine shuts off when not needed. Because a hybrid system has a secondary power source, the engine can be shut off during certain stages of operation and it is activated by the controller only when it is needed. As a result, in stop and go city driving, engine use can be substantially reduced.
(How the Eaton system works: The engine runs at a constant rate of speed, at its optimal level of fuel efficiency. Rather than directly driving the wheels, the engine pressurizes some hydraulic tanks that then use the pressure to drive the wheels. The engine turns off whenever the vehicle is stopped, such as when the driver is making a delivery. It only restarts when the vehicle resumes motion. In addition to the engine pressurizing the tanks, excess braking energy is routed to increase tank pressure, as well. This energy would otherwise be lost as heat.) The description sounds simple, but the system itself is very complex. Several distinct disciplines need to seamlessly interact, including hydraulics, mechanical, electrical, human, safety and more. Every time a change is made to one of the disciplines, it became very difficult to measure the impact on the other disciplines, as well as the overall system performance. Eaton’s attempts to do this by their traditional manual means were insufficient to meet the demand. Following systems design, the next stage is to move from a design for the overall system to the software necessary to control the hydraulic drive assembly. Because this software is so closely tied to the overall operation and success of the entire system, Eaton had the very specific goal of deriving the software from the systems design, as well as to ensure that any changes made to the software and its host environment had no negative impact on the system function.
Rational showed Eaton how the use of Rational MDSD could handle this complexity. Using an iterative approach to transforming requirements into a functioning system, Rhapsody allowed Eaton to design a complete system that met the requirements from the customer (UPS), the government (safety and fuel consumption, and Eaton’s own design team. The basic solution consisted of using Rational DOORS to capture and manage requirements and Rhapsody to specify, test and deliver the functioning system. Rational professional services provided the final piece, which was to help convert Eaton’s manual approach to one that was model-based and help them become skilled at using our products. Note that Eaton plans to bring its hybrid hydraulic vehicle retrofit kit to market in 2010. (NOTE: If you are connected to the internet, you can click the link to run the Eaton video. It is several minutes long, so be sure to account for this if you run it during a customer session. If you don’t have an internet link and want to show the video, you will need to download it from IBM.com and update the hyperlink to the location on your laptop.)
The solution combines requirements, models and designs to form an iterative approach to development that allows continual validation and verification. The user creates a requirements model and derives more detailed requirements from that model at each stage of development. Requirements are directly incorporated in the design and development process. They are automatically brought into the design model, with requirements elements inserted directly in the model diagrams. Dependencies are created between requirements and model elements, with fine-grained traceability links fully synchronized back to the requirements tooling. Up-to-date requirements data is incrementally reflected in the model, while proposed changes and added requirements are captured and managed. Traceability reaches across all diagrams and models, including requirements descriptions in generated source code.
Reuse is the way companies save money and protect technology investments. Rational lets companies re-use their technology through several avenues: Software can be re-used either by visualizing its architecture and determining the best way to connect to it or by reverse-engineering it into architectural form and using it as the basis for new designs. Designs (and pieces of the designs) can be maintained in a model library, to be easily adapted and adopted in future projects Various options can be compared to each other and the requirements to determine suitability for the task and relative cost to implement. The Rational solution supports the development and maintenance of product lines, families and variants by architecturally identifying and recognizing commonality across related designs, and having a different implementation for a specific product release. This allows for higher levels of reuse, faster time to market, higher quality products, creation and reuse of company specific solutions, and connectivity of requirements and design.
Software is near and dear to the hearts of developers. Our solution provides a series of powerful tools that can make coding easier or even allow you to design models that output the code you might write by hand. The developer can work at either or both levels and ensure that the code and model are always synchronized. The embedded developer can assemble a build environment for virtually any RTOS right inside the model, including the generated code, legacy code, third-party libraries, other model components and so on. A key piece of this is the real-time framework that allows a model to be automatically targeted to the platform that the real-time framework has been ported to. Developers can freely work within the source files, knowing that changes made at the source level are dynamically updated in the model, so the model and code can stay in sync. Reuse of software assets has a few components and one of the key ones is to reuse existing code bases. For new systems we may need to rewrite components from scratch, but the more intellectual property or IP we can reuse, IP that is proven in existing systems, the more advantage we have on the competition. Many times this IP is code, and in embedded systems many times this is C++ or C code, so we can visualize the code as a model which enables us to get a better understanding of the architecture as well as providing automatic design documentation so we can spend more time in design and implementation and less time documenting as the model becomes that documentation.
As a comprehensive lifecycle development platform, MDSD features several workflow integrations and automations with other tools in the application development lifecycle. Many of these integrations extend MDSD into user domains, while others aid in supporting things like team collaboration, reporting, testing, traceability and even the development and maintenance of our customers’ product families. Note that Jazz technology has been utilized with the RTC and RQM integrations. Other integrations include: Mathworks Simulink, Rational SDL Suite, Rational Statemate, Rational Tau (for model migration), text files (for requirements import)
IBM offers a wide range of services to help you get started. Process and Methodology offerings are aimed at helping you define and capture your development process. Starting with your current process, or one of the Harmony variants (Harmony for Systems Engineering, Harmony for Embedded Software Development), we can help tailor and capture best practice and process that meets the needs of your organization as a whole, or specific projects. Implementation Services are available to deploy the tools and process. Training and Mentoring ranges from basic tool training through customized process training to help ensure a successful knowledge transfer. And finally, Various Technical services are available for tool configuration and customization as well as data migration. It also includes MCIF, which is an assessment capability our services personnel can provide to provide a precise analysis of your environment, detailing when and how the Rational solutions can provide significant improvements to your development environment.
Closing slide to be included in all external presentations. Learn more at: IBM Rational software: www.ibm.com/software/rational IBM Rational Software Delivery Platform: www.ibm.com/software/info/developer Process and portfolio management: www.ibm.com/software/rational/offerings/lifecycle.html Change and release management: www.ibm.com/software/rational/offerings/scm.html Quality management: www.ibm.com/software/rational/offerings/testing.html Architecture management: www.ibm.com/software/rational/offerings/design.html Rational trial downloads: www.ibm.com/developerworks/rational/downloads Leading Innovation Web site: www.ibm.com/software/rational/leadership developerWorks Rational: www.ibm.com/developerworks/rational IBM Rational TV: www.ibm.com/software/info/television/index.jsp?cat=rational&media=video&item=en_us/rational/xml/M259765N40519Z80.xml IBM Rational Business Partners: www.ibm.com/partnerworld/pwhome.nsf/weblook/index.html IBM Rational Case Studies: www.ibm.com/software/success/cssdb.nsf/topstoriesFM?OpenForm&Site=rational
In view of the complexity of modern technology, teams need a structured approach to design and development Not only for the application but for the entire functioning system This system must account for all participants in the architecture, including hardware, software, data, personnel, procedures, and equipment Model Driven Systems Development provides the structure It ensures that the big picture is clearly defined and understood, before the focus shifts to the details, by collecting, analyzing and refining requirements into a system (or system of systems) It ensures that the system will work by v alidating and verifying the system through continual simulation and testing It saves time and money through reuse of existing technology and planning for future reuse It ensures proper operation by specifying and developing highly-optimized software for embedded devices within the system It enhances the productivity of today’s distributed development groups by facilitating collaboration across teams, disciplines and organizations
This slide introduces the core capabilities that make MDSD possible. Note that our competitors offer low-cost “modeling” tools that only provide these core capabilities. The Rational MDSD solution adds significant capabilities and technologies ON TOP of this core capability. We will cover these capabilities on the next several slides. Background for bullets 2 and 3: UML is an industry standard notation for representing designs. SysML extends UML to satisfy the specific needs of the systems developer, using a notation specified and developed by systems engineers. Both standards were created and maintained by the Object Management Group (OMG), which is a consortium of many of the world’s largest engineering and development tool companies.
MDSD combines requirements, models and designs to form an iterative approach to development that allows continual validation and verification. The user creates a requirements model and derives more detailed requirements from that model at each stage of development. Requirements are directly incorporated in the design and development process. They are automatically brought into the design model, with requirements elements inserted directly in the model diagrams. Dependencies are created between requirements and model elements, with fine-grained traceability links fully synchronized back to the requirements tooling. Up-to-date requirements data is incrementally reflected in the model, while proposed changes and added requirements are captured and managed. Traceability reaches across all diagrams and models, including requirements descriptions in generated source code.
MDSD lets the developer decompose the system and not the requirements. This means that analysis can be directed specifically to how the system operates as a whole, without having to independently look at each requirement and its implementation. However, system functionality can be traced back to specific requirements, especially when it is necessary to change the requirement and view the impact on system operation and performance. Developers can use model execution results to determine a requirement has been satisfied by the modeled system, ensuring they are building the right design from the very start, while also proving that they are building it correctly. Too often, testing is saved to the end of development. This is done as a practical matter, since testers cannot always work with partial designs. MDSD allows developers to test as they design, finding and fixing errors early in the design cycle. Testers also benefit from MDSD, with its ability to automatically specify and create tests and test harnesses directly from the design and tie the test back to requirements. Not only does this aid in the testers’ understanding of the application, it ensures that any changes in the design will be automatically conveyed to the people that need to test.
Reuse is the way companies save money and protect technology investments. MDSD lets companies re-use their technology through several avenues: Software can be re-used either by visualizing its architecture and determining the best way to connect to it or by reverse-engineering it into architectural form and using it as the basis for new designs. Designs (and pieces of the designs) can be maintained in a model library, to be easily adapted and adopted in future projects Various options can be compared to each other and the requirements to determine suitability for the task and relative cost to implement. MDSD supports the development and maintenance of product lines, families and variants by architecturally identifying and recognizing commonality across related designs, and having a different implementation for a specific product release. This allows for higher levels of reuse, faster time to market, higher quality products, creation and reuse of company specific solutions, and connectivity of requirements and design.
Software is near and dear to the hearts of developers. MDSD provides a series of powerful tools that can make coding easier or even allow you to design models that output the code you might write by hand. The developer can work at either or both levels and ensure that the code and model are always synchronized. The embedded developer can assemble a build environment for virtually any RTOS right inside the model, including the generated code, legacy code, third-party libraries, other model components and so on. A key piece of this is the real-time framework that allows a model to be automatically targeted to the platform that the real-time framework has been ported to. Developers can freely work within the source files, knowing that changes made at the source level are dynamically updated in the model, so the model and code can stay in sync. Reuse of software assets has a few components and one of the key ones is to reuse existing code bases. For new systems we may need to rewrite components from scratch, but the more intellectual property or IP we can reuse, IP that is proven in existing systems, the more advantage we have on the competition. Many times this IP is code, and in embedded systems many times this is C++ or C code, so we can visualize the code as a model which enables us to get a better understanding of the architecture as well as providing automatic design documentation so we can spend more time in design and implementation and less time documenting as the model becomes that documentation.
A system can often be specified across several domains. Customers, contractors, and specialists need to work alongside your systems developers to contribute to the overall system design. MDSD makes it easier to spread the workload across these teams, even allowing the system model to be segmented and recombined at will. Multiple streams can be brought together through automated graphical UML 2 differencing and merging; maintain existing workflows through integration with leading confirmation management environments like ClearCase. Powerful reporting capabilities make it easy to communicate ideas and concepts across the team, as well as to other project stakeholders.