Formal Methods Integration in Software Engineering Isabelle Perseil, Laurent Pautet



Similar documents
School of Computer Science

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

The Service Revolution software engineering without programming languages

AADL et la conception des logiciels

Architecture Design & Sequence Diagram. Week 7

Presentation of the AADL: Architecture Analysis and Design Language

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

Applying 4+1 View Architecture with UML 2. White Paper

Service-Oriented Architectures

Introduction and Overview

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

Chap 1. Introduction to Software Architecture

Integrating real-time analysis into design flows

2. Analysis, Design and Implementation

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

ABET General Outcomes. Student Learning Outcomes for BS in Computing

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

R&D and Topcased (led by Silvia Mazzini)

i. Node Y Represented by a block or part. SysML::Block,

The SPES Methodology Modeling- and Analysis Techniques

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Model Transformations and Code Generation

Overview of major concepts in the service oriented extended OeBTO

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Language-oriented Software Development and Rewriting Logic

Table of Contents. Preface. Chapter 1 Introduction 1.1 Background. 1.2 Problem description. 1.3 The role of standardization. 1.4 Scope and objectives

Business Process Modeling with Structured Scenarios

Masters in Human Computer Interaction

Formal Engineering for Industrial Software Development

Masters in Advanced Computer Science

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Masters in Artificial Intelligence

INNOVATOR. The integrated tool suite for business process and software engineering

Masters in Networks and Distributed Systems

Masters in Computing and Information Technology

Ontology and automatic code generation on modeling and simulation

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Object-Oriented Systems Analysis and Design

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Service Oriented Architecture

Generating Aspect Code from UML Models

School of Computer Science

Real Time Developer Studio. Emmanuel Gaudin

Comparison of Component Frameworks for Real-time Embedded Systems

Frameworks of Process Improvement for Mobile Applications

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Architecture Description Languages

Chapter 4 Software Lifecycle and Performance Analysis

Java Programming (10155)

Karunya University Dept. of Information Technology

Requirements engineering

DATA MANAGEMENT STANDARDS IN COMPUTER-AIDED ACQUISITION AND LOGISTIC SUPPORT (CALS)

Engineering Process Software Qualities Software Architectural Design

Verifying Semantic of System Composition for an Aspect-Oriented Approach

State of the art Software Modeling. Tony Elliston. SIGADA 2004 Atlanta

Course DSS. Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization

Masters in Information Technology

Definition of a Software Component and Its Elements

WebSphere Business Modeler

A UML Introduction Tutorial

Foundations of Model-Driven Software Engineering

M3039 MPEG 97/ January 1998

School of Computer Science

Tool-Based Business Process Modeling using the SOM Approach

Designing Real-Time and Embedded Systems with the COMET/UML method

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm

PIE. Internal Structure

Semantic-enabled Software Engineering and Development

Software Engineering Reference Framework

The Timing Definition Language (TDL)

Compliance and Requirement Traceability for SysML v.1.0a

Chapter 5 Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Mapping from Business Processes to Requirements Specification

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

[Refer Slide Time: 05:10]

Requirements engineering and quality attributes

Test Driven Mobile Applications Development

Design Document Version 0.0

TDDC88 Lab 2 Unified Modeling Language (UML)

Language for reconfiguring runtime infrastructure of component-based systems

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Approach to Service Management

Chapter 5. Warehousing, Data Acquisition, Data. Visualization

Enterprise Architecture: Practical Guide to Logical Architecture

How To Test On A Model Driven Test On An Embedded System

Getting Embedded C Applications to Market Faster using the Model-Driven Development Technologies of Modeling, Simulation and Code Generation

An Analysis of Reference Architectures for the Internet of Things

Information and Communications Technology Courses at a Glance

Design a medical application for Android platform using model-driven development approach

Security Issues for the Semantic Web

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

MDE Adoption in Industry: Challenges and Success Criteria

A methodology for secure software design

Transcription:

Formal Methods Integration in Software Engineering Isabelle Perseil, Laurent Pautet Workshop UML&FM 2009 / ICFEM 2009 Rio de Janeiro, Brazil, December, the 8th, 2009

Contents Objectives of the C-Method (a new software engineering method) Issues: from non formal to semi-formal, from semi-formal to formal, from formal to semi-formal General approach Define the abstraction levels Introduce intermediate languages to allow the management of the overall process (seamless process, understandable) Make a round-trip between formal and semi-formal notations Conclusions page 1

Objectives of the C-Method 1. A well-defined software development life-cycle with a seamless flow 2. A software development process adapted for DRES 3. A set of (standards) modeling notations (for each purpose, requirements capture, architecture design, etc..) 4. A compositionality of these different notations to ensure they fit together 5. The availability of real-time notations as to describe concurrency, synchronization, etc 6. An early binding of software components to hardware components 7. A possible decomposition of the software architecture that is amenable to processor allocation, schedulability and timing analysis 8. The integration of non-functional requirements 9. The integration of scheduling paradigms within the design process 10. Ease of use of the method, CASE tool support page 2

Starting with the elements of a metamethod The elements identification ensure the exhaustiveness of all the necessary steps page 3

Issues: dealing with heterogeneous languages and their abstraction levels abstraction page 4

Non Functional Functional C-Method and its lifecycle guided by the abstraction levels Proofs / Verification page 5

Detailing the abstraction phase (on the functional part) UseCase Diagram Sequence Diagram Actor Class A cognitive means to deal with complexity (Jeff Kramer) Removing detail Identification of generalizations or common features Use Case Use Cases Model + a controlled language (RDL) informal requirement consistency Dictionary Initial Requirements Document page 6

Realizing the Implementation phase MDD approach (ACCORD/UML) on descending phase of lifecycle Real-time PIM Model Transformation RegulatScre en Test generation Phase d'introduction Phase de croissance Temps Phase de maturité Verification Phase de déclin Total des ventes Scheduling & WCET analysis Concrete techniques: From MARTE to AADL Mapping MARTE AADL ATL Transformations ATL : coding the transformations rules inside modules «component» SpeedRegulator Platform Specific Models Code generation C 1 p «component» RegulatScreen» «compone» ControlRegul C 2 p Plateform Models «component» Syst1 «component» Syst2 CORBA CCM, EJB, XML/SOAP, MW dédié Subset of xuml (fuml) + Action semantics (concrete syntax) +CAL algorithm language ANTLR Ada code generation techniques page 7

Enforcing the formal methods integration: a formal use-case driven method formal uc while ( ( Rank [ q ] / = 0) /\ ( ( Rank [ q ], q ) < (Rank [a_process], a_process ) ) ) do ; done; Why specification Complex S q => Z q PVS proof safety_property : THEOREM invariant(lambda(s:state) : (NOT (s`pi2 = critical AND s`pi1 = critical))) +CAL specification while ( ( Rank [ q ] / = 0) /\ ( ( Rank [ q ], q ) < (Rank [a_process], a_process ) ) ) do skip ; end while ; simple integration MARTE specification SRM modeling framework SW_interaction package SwMutualExclusionResource proofs repository Ada program exit when (Rank ( q )=0) or (Rank (a_process)> (Rank ( q ) ) or (a_process > q ) MARTE2AADL Ocarina AADL specification Concurrency_Control_Protocol property thread enters a critical region : Get_Resource (on the shared data component) exit from a critical region: Release_Resource page 8

PBSE approach: the proof tree page 9

Proof-based use cases: a sub-objectives technique z Root specification sub-problem specification «include» «include» «include»...... Z(a 2 ) Z(k 2 ) Z(n 2 ) «include» «include»......... «include» Z(a h ) z(k t ) z(n u ) [S 1 ] [S j ] [S q ] [S] = i {1,q} [S i ] proofs repository page 10

Proof-based use cases: a sub-objectives technique Approach: the sequent logic eases the sub-proofs representation page 11

Conclusions and future works The C-Method is based upon the use of three standards: +CAL/TAL+ for formal specification MARTE at the Analysis level AADL at the design level Model transformation and code generation seamless process Formal methods are part of the transformation Understandable by the average engineer reuse Other integration techniques: Hybridization ( as used for modeling discrete and continuous time with the Chi language) page 12