V T T E L E C T R O N I C S 1 Tuomas Ihme An SDL Framework for X-ray Spectrometer Software Tuomas Ihme VTT Electronics SAM98, 29.6 - 1.7.1998.

Slides:



Advertisements
Similar presentations
OBP Research Oy for simpler creation of embedded systems.
Advertisements

Software Design Deriving a solution which satisfies software requirements.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Software Reuse Building software from reusable components Objectives
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
The Architecture Design Process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Systems Engineering Project: System Validation and Verification Using SDL Ron Henry ENSE 623 November 30, 2004.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Building software from reusable components.
Router modeling using Ptolemy Xuanming Dong and Amit Mahajan May 15, 2002 EE290N.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
SWE Introduction to Software Engineering
Winter 2012SEG Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling.
Course Instructor: Aisha Azeem
Introduction to Software Testing
Software Product Lines Krishna Anusha, Eturi. Introduction: A software product line is a set of software systems developed by a company that share a common.
Domain-Specific Software Engineering Alex Adamec.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
EtherCAT Protocol Implementation Issues on an Embedded Linux Platform
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
Design Patterns.
Software Engineering Reuse.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
Business Analysis and Essential Competencies
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Lecture 9: Chapter 9 Architectural Design
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
1 Introduction to Design. 2 Outline Basics of design Design approaches.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
1 UMBC CMSC 104, Section Fall 2002 Functions, Part 1 of 3 Topics Top-down Design The Function Concept Using Predefined Functions Programmer-Defined.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
CMSC 104, Section 301, Fall Lecture 18, 11/11/02 Functions, Part 1 of 3 Topics Using Predefined Functions Programmer-Defined Functions Using Input.
Review of last class Software Engineering Modeling Problem Solving
Complexity Time: 2 Hours.
Model-Driven Analysis Frameworks for Embedded Systems
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Object-Oriented Design
An Introduction to Software Architecture
Chapter 5 Architectural Design.
Presentation transcript:

V T T E L E C T R O N I C S 1 Tuomas Ihme An SDL Framework for X-ray Spectrometer Software Tuomas Ihme VTT Electronics SAM98,

V T T E L E C T R O N I C S 2 Tuomas Ihme The Space2000/sw project A part of the technology programme Space 2000 funded by TEKES Goal: evaluate and adapt software methodologies for space software Participants: CCC Systems Oy, Patria Finavitec Oy Systems, Space Systems Finland Oy, TEKES and VTT Electronics Duration: November, June, 1998 Results: –An evaluation framework for software methodologies –An outline of component-based development of mission critical software –Product data management (PDM) solutions for embedded systems in space applications

V T T E L E C T R O N I C S 3 Tuomas Ihme Outline The Measurement Control architectural pattern for designing the centralised control architecture of SDL models for spectrometer control software. An SDL design framework for the spectrometer controller family. The experience gained from the development of the SDL pattern and framework Conclusions

V T T E L E C T R O N I C S 4 Tuomas Ihme Measurement Control architectural pattern Intent –The Measurement Control architectural pattern introduces a centralised control architecture for the Measurement subsystem of X-ray spectrometer controllers. Motivation –Centralised control architecture is very common in embedded control software. The architecture is also known as master-slave architecture. –The complexity of control is centralised on the master. This makes it easy to modify and maintain the software. –The master-slave architecture is well suited to hard real-time systems requiring complete timing predictability.

V T T E L E C T R O N I C S 5 Tuomas Ihme The structure of the Measurement Control architecture

V T T E L E C T R O N I C S 6 Tuomas Ihme A message scenario typical of the Measurement subsystem

V T T E L E C T R O N I C S 7 Tuomas Ihme The SDL fragment of Data Acquisition Control

V T T E L E C T R O N I C S 8 Tuomas Ihme Semantic properties of Data Acquisition Control Property 1: If the assumptions stated below hold, Measurement Control will eventually receive the MeasOK signal from Data Acquisition Control after sending the StartMeas or StopMeas signal. The assumptions are as follows:  The StartMeas, StopMeas and MeasOK signals are not implicitly consumed by the superclasses.  The transmission of the signals between Measurement Control and Data Acquisition Control is reliable.  The MeasOK signal will always be sent before the state DA_WAIT_START.  The state DA_WAIT_START will eventually always be reached.

V T T E L E C T R O N I C S 9 Tuomas Ihme Redefinition of Data Acquisition Control The embedded SDL fragment will be supplemented by additional statements for acquiring spectrum data from an array detector and sending spectrum signals to Data Management. Property 1 still holds, if the pattern is redefined by the introduction of additional statements, which do not disrupt or bypass the thread of control from predefined input to predefined output statements. However, the thread of control from the StopMeas input signal will be bypassed by threads of control that end in the MeasOK output statement and the state DA_WAIT_START. During observation in the DA_WAIT_STOP state the thread of control stays in the polling loop of the hardware/software interface several hours. The polling will have to be continuous in order to meet the requirements set on the data collection speed. The continuous polling will be replaced with periodic polling using a timer- triggered transition from the DA_WAIT_STOP state for the simulation purposes of the system.

V T T E L E C T R O N I C S 10 Tuomas Ihme The SDL fragment of Data Management

V T T E L E C T R O N I C S 11 Tuomas Ihme Semantic properties of Data Management The SendNoBlocks signal has to be sent to the environment with the number of blocks after the SendNo signal from Measurement Control. The SendNextBlock signal has to be sent to the environment with the next data block after the SendBlock signal from Measurement Control. Property 1: If the assumptions stated below hold, then Measurement Control will eventually receive the SendOK signal from Data Management after sending the SendBlock signal. The assumptions are as follows:  The ClearData, SendNo and SendBlock signals are not implicitly consumed by the superclasses.  The indexes and counters in Data Management are properly initialised and modified.  The state FM_WAIT will eventually always be reached.

V T T E L E C T R O N I C S 12 Tuomas Ihme Redefinition of Data Management The embedded SDL fragment will be supplemented by additional transitions and statements for saving the science data sent by Data Acquisition Control. Property 2 determines the allowed redefinitions:  Property 2: Property 1 still holds, if the pattern is redefined by the introduction of additional transitions from the FM_WAIT state for saving the science data associated with spectrum signals from Data Acquisition Control. The indexes and counters in Data Management must be properly initialised and modified in the additional transitions. The state FM_WAIT must eventually always be reached at the end of the additional transitions.

V T T E L E C T R O N I C S 13 Tuomas Ihme SDL framework for spectrometer controllers The SDL framework includes SDL models of measurement subsystems for a family of spectrometer controllers.

V T T E L E C T R O N I C S 14 Tuomas Ihme The documentation structure of the SDL framework The SDL models are partitioned in three modules of the Telelogic SDT tool: –Abstract Spectrometer Framework Model, –EGY Framework Definition Model and –SEC Framework Definition Model.

V T T E L E C T R O N I C S 15 Tuomas Ihme The Abstract Spectrometer Framework Model

V T T E L E C T R O N I C S 16 Tuomas Ihme Measurement Domain Object Model

V T T E L E C T R O N I C S 17 Tuomas Ihme The EGY Framework Definition Model

V T T E L E C T R O N I C S 18 Tuomas Ihme The SEC Framework Definition Model

V T T E L E C T R O N I C S 19 Tuomas Ihme Reusability of the SDL framework The SDL framework supports several strategies for the reuse of SDL components. The dependency relationships between the component systems in the framework are well-defined and documented. The variable aspects of the framework are documented.

V T T E L E C T R O N I C S 20 Tuomas Ihme The selection of different Spectrometer Controller system models

V T T E L E C T R O N I C S 21 Tuomas Ihme The selection of concrete control processes

V T T E L E C T R O N I C S 22 Tuomas Ihme The selection of concrete data acquisition strategies

V T T E L E C T R O N I C S 23 Tuomas Ihme Component System Dependencies Dependence is highest at the top of the diagram and lowest at the bottom.

V T T E L E C T R O N I C S 24 Tuomas Ihme Variable Aspects The VariationPoint links from aspect objects to SDL components are used to identify the locations in the SDL framework at which variations will occur.

V T T E L E C T R O N I C S 25 Tuomas Ihme Conclusions The used SDL pattern approach and templates proved well suited to the rather passive slave components of the spectrometer software. The proposed Measurement Control pattern had an important role in designing the architecture of SDL models in the SDL framework for a family of spectrometer controllers. The existing strategy pattern appeared to be useful in the documenting of component interfaces and design, as well as the reuse strategies of the framework.

V T T E L E C T R O N I C S 26 Tuomas Ihme Conclusions (cont.) Problems were encountered in the description of complex master components. –The use of MSCs for the definition of pattern properties in addition to textual descriptions was proposed. Problems were encountered in the description of domain-specific architectural SDL fragments. –Dedicated means are needed for the documentation of variability and dependencies. –Special means are needed for the configuration rules of SDL components. Not all components of spectrometer controller software can be implemented in SDL. – The framework should allow attaching non-SDL components. The framework proved difficult to develop, understand and maintain by means of the existing CASE tools. Difficult to apply general design patterns in SDL design –Object-oriented features of SDL are specific to SDL –SDL lacks a sound interface support.