1 / 26

SE 380 Software Architecture

SE 380 Software Architecture. Chapter 15. Celsius Tech A Case Study in Product Line Development. CelsiusTech AB. CelsiusTech AB, a Swedish naval defense contractor Successfully adopted a product line approach to building complex software intensive systems Ship System 2000 (SS2000)

Sophia
Télécharger la présentation

SE 380 Software Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SE 380Software Architecture Chapter 15. Celsius Tech A Case Study in Product Line Development

  2. CelsiusTech AB • CelsiusTech AB, • a Swedish naval defense contractor • Successfully adopted a product line approach to building complex software intensive systems • Ship System 2000 (SS2000) • A product line consists of shipboard command and control systems

  3. ABC Stakeholders Various Navies Requirements (Qualities) Fault Tolerance Tailorability Asset Re-Use Time to Market Architect(s) Architecture Developing Org Celsius Tech Technical Env Ada Object Orientation Iterative development Architect’s Experience Real-time Embedded C3I System SS2000 Products

  4. Relationship to the ABC • CelsiusTech was composed of three companies • CelsiusTech Systems (advanced s/w systems) • CelsiusTech Electronics (defense electronics) • CelsiusTech IT (IT systems) • Employed about 2000 people • Annual sales of 300million U.S. dollars • Case study focuses on CelsiusTech Systems • Focus includes C3 systems, fire control, electronic warfare systems for navy, army and air force.

  5. SS2000 Naval Product Line • SS2000 (Mk3) product line • Integrated system that unifies all weapons, C3 systems on a warship. • Includes 1M to 1.5M lines of Ada Code • Distributed on a local are network with 30 to 70 microprocessors • Wide variety of naval systems have been built from product line • Both Surface and Submarine • Systems build from the product line vary greatly in size, function and armaments • Sold more than 50 of its Mk3 naval systems

  6. Requirements • Each country requires its own operator displays • Run on different hardware • Different presentation languages • Varying interfaces to Sensors and weapons systems • Submarines have different requirements than surface vessels • Computers include 68020, 68040, DEC Alpha platforms • OS’s include OS2000, IBM’s AIX, POSIX, Digital’s Ultrix and others

  7. Motivation for Product Line • History • Prior to 1986 • Developed over 100 systems • In 25 configurations • Ranging in size from 30K to 70K SLOC in the fire control domain • From 1975 to 1980 • Shifted its technology from analog to 16 bit digital • Small, real time and embedded (Mk2) systems • Expanded system functionality and expertise in real time systems • Delivered 15 systems

  8. Motivation for Product Line • History • From 1980 to 1985 • Requirements shifted toward integration of fire control and weapons with C&C • Increased size and complexity of delivered systems • Mk2 architecture was expanded to Mk2.5 • Code 700K SLOC • Problems • Difficulties in predictable and timely integration, cost overruns, schedule slippage • 1985, a defining event for CelsiusTech • Awarded two major contracts simultaneously • Swedish Navy and Danish Navy

  9. New Strategies • New business strategy • Potential opportunity of selling and building a family of related systems • Began SS2000 product line • Recognition of a 20 to 30 year lifespan for naval systems • More flexible and extensible product line • Time of high technology flux

  10. New Strategies • New technical strategy • Must provide a flexible and robust set of building blocks • Should be easy to assemble new systems • New hardware, new software and new supporting development approach • HW: VAX/VMS minicomputers to Motorola 68000 microcomputers • Waterfall to iterative development • Object based • Distributed and fault tolerant systems • Custom and local development to large and commercially supplied environment • Serve as the infrastructure for new systems development for the next decade or two

  11. Organizational Structure • Prior to 1986 Mk2.5 Project Family Manager Command And Control Project Manager Tracking Project Manager Communications Project Manager Operators Console Project Manager Base System Project Manager System Integration Project Manager

  12. Organizational Structure • Late 1986 to 1991 SS2000 General Program Manager Marketing • Architecture • Team • Authority, responsibility • for product line • architecture, definition, • integrity, evolution • Customer Project • Management • Manages individual • customer products built • from the product line • Integration • And CM Team • Drives iterations • Manages asset integrity, • and consistency across • Product line and customer project Product line software development teams C3 HCI Weapons Fundamental services

  13. Architectural Solution • Module decomposition view • To show assignment of responsibilities to different large scale elements of the system • Layered view • To show how the separation of concerns was accomplished • Process view • To show how distribution was accomplished

  14. Module Decomposition View • CelsiusTech modules are called system functions and system function groups System Family System Function Group System Function Ada Unit Produces System Product

  15. Module Decomposition View • A System function • Collection of s/w that implements logically connected set of requirements • Composed of a number of Ada code • A System function group • Comprises of a set of system functions • Forms the basic work assignment for a development team • SS2000 consists of • 30 system function groups • Each group consisting of 20 or so system functions • System functions are clustered around major functional areas • Command, control and communication • Weapons control • Human computer interface • Fundamentals – intra system communication and interfacing with computing environment.

  16. Module Decomposition View • System function groups • Bigger pieces of functionality developed by a large team • Sometimes separate s/w requirements specification is written for each system function group • System functions and function groups are the basic units of test and integration of the product line • Assembly of large pre-tested elements was key to re-use

  17. Layered View • Layered as follows • Grouping of modules based on type of information they encapsulate • Modules for h/w, LAN, internode communication protocols • Modules that implemented common functionality to all members of the family • Modules specific to a particular customer product • Layers are ordered • With Hardware dependent layers at one end of the relation and application specific layers at the other • Layering is strict • Can only access modules in its own layer or the next lower layer

  18. SS2000 Layered Software Architecture General Applications ASC Target Tracking Fire Control ECM Common Applications Picture Compilations Ship Information Fundamentals Tactical Configuration Common Functions Database Diagnostics Base System 2000 IPC LAN OS - 2000 Base System Hardware

  19. Process view • Each CPU runs a set of Ada programs • Each Ada program runs on at most one processor • A program may consist of several Ada tasks • Systems in the SS2000 product line can consist of up to 300 Ada programs

  20. Process View • Distributed computing platform requirement requires • Communication between processes • Introduce concurrency • Deadlock avoidance • Communication protocols • Fault tolerance (processor and link) • Network management and saturation avoidance • Coordination among tasks

  21. Process View • Tasks include the following • Communication among components is by passing of strongly typed messages • Compile time elimination of errors • Components can be written independently. • Inter-process communication is the protocol for data transport between ada applications • Location independence • Ada task facilities are used to implement the threading model

  22. Using the COOB Track Updates Updates Updates Data-Providing Application COOB HCI Requests Requests Track Updates

  23. Process View • Producer of data • Produces data without knowing its consumer • Data maintenance and update are conceptually separate from data usage • Introduce intermediary to achieve modifiability • Data producing conventions • Data is only sent when it is altered • Data is presented as object oriented abstractions • Data is distributed to reduce response time • Data is kept consistent within the system over the long-term • Data is accessible to all interested parties at all nodes in a system • Components own the data they alter and supply access procedures that act as monitors

  24. Process View • Network related conventions • Network load is kept low by design • Only essential information is transmitted • Data channels are error resistant • Applications resolve errors • It is acceptable for an application to miss an occasional data update • Interpolated.

  25. How quality goals are achieved?

  26. How quality goals are achieved?

More Related