Upload
volien
View
217
Download
2
Embed Size (px)
Citation preview
®
IBM Software Symposium 2006
IBM Rational Systems Strategy
Bran SelicIBM Distinguished Engineer, Rational CTO Team
IBM Software Symposium 2006
2
Agenda
The Systems Space – Definitions and Issues
Governance and Product Development
Tools Strategy
IBM Software Symposium 2006
3
The “Technical Systems” Space
3
Encompasses technical products and devices in which software plays a key role
2 Electronic Electronic Data Data ManagementManagement
1B
SystemSystemDevelopmentDevelopment1
2
1A
1A
1A
Governance of Systems DevelopmentGovernance of Systems Development3Beyond softwareCollaborative engineering, process management and data governance
1AHardware/software co-development
1B Systems of systemsdevelopment
IBM Software Symposium 2006
4
The “Technical Systems” Space – Principal Vertical Sectors
Aerospace & Defense
Automotive
Consumer Electronics
Industrial Control
Medical Devices
Telecom
IBM Software Symposium 2006
5
The Issues Design of technical systems can be an extremely complex problem
High probability of failure
Fundamental complexity due to: FunctionalityConcurrencyAsynchronyDistributionMultiple disciplinesScale
Accidental complexity due to:Semantic gapsLack of skilled developersIncompatible tools Inadequate toolsDisconnected processes
IBM Software Symposium 2006
6
Agenda
The Systems Space – Definitions and Issues
Governance and Product Development
Tools Strategy
IBM Software Symposium 2006
7
Fitting Systems Development into the Business Process
the measurements are meaningful in terms of business objectives
A sound business process isMeasurable
Predictable
Repeatable
… and has clear objectives
we have the data and knowledge to more accurately assess progress and make predictions
The technical development process must fulfill to the objectives of the business process
Technical decisions should be made based on business needs and priorities
Ensures the delivery of the “right” product
Development should be an integral part of the business processi.e., it should be measurable, predictable, and repeatable
IBM Software Symposium 2006
8
What is Governance?
Establishing chains of responsibility,authority and communicationto empower people (decision rights)
Establishing measurement,policy and control mechanisms to enable people to carry outtheir roles and responsibilities
IBM Software Symposium 2006
9
The Governance LifecycleDefine the Governance Approach
Define/modify governance processesDesign policies and enforcement mechanismsIdentify success factors, metricsIdentify owners and funding modelDesign governance infrastructure
Monitor and Manage the Governance Processes
Monitor compliance with policiesMonitor compliance with governance arrangementsMonitor IT effectiveness metrics
Deploy the Governance Model Incrementally
Deploy governance mechanisms Deploy governance IT infrastructureEducate and deploy on expected behaviors and practicesDeploy policies
Establish the Governance NeedDocument and validate business strategy for productsAssess current Define/Refine vision and strategyReview current Governance capabilities and arrangementsLay out governance plan
IBM Software Symposium 2006
10
Governance and Product DevelopmentIntegrate peopleIntegrate processesManage and integrate information
DiscoverConstruct & TestCompose
Gather requirementsModel & SimulateDesign
Business objectivesalignmentProcess control
Manage applications & servicesManage identity & complianceMonitor business metrics
IBM Software Symposium 2006
11
How IBM Facilitates GovernanceMethods, processes and principles to create the Governance ModelTechnology to help define services and data needs, and instantiate measurements and controlsServices to help develop the governance approach
Dashboards for viewing business and project metricsTechnology for helping measure and monitor performanceServices to improve effectiveness
Technology to help govern assets across the lifecycleProcesses for helping enable governance Services to help implement governance mechanisms
Experienced resourceMethodology and processes to assess current capabilities and the organizationsTools and templates formulate the governance strategy
IBM Software Symposium 2006
12
Agenda
The Systems Space – Definitions and Issues
Governance and Product Development
Tools Strategy
IBM Software Symposium 2006
13
IBM Rational Design & Construction Tools StrategyBuild on open standards
Eclipse, UML 2, MDA, J2EE, etc.
Support multiple languages and platformsJava/J2EE, C++, XML, …
Provide end-to-end traceability and deep integration across roles and assetsIntegrate requirements, models, code, tests, deployment, defects, etc.
Continuously improve lifecycle tool integrationsTools scale to complex, real-world team environments
Enable asset-based developmentCapture, store and reuse design patterns and transformations
Consolidate tools onto Eclipse platformA single tool architecture going forward
Build an extensible and customizable modeling platformUsing standard Eclipse mechanisms and APIs wherever possible
Facilitate move to Service-Oriented ArchitectureThrough tools, standards, processes, run-times and services
IBM Software Symposium 2006
14
CustomerExtensions
3rd PartyISV Tools
Rational Software Architect
Rational Software Architect
Rational Application Developer
Rational Application Developer
Rational Functional &
ManualTester
Rational Functional &
ManualTester
Rational Performance Tester
Rational Performance Tester
Rational Team Unifying PlatformRational Team Unifying Platform
Tivoli Configuration Manager
Tivoli Configuration Manager
WebSphereBusiness
IntegrationModeler
& Monitor
WebSphereBusiness
IntegrationModeler
& Monitor
TivoliMonitoring
TivoliMonitoring
Rational Web Developer
Rational Web Developer
AnalystAnalyst ArchitectArchitect DeveloperDeveloper TesterTester Deployment Manager
Deployment Manager
Project ManagerProject
Manager
ExecutiveExecutive Rational Portfolio ManagerRational Portfolio Manager
Rational Software Modeler
Rational Software Modeler
The IBM Rational Software Development PlatformEclipse-based software development
Rational Systems
Developer
Rational Systems
DeveloperRational Systems
Developer
Rational Systems
Developer
IBM Software Symposium 2006
15
What is Eclipse?
An Open Source Projecteclipse.orgDelivers and supports the technology
A Technology OfferingUniversal platform for integrating development tools Open, extensible architecture based on standardsLicensed for royalty free world-wide distribution
A CommunityCommercial vendors, educators and individuals contribute to the project and technologyVendors bring commercial offerings to marketVendors work together to agree on standards and deliver integrated solutions
IBM Software Symposium 2006
16
Eclipse: Who’s Shipping or Supporting It?
TimeStorm® Integrated Development Environment (IDE)
SUSE LINUX Professional
IBM Software Symposium 2006
17
Extensible SDP ArchitectureA tools platform
Eclipse CoreEclipse Core
GEFGEF JDT/CDTJDT/CDT Team Team
TPTPTPTP
CM, Merge,CM, Merge, TraceabilityTraceability……..
Model Services (UML2 ext, other MetaModel Services (UML2 ext, other Meta--Models, Code Gen APIs, Models, Code Gen APIs, ……))
EMFEMF
UML2UML2
Eclip
seEc
lipse
AnalystAnalyst
ArchitectArchitectArchitect TesterTesterDeployment
ManagerDeployment
Manager
Project ManagerProject
Manager
Web ToolsWeb Tools othersothers
IntegrationDeveloperIntegrationIntegrationDeveloperDeveloper
SoftwareDeveloperSoftware
Developer
IBM Software Symposium 2006
18
Governing the Lifecycle of Systems Development
Business goalsand system
requirements
RationalRationalUnifiedUnified
Process/ Process/ Method Method
ComposerComposer
Rational Portfolio Manager
Rational Portfolio Manager
RationalSystems
Developer
RationalSystems
Developer
Wind River WorkBenchWind River WorkBench
Rational Manual Tester, PurifyPlus & TestRT
Rational Manual Tester, PurifyPlus & TestRT
Rational ClearCase, Rational ClearQuest and MultiSiteRational ClearCase, Rational ClearQuest and MultiSite
Rational RequisitePro
or DOORS
Rational RequisitePro
or DOORS
DoDAF
EmbeddedPlusDoorKeeper EmbeddedPlus
SMST
Rational Unified Process for Systems EngineeringRational Unified Process for Systems Engineering
Project investment, resourcing & scheduling
System architecture & software design & implementation
Change management for all types of assets, from electronic desigChange management for all types of assets, from electronic designs to software to test assetsns to software to test assets
Functional & performance testing and
run-time analysis
Device Development
Methodology & process guidance for systems(RUP SE)
Modular Service Offerings
RAS Asset Repository
Business goalsand system
requirementsPathfinder PathMate
IBM Software Symposium 2006
19
Model-Driven Development (MDD)An approach to software development in which the focus and primary artifacts of development are models (vs programs)
Based on two time-proven methods:
««sc_modulesc_module»»producerproducer
start out1
(1) ABSTRACTION (2) AUTOMATION
««sc_modulesc_module»»producerproducer
start out1
SC_MODULE(producer)
{sc_inslave<int> in1;
int sum; //
void accumulate (){
sum += in1;
cout << “Sum = “ << sum << endl;}
Realm of toolsRealm of Realm of toolstools
Realm of modelinglanguages
Realm of Realm of modelingmodelinglanguageslanguages
SC_MODULE(producer)
{sc_inslave<int> in1;
int sum; //
void accumulate (){
sum += in1;
cout << “Sum = “ << sum << endl;}
IBM Software Symposium 2006
20
DesignRequirements
6.2Refine 5.2.Extract 5.1Refine 9.F&V feedback
DesignModel
6.1Design
SystemModel
2.Design
4.F&V feedback
UserNeeds
SystemRequirements
1.Extract
Implementation
15.Refine
3.Validate&Verify
7.Validate& Verify
8.F&V feedback
ImplementationModel
ImplementationRequirements
10.2.Extract 10.1.Refine11.2.Refine 14.F&V feedback
11.1.Design
13.F&V feedback
12.Validate& Verify
16.Verify
A Generic Model-Driven Development Process
NOTE: Different projects may have fewer or more levels of refinement
IBM Software Symposium 2006
21
Rational Systems Developer feature overview
Change ManagementClearCase LT included
Java Development Tools
C/C++ Development Tools
Software Modeler
UML Language Transforms
Operating Environments
Structural Analysis
Platform Integrations
Life-cycle Integrations
ModelerUML 2.0 Diagrams for Class, Communication, Component, Composite Structure, Deployment, Activity, Sequence, State, and Use CaseOCL SupportAutomatic diagram generationPattern contentExtensive open APIJava-based “scripting” for extensibilityHTML and XML based data extraction and reportingExtensive printing (Windows Only)RAS toolsRose Model ImportTraceability AnalysisVisual Compare/Merge
Java Development ToolsAdvanced Java tooling - editors, projects, refactoring, etc.UML code editors for JavaCode review
C/C++ Development ToolsC/C++ editors and build managementCompiler and debugger integrationUML code editors for C/C++
UML Language TransformsPattern/Transform authoring framework and servicesUML-to-code transforms for Java and C++Selective language to UML harvestingCORBA IDL
Platform IntegrationsEclipse 3.0.2IBM SDP
Lifecycle IntegrationsClearCaseClearQuestRequisite ProSoDA
Application AnalysisAutomatic anti-pattern and pattern detection (Java)Architectural discovery, analysis, metrics, and stability reporting (Java)Implementation level architectural rules (Java)
IBM Software Symposium 2006
22
Model Driven Development:Model your application using UML
Simplify the capture of UML models during Analysis and Design
Pattern content & authoring support
New custom views improve the editing experience
Support for UML 2 diagrams:ActivityClassCommunicationComponentComposite StructureDeployment SequenceUse Case
New “Diagram Navigator”view provides a diagram
filtered view of the models and workspace
Diagram links as first-class citizens
“In diagram editing”to accelerate
modeling.
New properties viewInheritance view
IBM Software Symposium 2006
23
Model Driven Development: Transform your conceptual model to code
Transformations are optimal for “batch” style computationally intensive operations
Model-to-modelModel-to-code
Out-of-the box code transformsUML-to-Java/J2SEUML-to-C++UML-to-CORBA IDLPlus sample model-to-model transforms
Transformations may be updated via RAS repository hosted on IBM developerWorks
IBM Software Symposium 2006
24
Model Driven Development: Domain modeling for Java, C/C++
Perspective for C/C++ Development
C/C++ project hierarchical tree view
UML class diagram visualization of C/C++
classes and structs
C/C++ editor with syntax highlighting,
code completion, and advanced search
IBM Software Symposium 2006
25
Key Feature: Architectural Analysis, Discovery, and Control
Architecture discovery for J2SEHigh-level software visualization
Application architecture is reflected in the running code
Analyzing code can help assess its maintainability
Govern the architecture with the assistance of rules
Template-based rule authoring
Anti-pattern and pattern detectionDetection of cyclic dependencies, hubs, breakable, etc.Wizard assisted automated quick-fix
Automatic generation of “topic”diagrams based on the results
of the code analysisPatterns and anti-patterns
are rendered in the diagram editor. Navigation to detailed
code is supported.
“Details View” providing an overview and avoidance
guidance for anti-patterns.
Code review pane providing a report of detected issues.
IBM Software Symposium 2006
26
Adding Greater Value to Proven SolutionsWind River
Wind River® Workbench Development Suite – leading Eclipse-based IDE for C/C++ device development for RTOS integrated with ClearCase and ClearQuest through Eclipse
EmbeddedPlusDOORKeeper – Telelogic DOORS® integration for RSD / RSM / RSASystems Modeling and Simulation Toolkit (SMST) (beta Jan 31) – add-in to RSD / RSM / RSA that supports OMG SysML standard and model simulation/execution of UML 2.0 and SysML
Pathfinder SolutionsPathMate - High-performance, configurable C / C++ / Java for embedded platforms based on RSD / RSM / RSA UML 2.0 Models and OMG MDA standards
CoverityPrevent – Automates detection of defects for C / C++ software as developers write codeExtend – Enables developers to detect custom defect types in C / C++
GalorathSEER-SEM – Software project estimation from RSD / RSM use-case models
PTCWindChill ClearCase integration – manage all aspects of product data (mechanical, electrical and software) efficiently among development teams and projects
FlashlineFlashline Eclipse Adapter for the IBM Software Development Platform asset registry
LogicLibraryLogidex V 3.5.1.2 asset reuse form RSD
IBM Software Symposium 2006
27
Summary
System development in the technical space is an extremely challenging and complex task
However, it is possible to eliminate much of the accidental complexity involved in the development of such systems through:
Establishment of a governance strategyIntegrating development within the governance processUse of model-driven development and corresponding tools
The IBM Rational tools strategy is based on the above approachComprehensive solution that addresses all aspects of both governance and system developmentUse of open standards Based on the “software development platform” architecture that allows customization for specific domains and integration of best-in-class tools