SE 380 Software Architecture - PowerPoint PPT Presentation

Se 380 software architecture l.jpg
1 / 26

  • Uploaded on
  • Presentation posted in: Industry

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)

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Se 380 software architecture l.jpg

SE 380Software Architecture

Chapter 15.

Celsius Tech

A Case Study in Product Line Development

Slide2 l.jpg

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

Slide3 l.jpg



Various Navies



Fault Tolerance


Asset Re-Use

Time to Market



Developing Org

Celsius Tech

Technical Env


Object Orientation

Iterative development

Architect’s Experience

Real-time Embedded C3I


SS2000 Products

Relationship to the abc l.jpg

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.

Ss2000 naval product line l.jpg

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

Requirements l.jpg


  • 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

Motivation for product line l.jpg

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

Motivation for product line8 l.jpg

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

New strategies l.jpg

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

New strategies10 l.jpg

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

Organizational structure l.jpg

Organizational Structure

  • Prior to 1986

Mk2.5 Project

Family Manager
























Organizational structure12 l.jpg

Organizational Structure

  • Late 1986 to 1991

SS2000 General

Program Manager


  • 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






Architectural solution l.jpg

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

Module decomposition view l.jpg

Module Decomposition View

  • CelsiusTech modules are called system functions and system function groups

System Family

System Function Group

System Function

Ada Unit


System Product

Module decomposition view15 l.jpg

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.

Module decomposition view16 l.jpg

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

Layered view l.jpg

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

Ss2000 layered software architecture l.jpg

SS2000 Layered Software Architecture

General Applications







Common Applications












Base System 2000



OS - 2000

Base System Hardware

Process view l.jpg

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

Process view20 l.jpg

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

Process view21 l.jpg

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

Using the coob l.jpg

Using the COOB

Track Updates









Track Updates

Process view23 l.jpg

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

Process view24 l.jpg

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.

How quality goals are achieved l.jpg

How quality goals are achieved?

Slide26 l.jpg

How quality goals are achieved?

  • Login