150 likes | 257 Vues
CelsiusTech's innovative approach to product line development has yielded significant advantages, enabling the design of two systems using the manpower of one. Subsequent projects took only a third of the time compared to earlier efforts and demonstrated enhanced predictability. The new organizational structure under SS2000 promotes integration across teams, focusing on layered architecture and modular decomposition. Key aspects include the use of concurrent processes, location independence, and robust data management, ensuring modifiability, performance, reliability, and safety throughout the development process.
E N D
CelsiusTech A Case Study in Product Line Development
What are the advantages? • Able to design two systems with the manpower of one • Later projects took a third of the time • Later projects were much more predictable • Able to move into new business areas
Old organization • Mk2.5 Project Family Manager • Command and control • Tracking • Communications • Operator’s console • Base system • Systems integration
New Organization • SS2000 General Program Manager • Architecture team • Product line software development • C3 • HCI • Weapons • Fundamental Services • Customer project management • Integration and CM team
Architectural Views • COOB • Layered architecture • Module decomposition: system functions and function groups • Models?
COOB • Processes that produce a new result do not tell other components directly, but tell the COOB. • Processes that need to know when data changes will register with COOB. • COOB notifies processes when data changes. • Processes communicate using typed messages
Layered Architecture • General applications • Common applications • Fundamentals • Database, Diagnostics, Configuration, etc. • Base System 2000 • OS-2000 • LAN, IPC • Hardware
Layered Architecture • General applications • Target tracking • Fire control • ECM, ASC • Common applications • Ships information • Picture compilations • Fundamentals • Base System 2000
Module Decomposition • System functions – at one layer • System functions group • Any level • Product of single (large) team • About 30 • Has its own requirements document • Main configuration unit
Architectural Qualities • Modifiability • Performance • Reliability, availability and safety • Testability
Modifiability • COOB, layers, function groups • Software written to be location independent • Ada generics • Heavy use of parameterization
Performance • Strict network traffic protocols • Concurrent processes • Location independent processes, can be moved for load balancing • COOB by-passed for high-volume transactions • COOB sends data only when altered
Reliability, Availability and Safety • Redundant LAN • Fault-tolerant software • Ada exceptions • Location independent software • Strict ownership of data – no multi-writer race conditions
Testability • Interfaces with typed messages • Strict data ownership • Semantic coherence of elements • Strong interface definitions
Conclusion • Reuse doesn’t come with the compiler • Reuse requires • Organization • Domain knowledge • Architecture