A Grammatical Approach to Quality of Service Requirements Analysis for Distributed Real-Time and Embedded Systems Shih-Hsi Liu 1, Fei Cao 1, Barrett R.

Slides:



Advertisements
Similar presentations
CH4.1 Type Checking Md. Fahim Computer Engineering Department Jamia Millia Islamia (A Central University) New Delhi –
Advertisements

Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Semantics Static semantics Dynamic semantics attribute grammars
ICE1341 Programming Languages Spring 2005 Lecture #6 Lecture #6 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
CS7100 (Prasad)L16-7AG1 Attribute Grammars Attribute Grammar is a Framework for specifying semantics and enables Modular specification.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
ISBN Chapter 3 Describing Syntax and Semantics.
Copyright © 2006 Addison-Wesley. All rights reserved. 3.5 Dynamic Semantics Meanings of expressions, statements, and program units Static semantics – type.
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
CS 355 – Programming Languages
From Natural Language Requirements to Executable Models of Software Components.
Filling the Gap Between System Design & Performance Verification Rafik HENIA, Laurent RIOUX, Nicolas SORDON Thales Research & Technology.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
Managing Reuse Presented by: Aisha Al-Hammadi. Outline Introduction History. The technical and managerial advantages of Reusing Solutions. The main challenges.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
14/06/ A Data-Model for Context-Aware Deployment of Component-based Applications onto Distributed Systems Dhouha Ayed, Chantal Taconet, and Guy Bernard.
Describing Syntax and Semantics
Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
CS784 (Prasad)L167AG1 Attribute Grammars Attribute Grammar is a Framework for specifying semantics and enables Modular specification.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Formal Specification of Non-Functional Aspects in Two-Level Grammar Chunmin Yang, Beum-Seuk Lee, Barrett Bryant, Carol Burt University of Alabama at Birmingham.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Yu Sun 1, Zekai Demirezen 1, Marjan Mernik 2, Jeff Gray 1, Barret Bryant 1 1 Department of Computer and Information Sciences, University of Alabama at.
1 Static Type Analysis of Path Expressions in XQuery Using Rho-Calculus Wang Zhen (Selina) Oct 26, 2006.
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Dart:
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
A view-based approach for semantic service descriptions Carsten Jacob, Heiko Pfeffer, Stephan Steglich, Li Yan, and Ma Qifeng
CSC-682 Cryptography & Computer Security Sound and Precise Analysis of Web Applications for Injection Vulnerabilities Pompi Rotaru Based on an article.
Quality of Service-Driven Requirements Analyses for Component Composition: A Two- Level Grammar++ Approach Shih-Hsi Liu 1, Fei Cao 1, Barrett R. Bryant.
Chapter 6 Programming Languages (2) Introduction to CS 1 st Semester, 2015 Sanghyun Park.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Component 4: Introduction to Information and Computer Science Unit 6: Databases and SQL Lecture 3 This material was developed by Oregon Health & Science.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
A Technique for Constructing Aspect Weavers using a Program Transformation Engine Jeff Gray Suman Roychoudhury Department of Computer and Information Sciences.
© TRESETarget Industry TRESE Group Department of Computer Science University of Twente P.O. Box AE Enschede, The Netherlands
Algorithms & FlowchartsLecture 10. Algorithm’s CONCEPT.
1 Rajeev R. Raje Andrew M. Olson Barrett R. Bryant Carol C. Burt Mikhail Auguston funded by the DoD and Office of Naval Research under the CIP/SW Program.
Chapter 3 Part II Describing Syntax and Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Semantics In Text: Chapter 3.
Languages and Compilers
Enabling Self-management of Component-based High-performance Scientific Applications Hua (Maria) Liu and Manish Parashar The Applied Software Systems Laboratory.
Page 1, December 8, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
MDD approach for the Design of Context-Aware Applications.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
A Distributed Component Software Development Process Andrew Olson Department of Computer & Information Science IUPUI May, 2001.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Euro-Par, HASTE: An Adaptive Middleware for Supporting Time-Critical Event Handling in Distributed Environments ICAC 2008 Conference June 2 nd,
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand how decisions are made in a computer ❏ To understand the logical.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Selection—Making Decisions
Principles of programming languages Supplement
Topics discussed in this section:
Programming Languages 2nd edition Tucker and Noonan
Semantics In Text: Chapter 3.
Topics discussed in this section:
Programming Languages 2nd edition Tucker and Noonan
Presentation transcript:

A Grammatical Approach to Quality of Service Requirements Analysis for Distributed Real-Time and Embedded Systems Shih-Hsi Liu 1, Fei Cao 1, Barrett R. Bryant 1, Jeffrey G. Gray 1, Rajeev R. Raje 2, Andrew M. Olson 2, and Mikhail Auguston 3 1 University of Alabama at Birmingham 2 Indiana University Purdue University Indianapolis 3 Naval Postgraduate School Software Composition and Modeling Laboratory Department of Computer and Information Sciences

Outline Background Problem Statement Proposed Solution Contributions Conclusion

Background (1/2) Distributed Real-time and Embedded (DRE) Systems - Component Based Software Development: composition Reusability and Changeability - Software Product Lines: Analysis and Construction Commonality and Variability - Quality of Service (QoS) Sensitive: System Resources Sensitivity

Background (2/2) Requirements Engineering - Functional Requirements: Functionality Specification - Non-Functional Requirements: System Resources Specification Component-based DRE systems + Requirements Engineering - Construct a DRE system by composing components that satisfies the requirements

Problem Statement (1/2) The Component Perspective Problem - Component Perspective: component is the unit for composition - Problem: nonfunctional requirements are tangled with functional ones The Abundant Alternatives Problem - Composition Decisions and Permutation  abundant alternatives - Problem: ponderous overload in the requirements phase

Problem Statement (2/2) The Composition Semantics Problem - Composition regarding QoS parameters: degrade or upgrade QoS parameters - Problem: (a) No well-defined semantics for composition regarding QoS Parameters (b) Difficult to evaluate QoS parameters

Proposed Solution – A Grammatical QoS-Driven Approach (1/8) A Grammatical Concept: Two-Level Grammar++ - Two Context Free Grammars (CFGs): The 1 st CFG: define a set of parameters The 2 nd CFG: define a set of function definitions - Define Syntax and Semantics of Programming Languages The 1 st CFG: define the syntax by production rules The 2 nd CFG: define the semantics of the production rules

Proposed Solution (2/8) A QoS-Driven Concept: A TLG++ Class defines a QoS Parameter - The 1 st CFG: define the selected components for software product lines - The 2 nd CFG: define the composition semantics regarding the QoS parameter An Inference Concept: - The 2 nd CFG: define the queries for verifying pre-conditions and post-conditions of composition

Proposed Solution (3/8): Classification of QoS Parameters Static: design related Dynamic: depends on deployment environment Strict: forced to satisfy the QoS requirements Non-Strict: allows margins of errors Orthogonal: resource isolation Non-orthogonal: mutually-influenced by resource

Proposed Solution (4/8)

Proposed Solution (5/8) 1 Security  C1 C2 D1 2 D1  C3 D2 | C4 D3 3 D2  C4 C5 | C5 C6 4 D3  C5 D4 | C5 C7 5 D4  C3 C7 1 Signal  C1 C2 E1 2 E1  C3 E2 | C4 E3 | C5 E4 3 E2  C6 C7 4 E3  C3 C5 E5 | C3 C6 5 E4  C4 C6 C7 6 E5  C7 1 CPU  C1 F1 | C2 F2 2 F1  C2 C4 F3 | C3 C4 F4 3 F2  C5 C6 F5 | C5 | C6 F6 4 F3  C7 C6 5 F4  C2 C5 6 F5  C3 C7 7 F6  C1 C4

Proposed Solution (6/8): Cascading Scenario class Security_1 implements Serializable 2 Product_Line :: Comp_1 Comp_2. 3 //…other parameter definition 4 Query_1 := semantics of queryComponent with Comp_1; //verifies the pre-condition 5 Query_2 := semantics of queryComponent with Comp_2; //verifies the pre-condition 6 Query_3 := if Query_1 && Query_2, then semantics of minimum with 7 Comp_1 and Comp_2, else False, end if; 8 Query_4 := semantics of queryPattern with QoSValue; //verifies the post-cond. of Comp_1 9 //and Comp_2, see if it is out of range 10 if Query_4, then MyRete semantics of UpdatePattern, else “Composition False”, end if. 11 //if Query_4 true, the composed pattern is assured. Update the pattern to the knowledge base 12 semantics of queryComponent with Component : 13 //…the semantics of the query for pre-conditions 14 semantics of minimum with Component1 and Component2 : 15 //…the semantics of the component composition 16 semantics of queryPattern with Double : 17 //…the semantics of the query for post-conditions 18 semantics of UpdatePattern : 19 //…the semantics that updates the verified composed pattern into the knowledge base end class

Proposed Solution (7/8): Cascading Scenario class Security_2 implements Serializable. 2 Product_Line :: Comp_3 ; Comp_4. //…Comp_3 OR Comp_4 as alternatives 3 //…other parameter definition 4 semantics of ProductLine_1 with Component1 : //semantics for Comp_3 OR Comp_4 5 Query_1 := semantics of queryComponent with Component1;//verify the pre-condition 6 if Query_1, then semantics of addition with Security_1 and Component1, else False, end if; 7 Query_2 := Rete semantics of queryPattern with QoSValue; 8 if Query_2, then Rete semantics of UpdateFact, 9 Rete semantics of UpdatePattern, else “Composition False”, end if. 10 //…verify the post-condition 11 semantics of addition with Component1 and Component2 : 12 //…semantics of addition 13 //…semantics of queryPattern, UpDateFact and UpdatePattern are ignored here. end class

Proposed Solution (8/8) Evaluate each strict or orthogonal QoS parameter individually Evaluate a set of non-orthogonal QoS parameters regarding a specific resource together The evaluated results of every QoS parameter at requirement level as the reference for the decedent phases of software lifecycle

Conclusion A straightforward and manageable approach for evaluating and verifying QoS characteristics - Separation of requirements concern by the QoS-driven concept - Reduce the overload in the requirements phase - Assist in precisely evaluating individual and system-wide QoS parameters - Separation of inference concern by a stand-alone inference engine

Future Work A selection procedure to assist in assigning the parameters in TLG++ classes A proper termination criterion discovering the optimal composition solution within a reasonable searching period

More research information Acknowledgements This research is supported in part by U. S. Office of Naval Research award N Questions?