Formal representations

Slides:



Advertisements
Similar presentations
R&D Attitude Control System in AADL How will complexity and variation in embedded systems be captured? Can system-level design process benefit from system-level.
Advertisements

Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
Introduction to Graph “theory”
ComS 512 Project John Altidor Michelle Ruse Jonathan Schroeder.
Corporate Property Automated Information System (CPAIS) Macro Walkthrough Guide for Excel Version 2003.
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
A NoC Generation and Evaluation Framework
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
1 Module 25 Decision problems about regular languages –Basic problems are solvable halting, accepting, and emptiness problems –Solvability of other problems.
Modified from Silberschatz, Galvin and Gagne ©2009 Lecture 8 Chapter 5: CPU Scheduling.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
C++ fundamentals.
CMSC 345 Fall 2000 Unit Testing. The testing process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
9/23/2015ACM-ICPC1 Maximum Flow Problem Source t fg e 42 Target (sink) flow capacity b s c a de 2/3/ actual flow 1/2/ 1/ 2/ 1.Actual flow  capacity.
CSC 480 Software Engineering Lecture 14 Oct 16, 2002.
Chapters 7, 8, & 9 Quiz 3 Review 1. 2 Algorithms Algorithm A set of unambiguous instructions for solving a problem or subproblem in a finite amount of.
CpSc 875 John D. McGregor C14 - Analysis. Architecture Analysis We have focused on quality attributes We need ways to measure each attribute First latency.
CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.
Network Optimization Problems
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
The Category-Partition Method for Specifying and Generating Functional Tests. Thomas J. Ostrand and Marc J.Balcer [ CACM,1988 ]. Slides from Prof. Shmuel.
System Testing Beyond unit testing. 2 System Testing Of the three levels of testing, system level testing is closest to everyday experience We evaluate.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Markov Random Fields in Vision
Exploring Taverna engine Aleksandra Pawlik materials by Katy Wolstencroft University of Manchester.
A Brief Introduction to Architectural Modeling Using AADL and Collaborative, Adaptive Cruise Control John D. McGregor Roselane S. Silva.
CPU Scheduling CSSE 332 Operating Systems Rose-Hulman Institute of Technology.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Advanced Data Structures Lecture 1
Instructor Materials Chapter 6: Quality of Service
Data Structures Using C, 2e
Chapter 6: CPU Scheduling
EE 122: Lecture 19 (Asynchronous Transfer Mode - ATM)
Simulation.
Chapter 5a: CPU Scheduling
Lectures Queues Chapter 8 of textbook 1. Concepts of queue
Structural testing, Path Testing
Chapter 6: CPU Scheduling
Software Development Cycle
Chapter 5: CPU Scheduling
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Maximum Flow Problem flow capacity Actual flow  capacity
Intractable Problems Time-Bounded Turing Machines Classes P and NP
Instructor: Shengyu Zhang
Algebraic Limits and Continuity
John D. McGregor Scheduling Threads
Intractable Problems Time-Bounded Turing Machines Classes P and NP
Java Programming Loops
Chapter5: CPU Scheduling
Chapter 5: CPU Scheduling
Chapter 6: CPU Scheduling
John D. McGregor Design Concept C5
Chapter 5: CPU Scheduling
Copyright © Aiman Hanna All rights reserved
Java Programming Loops
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Module 5: CPU Scheduling
Software Development Cycle
Chapter 6: CPU Scheduling
Lab 8: GUI testing Software Testing LTAT
Heaps & Multi-way Search Trees
CPU Scheduling: Basic Concepts
Module 5: CPU Scheduling
Presentation transcript:

Formal representations John D. McGregor C13_2019

07tn043 The link from the previous slide set for technical note 43 in 2007 is broken. Here is a different link to it. https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=8277

Structures We characterized an architecture as a graph Modules are the nodes in the graph A module encapsulates a concept Each module has responsibilities related to the concept Therefore, one criteria for defining modules is identifying the boundaries of concepts

Flows-1 A flow is a path through a module from one input port to an output port or a sink Our job is to identify all of the flows that are necessary to satisfy all of the requirements for that module At the module level we don’t care about the internal structure only from input to output It is an estimate

Flows-2 Each segment of a flow takes a finite amount of time Experience helps in estimation of latency Each source, sink, and flow path has a latency value As a module is decomposed we make estimates of the latency of each part adding up to the original estimate for the total

Connections Work gets done by data flowing from module to module through the graph A connection is a flow from an output port of one module to an input port of another module Latency on a connection is due largely to Technologies used Amount of data to be transferred

Connections Work gets done by data flowing from module to module through the graph A connection is a flow from an output port of one module to an input port of another module Latency on a connection is due largely to Technologies used Amount of data to be transferred

Connections - 2 Security, as a property, is viewed as whether info from one module should be seen in the connected module In AADL Security has an integer value from 1 to 5

Analyses Create an instance of the system Click on the instance in the AADL Navigator Right click on Analyses and then on the analysis you wish to run Select that analysis and check the reports folder under the Instances folder

OSATE Latency Analysis – 1 Latency analysis with preference settings: asynchronous system/major partition frame/worst case as deadline/best case as empty queue Latency results for end-to-end flow 'datasetProcessing.processingflow' of system 'SensorProcessing.impl', Result,Min Specified,Min Actual,Min Method,Max Specified,Max Actual,Max Method,Comments, thread datasetProcessing.dsrc,,0.0ms,no latency,,0.0ms,no latency, connection dsrc.samplesOut -> tg.taskA.samplesIn,,0.0ms,no latency,,0.0ms,no latency, thread datasetProcessing.tg.taskA,,0.0ms,queued,,600.0ms,queued,Assume best case empty queue, thread datasetProcessing.tg.taskA,400.0ms,40.0ms,processing time,500.0ms,50.0ms,processing time,Using execution time as deadline was not set, connection taskA.samplesOut -> taskB.samplesIn,,0.0ms,no latency,,0.0ms,no latency, thread datasetProcessing.tg.taskB,,0.0ms,queued,,360.0ms,queued,Assume best case empty queue, thread datasetProcessing.tg.taskB,200.0ms,20.0ms,processing time,300.0ms,30.0ms,processing time,Using execution time as deadline was not set, connection taskB.samplesOut -> taskC.samplesIn,,0.0ms,no latency,,0.0ms,no latency, thread datasetProcessing.tg.taskC,,0.0ms,queued,,240.0ms,queued,Assume best case empty queue,

OSATE Latency - 2 thread datasetProcessing.tg.taskC,100.0ms,10.0ms,processing time,200.0ms,20.0ms,processing time,Using execution time as deadline was not set, connection taskC.samplesOut -> taskD.samplesIn,,0.0ms,no latency,,0.0ms,no latency, thread datasetProcessing.tg.taskD,,0.0ms,queued,,360.0ms,queued,Assume best case empty queue, thread datasetProcessing.tg.taskD,200.0ms,20.0ms,processing time,300.0ms,30.0ms,processing time,Using execution time as deadline was not set, connection tg.taskD.samplesOut -> dsnk.samplesIn,,0.0ms,no latency,,0.0ms,no latency, thread datasetProcessing.dsnk,,0.0ms,no latency,,0.0ms,no latency, Latency Total,900.0ms,90.0ms,,1300.0ms,1690.0ms,, Specified End To End Latency,,1500.0ms,,,2000.0ms,, End to end Latency Summary, WARNING,Minimum specified flow latency total 900.0ms less than expected minimum end to end latency 1500.0ms (better response time), WARNING,Minimum actual latency total 90.0ms less than expected minimum end to end latency 1500.0ms (faster actual minimum response time), SUCCESS,Maximum actual latency total 1690.0ms is less or equal to expected maximum end to end latency 2000.0ms, WARNING,Jitter of actual latency total 90.0..1690.0ms exceeds expected end to end latency jitter 1500.0..2000.0ms,

AGREE http://mys5.org/Proceedings/2014/Day_1_S5_2014/2014-S5-Day1-13_Backes.pdf Examples: https://github.com/osate/examples/blob/master/core-examples/agree/agree_basic1.aadl

Resolute https://www.slideserve.com/evelyn-oneal/resolute-an-assurance-case-language-for-architecture-models https://github.com/osate/examples/tree/master/core-examples/resolute