1 / 19

Formal Specification of Non-Functional Aspects in Two-Level Grammar

Formal Specification of Non-Functional Aspects in Two-Level Grammar. Chunmin Yang, Beum-Seuk Lee , Barrett Bryant, Carol Burt University of Alabama at Birmingham Rajeev Raje Indiana University Purdue University Indianapolis Mikhail Auguston Andrew Olson

lamis
Download Presentation

Formal Specification of Non-Functional Aspects in Two-Level Grammar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formal Specification of Non-Functional Aspects in Two-Level Grammar Chunmin Yang, Beum-Seuk Lee, Barrett Bryant, Carol Burt University of Alabama at Birmingham Rajeev Raje Indiana University Purdue University Indianapolis Mikhail Auguston Andrew Olson New Mexico State University This research is based upon work supported by, or in part by, the U. S. Army Research Laboratory and the U.S. Army Research Office under contract/grant number DAAD19-00-1-0350 and by the U. S. Office of Naval Research under award number N00014-01-1-0746.

  2. Contents Motivation Problem Statement Objectives Approach System Structure Non-Functional Aspect (QoS) Natural Language Processing Knowledge Base Two-Level Grammar (TLG) Case Study – ATM Example Conclusion 2

  3. Problem Statement Non-functional aspect (Quality of Service - QoS) in the UniFrame project Query of heterogeneous components that satisfy certain QoS QoS specification and management 3

  4. Objectives Formal specification of QoS Decomposability of QoS attributes Correlation among QoS actions Two-level Grammar (TLG) QoS specifications in natural language User friendly interface Reuse of requirements document Natural Language Processing (NLP) 4

  5. System Structure 5

  6. Non-functional Aspect (QoS) QoS attributes Features or parameters of QoS QoS catalog : throughput, capacity, end-to-end delay, parallelism constraints, availability, ordering constraints, error rate, security, transmission, adaptivity, evolvability, reliability, stability, result, achievability, priority, compatibility, and presentation Decomposition QoS actions Events that have affect on QoS attributes Correlation QoS properties Constraints on QoS actions 6

  7. Natural Language Processing 7

  8. Natural Language Processing (Cont’d) 8

  9. Knowledge Base Composed of Linguistics information – parts of speech Contextual information – relations between sentences Tree-like structure Example 9

  10. Two-Level Grammar (TLG) Syntax class Class_Name. Data_Name {, Data_Name} :: Data_Type {, Data_Type}. Rule_Name : Rule_Body {, Rule_Body} {; Rule_Body}. end class. Properties Natural-language-like syntax Flexibility Formal notation Formalism Object-oriented structure Abstraction Logic/Functional operation Computation 10

  11. Two-Level Grammar - Example class Palindrome. Char :: Character. Str :: {Char}*. Empty is a palindrome. Char is a palindrome. CharStrChar is a palindrome : Str is a palindrome. end class. 11

  12. ATM – QoS Requirements Document in NL ATM's security property is as follows. The length of the encryption byte should be bigger than 3 and the allowed attempts has to be smaller than the maximum allowed attempts. If the encryption byte length is 6 and the maximum allowed attempts is less than 5 then the system is 80% secure. If the account type is a savings account or the maximum allowed connections of the bank is less than 50 or the delay level is less than 50 then the maximum allowed attempts is limited to 4. If the user timeout is between 10000 and 120000 milliseconds we have a good delay level. If the response time is longer than 30000 milliseconds, the delay level drops down to 40%. 12

  13. ATM – QoS Requirements in XML <c title = "ATM"> <c title = "Security"> <p meta = "satisfaction check"> <s>The length of the encryption byte should be bigger than 3 and the allowed attempts has to be smaller than the maximum allowed attempts</s> </p> <p meta = "level update"> <s>If the encryption byte length is 6 and the allowed attempts is less than 5 then the system is 80% secure</s> </p> <p meta = "attribute update"> <s>If the account type is a savings account or the maximum allowed connections of the bank is less than 50 or the delay level is less than 50 then the maximum allowed attempts is limited to 4</s> </p> </c> <c title = "Delay"> <p meta = "satisfaction check"> <s>If the user timeout is between 10000 and 120000 milliseconds we have a good delay level</s> </p> <p meta = "level update"> <s>If the response time is longer than 30000 milliseconds the delay level drops down to 40%</s> </p> </c> </c> 13

  14. ATM - Knowledge Base 14

  15. ATM – Two-Level Grammar (TLG) class Property. Level :: int. end class. class Bank_Capacity extends Property. Maximum_Connections :: Integer. end class. class ATM_Delay extends Property. Response_Time :: Integer. User_Timeout :: Integer. check satisfaction: User_Timeout > 10000, User_Timeout < 120000. update level: Response_Time > 30000, Level := 40. end class. 15

  16. ATM – Two-Level Grammar (cont’d) class ATM_Security extends Property. Maximum_Allowed_Attempts :: Integer. Encryption_Byte_Length :: Integer. Allowed_Attempts :: Integer. Account_Type :: String. checksatisfaction: Encryption_Byte_Length > 3, Allowed_Attempts < Maximum_Allowed_Attempts. updatelevel: Encryption_Byte_Length = 6, Allowed_Attempts < 5, Level := 80. update attributes : Account_Type = "savings", Maximum_Allowed_Attempts := 4; Bank_Capacity Maximum_Connections < 50, Maximum_Allowed_Attempts := 4; ATM_Delay Level < 50, Maximum_Allowed_Attempts := 4. end class. 16

  17. ATM - Unified Modeling Language (UML) 17

  18. Conclusion Summary Formal specification of QoS using TLG QoS specifications in natural language using NLP Future Work Express the constraints in Object Constraint Language (OCL) Combine Model Driven Architecture (MDA) and formal methods in representing the QoS properties, and implement the representation within MDA 18

  19. THE END Contact info : Beum-Seuk Lee : leebs@cis.uab.edu www.cis.uab.edu/info/grads/leebs UniFrame : www.cs.iupui.edu/uniFrame

More Related