Checking consistency between architectural models using SPIN Requirements and Software Architectures Begin Paola Inverardi, Henry Muccini, Patrizio Pelliccione.

Slides:



Advertisements
Similar presentations
Progetto "Quality and Validation of Software Architectures" Resp. Antonia Bertolino.
Advertisements

Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
Unified Modeling Language
CS3773 Software Engineering Lecture 03 UML Use Cases.
Unified Modeling Language Sequence Diagrams Chapter 2 (JIA)
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
1 UML Component and Deployment Diagrams. Models, Views, and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario.
Software Engineering I Object-Oriented Design
Ivano Malavolta, Henry Muccini, Patrizio Pelliccione Computer Science Department University of L'Aquila - Italy Architectural notations interoperability.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7: The Object-Oriented Approach to Requirements
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Rational Unified Process Fundamentals Module 4: Disciplines II.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Henry Muccini - Computer Science Department, Universita' dell'Aquila, Italy Paola Inverardi - Computer Science Department, Universita'
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
ARTIFACT UML Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw()
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Testing Implementation Conformance with respect to its Architectural specification Software Architectures and Testing Begin Antonia Bertolino IEI - CNR,
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
UML - Development Process 1 Software Development Process Using UML.
4+1 View Model of Software Architecture
Rational Rose For System Design What is Rational Rose? Rational Rose is the visual modeling software solution that lets you create, analyze, design,
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Page 1 An Overview of The COTS-Aware Requirements Engineering and Software Architecting Project (CARE/SA) The University of Texas at Dallas Department.
CompSci 280 S Introduction to Software Development
Design Review.
Software Design Refinement Using Design Patterns
An Overview of Requirements Engineering Tools and Methodologies*
Instructor: Dr. Hany H. Ammar
UML Diagrams: Class Diagrams The Static Analysis Model
Instructor: Dr. Hany H. Ammar
Case Study -- Weather system
Introduction to Unified Modeling Language (UML)
Object-Orientated Analysis, Design and Programming
Online Shopping APP.
COTS testing Tor Stålhane.
Recall The Team Skills Analyzing the Problem (with 5 steps)
Unified Modeling Language
Software Design Lecture : 15.
SWR Use Case Modeling Francis Bordeleau (Mercury Computer Systems/Carleton University) Francois-Xavier Lebas (Thales)
From Use Cases to Implementation
On to Object Design c. 14.
Presentation transcript:

Checking consistency between architectural models using SPIN Requirements and Software Architectures Begin Paola Inverardi, Henry Muccini, Patrizio Pelliccione University of L’Aquila (Italy) {inverard, muccini,

2 Requirements and Software Architectures HenryMuccini   Objective: To validate Software Architectural models with respect to Requirements Objective: To validate Software Architectural models with respect to Requirements   How to do this: How to do this: 1)defining a development process that explicitily identifies and manages coordination. [Coordination2000] 2)validating consistency among scenarios and statecharts… validating SA models of dynamics (statecharts) with respect to the expected behaviors (scenarios) for instance

3 Requirements and Software Architectures HenryMuccini Our approach to gain objective 1   Software Development Process Specifications Software Architecture Step4:drives Step2:drives Step3:validates Step1 Requirement Engineering Unified The Unified + Coordination Software Architecture Requirement Engineering + Coordination Specifications

4 Requirements and Software Architectures HenryMuccini In detail (1/4) Use Case Diagram Analysis model Interaction Diagrams dynamic view static view Activity Diagrams Requirements Specifications SA + drives validates Coordination Specifications Step1: Identification and representation of Coordination Requirements

5 Requirements and Software Architectures HenryMuccini In detail (2/4) Step2: From Requirements to Software Architectures RequirementsSoftware Architecture Analysis model Interaction Diagrams SA description LTS model static view dynamic view drives dynamic view static view Activity Diagrams drives Specifications drives Coordination Specifications

6 Requirements and Software Architectures HenryMuccini In detail (3/4) Step3: Validating Software Architectures RequirementsSoftware Architecture LTS model dynamic view Interaction Diagrams dynamic view Activity Diagrams validates Specifications drives Coordination Specifications drives ???

7 Requirements and Software Architectures HenryMuccini   Is the SA model correct with respect to the Requirements? I.e., is the SA dynamics conform to the Coordination Requirements? SA level scenarios User i Check Coordinator Router sendCheck receiveCheck User Alarm ReqUI Alarm Handl Alarm Input SendAlarm Router User Dbase Exists? Yes Receive Alarm AlarmAck Log File write Alarm Req. level scenarios

8 In detail (4/4) Step4: From SA to Coordination Models Requirements and Software Architectures HenryMuccini Software Architecture SA description LTS model static view dynamic view Coordination Models IWIM Specification drives validates Requirement Engineering + Coordination

9 Requirements and Software Architectures HenryMuccini Our approach to gain objective 2... Validate statecharts with respect to the scenarios Statecharts, LTS, Automaton UML Sequence, MSC, Scenarios P Promela Specification m1 m2 m3 m2 m5 Q Q P Scenarios y b c ?ch1 !ch2 a ?ch2 !ch1 x LTL Formulae SPINSPIN Process P Process Q

10 Requirements and Software Architectures HenryMuccini In detail (1/2) Step1: State -> Promela Statecharts

11 Requirements and Software Architectures HenryMuccini In detail (2/2) Step2: Scenario -> LTL Formula P m1 Q m2 m1 (ch[ch1_s].pos[0] < ch[ch2_s].pos[0] < ch[ch2_r].pos[0] < ch[ch1_r].pos[0]) && (ch[ch1_s].pos[0] = 1) && (ch[ch2_s].pos[0] = 2) && (ch[ch2_r].pos[0] = 3) && (ch[ch1_r].pos[0] = 4) P sends m1 before P sends m2 before Q receives m2 before Q receives m1 AND Send m1 is the first operation AND Send m2 is the second operation AND Receive m2 is the third operation AND Reveice m1 is the fourth operation Scenarios

12 Requirements and Software Architectures HenryMuccini Integrating the approaches RequirementsSoftware Architecture Use Case Diagram Analysis model Interaction Diagrams SA description LTS model static view dynamic view drives dynamic view static view Coordination Models IWIM Specification drives Validates using SPIN LTL Formulae Promela Spec.

13 Requirements and Software Architectures HenryMuccini Applying the Approach TRMCS Case Study

14 Requirements and Software Architectures HenryMuccini User AlarmRequest UI AlarmHandler CheckRequest UICheckHandler Router Server sendAlarm sendCheck receiveCheck receiveAlarm UserDbase RouterDbase Log File write&read write read ErrorHandler AlarmInput User Alarm Handler Router Alarm1 Ack1 Alarm Handler Server Ack1 Check Handler Check Alarm1 Analysis model Dynamics LTL Formula

15 Requirements and Software Architectures HenryMuccini SA topology User i Router Server Alarm Coordinator Check Coordinator sendCheck sendAlarm receiveAlarm receiveCheck sendAlarm receiveAlarm sendAck receiveAck sendAck receiveAck Timer Coordinator Clock SA dynamics Promela

16 Requirements and Software Architectures HenryMuccini An architectural Error we found: Req: An User can send Alarms and Checks whenever he wants SA statechart: SA statechart: An User can send a second check (Check2) only if the first check (Check1) as been forwarded to the Router Component UserRouter Check Handler Check1 Check2 UserRouter Check Coord Check1 Check2

17 Ongoing and Future Works   Tool Support   Step1 Refinement (in [ConCoord’01])   Enriched Statecharts and Scenarios   Mapping   Case StudyTimePerformance Requirements and Software Architectures HenryMuccini

18 Requirements and Software Architectures HenryMuccini … and after your presentations...   Use Case Diagrams Vs. Actors and Goals   Our process Vs. Goal Oriented Req.

Requirements and Software Architectures Henry Muccini Henry Muccini Ph-D Student in Computer Science University of L’Aquila - Italy