Manohar Rao - IBM
Transcript of Manohar Rao - IBM
®
IBM Software Group
© 2010 IBM Corporation
Model Driven Systems Development
Rational User Group, Seattle18 March 2010
Manohar [email protected]
IBM Software Group | Rational software
2
IBM Software Group | Rational software
Past
Modern Approaches for Describing Systems Are EvolvingTo Better Manage Complexity and Reduce Time-to-market
Moving from manual methods to a model-driven approach
Specifications
Interface requirements
System design
Analysis & trade-off
Test plans
Future
UserUser
AdminAdmin AccessPointAccessPoint
CameraCamera
Security System
Uc3ConfigureSecurity
System
Uc2Control Exit
Uc1Control Entry
readSecurityCard
User
va lidateSecurityCard
[CardStatus Val id][CardStatus Val id]
scanBiometricData
User [e lse][e lse]
authenticateBiometricData
[else]
flagBiometricScanFailure
[else]
[else][else]
[e lse]
flagSecurityCardFai lure
[e lse]
[e lse][e lse]
[BiometricData Authenticated]
logEntryData
[BiometricData Authenticated]
[BsFailCount==3]
disableUserAccount
Admin
[BsFailCount==3]
[ScFailCount==3][ScFailCount==3]
displayCardStatus
[Timeout BiometricScan][Timeout BiometricScan]
displayAuthenticationStatus
logAccountData
alarm
unlockAccesspoint
«MessageAction»
AccessPoint
lockAccesspoint
«MessageAction»
AccessPoint [Timeout Unlocked][Timeout Unlocked]resetAlarm
Admin
[else][else]
takePicture
«MessageAction»
Camera
[First Request][First Request]
User CameraAccessPointUc_Uc1ControlEntry
message_0()
readSecurityCard()
message_1()
validateSecurityCard(CardStatus)
displayCardStatus(CardStatus)
message_2()
scanBiometricData()
authenticateBiometricData(AuthenticationStatus)
displayAuthenticationStatus(AuthenticationStatus)
logEntryData()
message_3()
message_4()
message_5()
message_6()
message_0()
readSecurityCard()
message_1()
validateSecurityCard(CardStatus)
displayCardStatus(CardStatus)
message_2()
scanBiometricData()
authenticateBiometricData(AuthenticationStatus)
displayAuthenticationStatus(AuthenticationStatus)
logEntryData()
message_3()
message_4()
message_5()
message_6()
Uc1ControlEntryCtrl
WaitForEntryRequest
UnlockingAndLockingAccessPoint
reqTakeSnapshot to pCamera
reqReadSecurityCard/
readSecurityCard();
reqProcessAlert("User Access Disabled") to pAdmin
ProcessingSecurityCardData
Fail3Times
ProcessingBiometricData
Failed3TimesBsTimeoutAuthenticated
[CardStatus=="Valid"]
A
evAccessPointLocked
A
/disableUserAccount();
logAccountData();
A
WaitForResetAlarm
reqResetAlarm/
resetAlarm();
reqReadSecurityCard/
readSecurityCard();
[CardStatus=="Valid"]
evAccessPointLocked
/disableUserAccount();
logAccountData();
reqResetAlarm/
resetAlarm();
IBM Software Group | Rational software
3
IBM Software Group | Rational software
Model Driven Systems Development (MDSD):
A standards-based practice for the development of complex systems
across the mechanical, electronic and software disciplines
Model Driven Systems Development Visually refine requirements into a robust system
IBM Software Group | Rational software
4
IBM Software Group | Rational software
MDSD Customer SuccessHydraulic hybrid delivery vehicles - Eaton & UPS
“The suite of Rational tools, including
Rhapsody, DOORS, ClearCase
and ClearQuest, provides Eaton
an integrated software framework that
allows us to deliver innovative products
more quickly and efficiently.”
What’s smart?
� Innovative technology for urban delivery trucks in stop-and-go traffic
� Smart software to optimize energy usage and reduce greenhouse gases
Smarter business outcomes
� 60-70% increase in fuel economy, according to EPA
� 40% reduction in CO2 emissions
How Rational enables smarter products
� Software modeling to optimize system performance
� Automatic generation of in-vehicle software code
IBM Software Group | Rational software
5
IBM Software Group | Rational software
“Smarter” often means More Complex
High-Pressure
Accumulator
Low-Pressure
Accumulator
Hydraulic
Drive Assembly
Pump/ motor
The systems engineering challenge:
�Eaton’s – maybe the world’s – most complex hydraulic hybrid system ever
�Unproven, complex and mixed domain technologies must interoperate and depend on
each other (electrical, mechanical, hydraulic, human, safety, etc.)
�Manual attempts to specify the system fell short
The software development challenge:
�Controlling this system requires relatively complex software for the pump motor and
associated monitors
�Eaton’s Hybrid Power Group had little experience developing and testing code of this type
�Eaton needed to directly tie its software development to the overall systems design
IBM Software Group | Rational software
6
IBM Software Group | Rational software
Eaton’s Approach
Needs: ► Overcome major complexity challenges
► Reduce cost of prototyping and developing the vehicles and their software
Solution: Eaton deployed Rational Model-Driven System Development, to achieve:
� Sharpened focus on requirements and how they define the systems
� Visualization of complexity through iterative systems design, simulation & testing
� Lifecycle traceability to prove that all requirements have been satisfied
� Iterative software engineering to specify and create tuned, accurate source code
Watch the YouTube video
IBM Software Group | Rational software
7
IBM Software Group | Rational software
The Core Components of MDSD
Manage, Analyze &
Refine Requirements
ApplyStrategic
Reuse
AchieveQuality by
Design
Standards-Based
Modeling
Develop Optimized Software
Collaboratein
Real Time
IBM Software Group | Rational software
8
IBM Software Group | Rational software
� Interconnected diagrams form multi-dimensional models
�Can describe even the most complex systems
� Unified Modeling Language – UML 2.x
� Industry-standard notation for specifying, visualizing, and documenting systems and
software designs
� Systems Modeling Language - SysML
�Extends/specializes UML to address needs of the Systems Engineer
�Open standard published by the OMG and INCOSE
� Industry notations and frameworks: DoDAF, MODAF, UPDM, AUTOSARG
�Extends MDSD to meet the users’ domain-specific needs
Domain Focused Development Apply industry and domain standards
Standards-based
Modeling
IBM Software Group | Rational software
9
IBM Software Group | Rational software
Manage Requirements in ContextEnsure success by meeting customer needs
� Specify the system design through visualized requirements
�Iteratively analyze and assess stakeholder needs
�Link system requirements with the design for coverage and impact analysis
� Establish traceability throughout development
�Analyze impact for every changed requirement
� Include functional and non-functional requirements
�Match performance requirements with physical specifications
Manage, Analyze & Refine
Requirements
IBM Software Group | Rational software
10
IBM Software Group | Rational software
Create Your ArchitectureTransform requirements into a working system
� Derive the system in the context of its environment
�Reduce confusion over requirements
�Establish system functionality and its constraints
� Eliminate errors as they are introduced
�Before they are too expensive to find and repair
Achieve Quality by
Design
System Requirements
The System
Subsystem 1 Subsystem 2 Subsystem 3
Subsystem 3Subsystem 3
Subsystem 3
Subsystem 3Subsystem 3
Subsystem 3
Subsystem 3Subsystem 3
Subsystem 3
Use case
Market / customer needs
...
...Subsystem 3
Subsystem 3Subsystem 3
Subsystem 3Subsystem 3
Subsystem 3
Subsystem 3Subsystem 3
Subsystem 3
action1action2
action3
Derived requirement
Traceability link
�Simulate often
�Animate and execute the design model
�Validate functionality and verify correctness
�Automatically create and execute tests
�Derive from the design model or target platform
�Create test harnesses for unit testing
�Manage test cases
�Prioritize the features and functions to be tested
IBM Software Group | Rational software
11
IBM Software Group | Rational software
Recapture Intellectual PropertyAdapt, Reapply and Re-use Technology
� Exploit prior designs to drive business success
�Understand existing software through visualization and reverse-engineering –determine to use as-is, modify, or apply its architecture to a new design
�Quit “reinventing the wheel” – maintain a model-based library of design assets
�Perform trade-off analysis – determine best matches for project requirements
� Develop and maintain product lines and families
�Support rapid, controlled portfolio growth
�Exploit commonality across ranges of products
�Focus efforts on unique product variants
Apply Strategic
Reuse
Speed Fuel economy
IBM Software Group | Rational software
12
IBM Software Group | Rational software
Implement the SystemCreate software that matches the requirements
� Build efficient embedded software that powers the system
� Specify and test deployable source code from the system requirements
� Generate complete C, C++, Java, and Ada applications – including behavior
� Synchronize between architecture and code
� Simultaneously work with the design model, software and target
� View how a change in any one area is reflected in the others
Source Code Architectural View
Develop Optimized Software
IBM Software Group | Rational software
13
IBM Software Group | Rational software
Apply a United EffortMaximize efficiency of distributed teams
� Collaborate across teams and geographies for any size project
�Reduce time and risk associated with parallel development
�Enable integrated design, sharing and review across diverse engineering teams
� Empower a task-based approach to managing complex projects
�Fully incorporate change and configuration management
� Enhance productivity across teams, disciplines and organizations
�Shared views
�Collaborative debugging
�Linked work items
� Automatically generate reports directlyfrom the design
�Documentation
�Regulatory and audit reporting
�Management, customer and peer reviews
Collaboratein
Real Time
IBM Software Group | Rational software
14
IBM Software Group | Rational software
IBM Rational MDSD Core Solution Set
RequirementsDefinition &Management
Analysis & Design
Quality Management
Build & Release
Management
Construction
Configuration & Change
Mgmt
Asset Management
& Reuse
Production
Rational Team Concert
• Organizational
collaboration
• Integrated agile
planning, project health,
source code, work item
and build management
• Enables distributed
development across the
program
Rational Rhapsody
• Model-driven development of systems
and software
• Standards-based: UML 2.1, SysML 1.1,
DoDAF, MODAF, AUTOSARG
• Visualize and transform complex
requirements into deployable products
Rational DOORS
• Optimized requirements management
• Links requirements to development
for easy and powerful traceability
• Ensure your system meets the
requirements
Rational Quality Manager
• Test and quality management
for software delivery
• Track all aspects of the quality
assurance effortApplication Development Lifecycle
IBM Software Group | Rational software
15
IBM Software Group | Rational software
Extend MDSD to Meet Your Needs
The Rational MDSD Solution can be tailored to meetvirtually any systems development workflow :
� Automated reporting and documentation with Rational Publishing Engine
� Enterprise systems delivery with Rational System Architect
� Embedded software testing with Rational Test RealTime
� Team-based configuration management with Rational ClearCase or Synergy
� Embedded platform development with Wind River Workbench/VxWorks
� Support also exists for Green Hills Integrity, Express Logic ThreadX and many other embedded platform operating system environments
� Product Line Engineering with BigLever Gears
� and many othersG
RequirementsDefinition &Management
Analysis & Design
Quality Management
Build & Release
Management
Construction
Configuration & Change
Mgmt
Asset Management
& Reuse
Production
IBM Software Group | Rational software
16
IBM Software Group | Rational software
Ensure Success with Rational
Process and
methodology
• Process framework workshops
• Rational Harmony family of Best Practices and Processes
• Process training
Implementation
services
• Adoption quick starts
• Deployment support
• Project architecture workshops
• Project management
• Planning support
• Escalation/risk mitigation
Training and
mentoring
• Product familiarity
• Product expertise and specialization
• Technology transfer
• Adoption mentoring
• e-Learning
Technical services
• Measured Capability Improvement Framework (MCIF)
• Product optimization and customization
• Tool configuration
IBM Software Group | Rational software
17
IBM Software Group | Rational software
Summary
� Complexity can rapidly increase as you develop products and systems
� Maintaining the various systems relationships manually is very difficult –maybe impossible
� IBM’s Model Driven Systems Developmentautomates the building of structures and dependency relationships to:
� Manage increasing complexity
� Ensure designs and products meet market demands and industry requirements
� Perform effective impact and change analysis across different disciplines and subsystem views
� Enable collaboration across the entire development organization
IBM Software Group | Rational software
18
IBM Software Group | Rational software
18
© Copyright IBM Corporation 2010. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
Learn more at:
� IBM Rational software
� IBM Rational Software Delivery Platform
� Process and portfolio management
� Change and release management
� Quality management
� Architecture management
� Rational trial downloads
� Leading Innovation Web site
� developerWorks Rational
� IBM Rational TV
� IBM Business Partners
� IBM Rational Case Studies