SIGAda 2001, Bloomington Ship System 2000, a Stable Architecture under Continuous Evolution Björn Källberg and Rei Stråhle, © SaabTech Systems AB, Sweden.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Software change management
Configuration management
Operating System.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Operating System Structure
Software Architecture Design Instructor: Dr. Jerry Gao.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Celsius Tech Bass Ch 15 Lecture by a team from
Aalborg Media Lab 21-Jun-15 Software Design Lecture 1 “ Introduction to Java and OOP”
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 8: Designing and developing applications for z/OS.
Establishing the overall structure of a software system
Distributed Information Systems - The Client server model
Chapter 3 Software Two major types of software
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 7: Designing and developing applications for z/OS.
Architectural Design.
 Introduction Introduction  Definition of Operating System Definition of Operating System  Abstract View of OperatingSystem Abstract View of OperatingSystem.
This chapter is extracted from Sommerville’s slides. Text book chapter
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
CSE 303 – Software Design and Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
HERY H AZWIR Computer Software. Computer Software Outline Software and Programming Languages  Software  Programming  Programming language development.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Configuration Management (CM)
OOAD Using UML, v. 3.0 Architectural Design, p. 1 Copyright © 1997 by Rational Software Corporation R Architectural Design.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1 October 20, October 20, 2015October 20, 2015October 20,
1 Problem Solving with C++ The Object of Programming Walter Savitch Chapter 1 Introduction to Computers and C++ Programming Slides by David B. Teague,
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
CelsiusTech: Applying Software Product Lines. Introduction Case study on experience of CelsiusTech AB, a Swedish naval defense contractor that successfully.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Nonbehavioral Specifications Non-behavioral Characteristics Portability Portability Reliability Reliability Efficiency Efficiency Human Engineering.
Programming Fundamentals Lecture No. 2. Course Objectives Objectives of this course are three fold 1. To appreciate the need for a programming language.
CPS120: Introduction to Computer Science Compiling a C++ Program From The Command Line.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
THE SOFTWARE Computers need clear-cut instructions to tell them what to do, how to do, and when to do. A set of instructions to carry out these functions.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Introduction to Operating Systems Concepts
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Maintenance Issues in Software Engineering
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Operating System.
Part 3 Design What does design mean in different fields?
THE OPERATION SYSTEM The need for an operating system
Introduction to Operating System (OS)
Software Processes.
Programming Languages
Chapter 9 – Software Evolution and Maintenance
Hardware & Software Programming. COMP102 Prog. Fundamentals I: Software / Slide 2 l Four components of a computer system: n CPU - central processing unit.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Engineering Group, Motorola India Electronics Pvt. Ltd.,
SOFTWARE DEVELOPMENT LIFE CYCLE
Presentation transcript:

SIGAda 2001, Bloomington Ship System 2000, a Stable Architecture under Continuous Evolution Björn Källberg and Rei Stråhle, © SaabTech Systems AB, Sweden (formerly CelsiusTech Systems, before that: NobelTech Systems, before that: Bofors Electronics, before that: Philips Elektronikindustrier)

SIGAda 2001, Bloomington2 Our Platforms and Track Record

3 Coastal Corvette Göteborg live

4 Ship more stable than primitive rock Incorrect symbol shown in 0.3 sec is a category 1 fault (which prevents delivery) Operator response time is 10 sec from detection of missile(s) until own ship might be hit Safety critical í System is different Many common component technologies can not directly be applied Performance Examples

5 What is an architecture? To create a logical sea! physical view cpu 2cpu 1 cpu n LAN with BS2000 logical view

6 Göteborg class

7 Layered structure Unit of distribution: Program Location independent Asynchronous messages Parametrised components MMI definition language COTS Operating system Ada (and some C, C++) Software Architecture

8 Product Line Management Dev proj 1. Dev proj 2. SS2000 product line Dev proj 3.

9 The Dual Life Cycle The product line or the System Family The development projects

10 Organisation then Product line, Component development Development projects requirements Csc:s spr:s Requirements MMI-development Integration Testing example: 8000 test cases. 15 man, 2 months corrections

11 Organisation now (Customer) project Requirements (Customer) project Requirements Product line, Component development, System backbone (Customer) project

12 Documentation Dead code Compartmentalisation Error corrections and releases Late system testing Parametrisation Complexity increase Not a trivial assembling process Challenges

13 Reuse is not always appreciated by the customer Different shapes of not required code –Extra functionality that can be used –Functionality which can not be used –Code that executes, without any extra functionality –Code that is part of the system, but does not execute –Code that is removed before loading Disadvantages –Learning is difficult, risk of misuse –Performance is not optimal –Code may be excessively large –Maintenance problem Dead Code

SIGAda 2001, Bloomington14 Layered Structure WCS, Weapons and sensors C3, Command management system MMI, Man machine interface Base system, application support Operating system, distributed system Application interfaces Controlled Stable Documented Well known Base for reuse This part is OS dependent

15 Component Organisation adin evha adty evhx baty fddi coco fise daco ipco anco evpr dbai joco dbar jocs dite math dram nosunosi osfuovpiposxopsysrmassifstan sycosylasyletacotihasypatipr acco grpr alha haco coob kema ctpi loin foma maha apsi keha gcfu meha grap mit gren mmif grma mmiw movippmarrscsedtsortrrinsurfsurktrantvcouitxvicowima atdi gade ausu gaex cout gpsi crow hist cryp inpt corr gpos ecsc lora ecsd lsnh envi manomatr naainadeospoossipattnase pico piutpldiplma predregesaccsatisddiresusirasythtaretarp brpo enco bsco guas diir gula dila gupa dipl raa6 dias guco dira rasm disu shbo ditr twsmtwtr ditv tipotrdi trutvelovsbxxtcovisi base system MMI sensors and weapons C3 unchanged new / large modifications smaller modifications teha removed

16 P2 P1P4P3P6P5 IPCO Ada program All programs in one pool

17 Library component New component a component is a set of Ada packages Ada Component Structure (static)

SIGAda 2001, Bloomington18 Program 2 Program 1 LAN messages A message is always l Within a component l Between programs Ada Program Structure

SIGAda 2001, Bloomington19 Distributed MMI interface database P1 P2 P.. Pn General MMI program Operator Application programs MMI Architecture

20 Not an easy integration process Blocks may be simple individually, but it takes a considerable skill and time to build a large system Parameter settings Program allocation Performance estimation Complicated systems Testing

21 Parametrisation Large number of parameters: –Parameterisation is used to adapt functionality –Versions not used –Also to set capacity, performance trimming –In place of understanding requirement, deferring decisions Integration is difficult

22 Error corrections can not be made directly Releases must be synchronised Working components may be changed P1P2P3Release Release Handling

SIGAda 2001, Bloomington23 Complexity: Assume: Total complexity ~ product of component complexity Complexity Increase

24 Ada development –Then: Rational hardware, Rational compilers –Now: PC and Unix based; Aonix, OC Systems, ACT Documentation –Then: VAX/VMS, –Now: Windows NT, RS6000 Aix, –Exco editor (hierarchy and links) –MS Word C-code –VAX/VMS and target –different compilers –PC and Unix Development Environment

25 Education Since 1986 we have had >800 students in >120 courses (incl. basic Ada training, Ada95 & application) Only own employees or from company partners Fundamental training in BaseSystem part of ShipSystem starts with Error Handling, InterProgram Comm, Tactical Config, Parametrisation and MMI Programming Mandatory to follow Application Interface Standards Ada Quality & Style is recommended Deprogramming of C/C++ programmers is essential

SIGAda 2001, Bloomington26 We have succeeded. Degree of reuse is high.

27 Summary The cost is high A product line development is not easy –Software is different from hardware –It is not a production process, it is a development process The difficulties can be overcome –with hard work The result can be very good –but the domain must be limited Stable architecture from start of new project

SIGAda 2001, Bloomington28 ? Question time...