Title: Architect Skills Development
1Becoming an Expert at ArchitecturesAn Iterative
Approach
- June 11, 2003
- Paper Number GD09
- Revision A
2Table of Contents
- Analysis Criteria
- Ongoing Iterations at GDLS
- Ongoing Work at GDLS
- Technologies
- Reuse
- MDA RAD
- Domain Focus
- Architecture
- Targeted Deployments
- Competitive Advantage
- Final Thoughts
- Presenters
- Customer
- Definition of Architecture
- Scope
- Spiral Relationship
- Life Cycle Relationship
- Sample Iterative Architecture Development
- Iteration Characteristics
- Capability Maturity Model Relationship
- Spiral Engineering Relationship
3Kevin GriffinExperienced (25 Years) SW
Lead/Manager
GDLS
GDLS McDonnell Douglas Honeywell
I-Logix Highlander Rational
Space Shuttle Flight Crew Software Space Station
GDLS SEI CMM5
4Stuart Fraser Experienced (15 Years) SW Architect
ZelTech
GDLS Sikorsky LMCO
AirForce Navy NNS 3-D Modeling Process
Improvement Automation
IONA, Chrysler ATT, MCI, Sprint SBC, VF, USPS
Chase, Xerox KPMG, Accenture TIAA-CREF
Navy Newport News Shipbuilding Seawolf
5General Dynamics Land Systems (GDLS)
- Subsidiary of General Dynamics Corporation (GD)
- Headquartered in Sterling Heights, Michigan
- Manufactures and supports land and amphibious
combat systems for the U.S. Army, the U.S. Marine
Corps and allied nations - Preferred supplier of a full spectrum of land and
amphibious weapons systems. - More than 7,400 employees
6GDLS Project Technology Migration
KUWAIT
KUWAIT
TVAS/HMD
FOX
OBJ FORCE WARRIOR
M1A1
HAB-d
LAND WARRIOR
KSA
FCS
M1A2
SEP
CEEP
TMM
HAB
VTI/ANS
CRUSADER
RRV3
AAAV
SCOUT
1985
1988
1990
1997
1995
2001
2003
7Architecture
COTS
GOTS
8Architecture Versus Design - Venn Diagram
Architecture
Design
Physical / Hardware
API
Software
Data
9Iterative Architecture DevelopmentTechnology/Proj
ect Life Cycle
Evolution, Extensions, and Maintenance
Configuration Managed (Minimal Interruption)
10Sample Iteration(s) (1 of 4)
11Sample Iteration(s) (2 of 4)
12Sample Iteration(s) (3 of 4)
13Sample Iteration(s) (4 of 4)
14Iteration Characteristics
- Relatively short in duration (3 to 6 months)
- End contribution not always to a product
- Resource levels not very large (often lt10)
- Diversity in the iterations brings new
perspectives - eXtreme Programming methodology works well
- Rapid prototyping
- Focused on solving business problem(s)
- Strive for business advantage
- Reducing costs
- Increasing competitive advantage
- Involved resources gain significant skills in
business and technology
15Technology Change ManagementSEI CMM Level 5
Optimized
- Requirement for SEI CMM Level 5
- Technology Change Management
- To achieve Level 5 certification you must
demonstrate an ability for technology adoption - Motivates a Formation of Technology Group
- Evaluation of emerging technologies
- Prototyping of technologies
16Technology Change Relationship to Spiral
Engineering
Technology Change Opportunity
17Iterative Architecture Development(Spiral
Flattened as a Timeline)
Evolution, Extensions, and Maintenance
Architecture Development Can Spiral Too
Configuration Managed (Minimal Interruption)
18Sample Architecture Analysis Criteria
- 1 Solves Business Problem
- Meets Specification
- Supports Processes (SEI L5)
- Takes advantage of
- Reuse
- Off-the-Shelf (OTS)
- Reference Implementation
- Tested on target hardware
- Follows best practices
- Employ/verify automation to reduce development
cost and improve quality
- Appropriately skilled resources available
- Can be delivered within
- Timeframe
- Cost
- Selected technologies are available and will be
available at volumes sufficient to satisfy
production - Vendor relationships
19Ongoing Iteration(s) at GDLS
20Ongoing GDLS Work Technologies (Reducing Life
Cycle Cost)
- Using technologies to lower life cycle cost,
provide concurrent engineering, improve product
quality, meet tight schedule deadlines - Standards - JTA, TRM, GOA, VRA, ORD, OMG
- Middleware APIs - OE, Real-Time CORBA, WSMS, O/A
- Unified Modeling Language - State Chart Code
Generation - Graphics and Simulation - SMI Graphics Code
Generation - Customizable Real-Time Operating Systems
- (Linux, OSEK, etc) Safety Critical Real-Time OS
Supported - Open System Architectures - Component Based,
Plug-and-Play - Fault Tolerant Isolation, Event, and Security
Services - Smart Agents - Downloads, Reconfiguration,
Prognostics, Diagnostics
21Ongoing GDLS Work Reuse (1 of 3)
- Open Standards to Promote Understandability,
Interoperability, and Portability - Joint Technical Architecture (JTA)
- JTA-Army
- POSIX
- WSTAWG
- RTCOE
- Unified Modeling Language (UML)
- Common Object Request Broker Architecture (CORBA)
- General Inter-ORB Protocol (GIOP)
22Ongoing GDLS Work Reuse (2 of 3)
- Software Patterns
- Object-Oriented Proxy, Façade, Active Objects
- Distributed Systems Naming/Directory, Fault
Tolerance, Replication, Fail over - Structured Programming Application Programming
Interface (API) - Service-Oriented Architectures (SOA)
23Ongoing GDLS Work Reuse (3 of 3)
- Commercial Off-the-Shelf (COTS)
- Middleware CORBA, J2EE, Web services, Agents
- Unified Modeling Language (UML) Rhapsody,
Rational - Operating Systems Linux, Solaris, OSEK, Lynx
OS, VxWorks - Domain Expertise
- Mind share
- Code/algorithm reuse
- Partner contributions and relationships
- Over 30 years of diverse industry software
architecture experience on board - Relationships with industry leading COTS vendors
24Ongoing GDLS Work COTS
Domain Objects
Model Driven Architecture (MDA)
COTS
Boundary data/implementation isolation
Rapid Application Development (RAD)
C
COTS
Code Generators/Compilers
Operation System (OS)
Boundary data/implementation isolation
Boundary data/implementation isolation
MGV and SoS COE Frameworks
C
MICO
COTS
Services
Boundary data/implementation isolation
Operating System Abstractions
Ada
WSTAWG
COTS
POSIX
RTCOE
Legend Build 0.1 Future
COTS
25Ongoing GDLS Work MDA and RAD
Output Code
Code Generators Compilers
Communications Protocols / Transports
UML
Programming Language
Operating System
GUI
Platform
Graphics Libraries
MICO
IDL
Compatibility with MGV and SoS COE Frameworks
26Ongoing GDLS Work Domain Focus
- Domain expert is focused on developing domain
logic not infrastructure - Accomplished by provision of a framework
- Robust
- Encapsulating
- Enforces best design practices
- Expandable
- Reduce hand written code through
- Commercial Off-the-Shelf (COTS)
- Model Driven Architectures (MDA)
- Rapid Application Development (RAD)
- Code Generation/Compilers
- Software Patterns for Encapsulation/Isolation
27Ongoing GDLS Work Software Architecture
28Ongoing GDLS Work Deployment View
NOTE () Indicates the areas being developed as
part of the technology adoption.
29Ongoing GDLS Work Deployment View FIRE CONTROL
TESTBED
SIL-D Section 1 (PERFORMANCE ANALYSIS TESTING)
Step 1 Ensure Platform Interoperability With
Legacy Hardware
Step 2 Rehost Ada Code to C/C FCS ICU HW
Concurrent Steps
Radstone VME Hardware
Step 3 Rehost Ada Code to C/C on Vetronics RIU
SCU Computing Architecture
SBC
Graphics
XOE
VMS
VxWorks
OPENGL
OS
Automotive CAN Bus
Gunners Station
Gigabit Ethernet Bus
30Ongoing GDLS Work VATI Deployment View
Vetronics Advanced Technology Initiative
SIL-D Section 2
Vetronics RIU SCU HARDWARE
FCS ICU HARDWARE
Gigabit Ethernet Bus
Radstone VME Hardware
Automotive CAN Bus
SBC
Permidia Graphics
XOE
VMS
OS
OPENGL
VxWorks
31Ongoing GDLS Work Competitive Advantage
- Supports Software Engineering Institute (SEI)
Capability Maturity Model (CMM) Level 5
Processes/Principles - Heterogeneous Support
- Operating Systems Linux, Solaris, OSEK, LynxOS,
VxWorks - Programming Languages C, C, Ada, Java
- Platforms General Computing Unit (GCU), Single
Board Computers (SBC), Remote Interface Unit
(RIU) - Cost Sensitive
- Reducing the lines of code development and
maintained - Reducing the complexity of the code developed by
domain experts
32Final Thoughts
- Summary
- Iterative
- Controlled scoped
- Business problem focus
- Getting Appropriations
- Competitive Advantage
- SEI CMM Level 5
- Technology Group
- Technology Change
- Contributions
- Competitive Advantage
- Skills Development
- Business
- Leadership
- Technical
- Not for Everyone
- Informal
- Constant change
33Becoming an Expert at ArchitecturesAn Iterative
Approach