Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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

2 Outline Background Problem Statement Proposed Solution Contributions Conclusion

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 Proposed Solution (4/8)

11 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

12 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

13 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

14 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

15 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

16 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

17 More research information http://www.cis.uab.edu/liush Acknowledgements This research is supported in part by U. S. Office of Naval Research award N00014-01-1-0746 Questions?


Download ppt "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."

Similar presentations


Ads by Google