se 380 software architecture
Download
Skip this Video
Download Presentation
SE 380 Software Architecture

Loading in 2 Seconds...

play fullscreen
1 / 26

SE 380 - PowerPoint PPT Presentation


  • 426 Views
  • Uploaded on

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)

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

PowerPoint Slideshow about 'SE 380' - Sophia


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

SE 380Software Architecture

Chapter 15.

Celsius Tech

A Case Study in Product Line Development

slide2

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
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

relationship to the abc
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
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
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
motivation for product line
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
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
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
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
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

organizational structure12
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

architectural solution
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
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

module decomposition view15
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
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
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
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

process view
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
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
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
Using the COOB

Track Updates

Updates

Updates

Data-Providing

Application

COOB

HCI

Requests

Requests

Track Updates

process view23
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
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.
ad