1 / 23

From Natural Language Requirements to Executable Models of Software Components

From Natural Language Requirements to Executable Models of Software Components. Barrett R. Bryant Beum-Seuk Lee Fei Cao Wei Zhao Carol C. Burt Jeffrey G. Gray Rajeev R. Raje Andrew M. Olson Mikhail Auguston. Component Deployment. Distributed Resource Discovery. Component

maj
Télécharger la présentation

From Natural Language Requirements to Executable Models of Software Components

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. From Natural Language Requirements to Executable Models of Software Components

  2. Barrett R. Bryant Beum-Seuk Lee Fei Cao Wei Zhao Carol C. Burt Jeffrey G. Gray Rajeev R. Raje Andrew M. Olson Mikhail Auguston

  3. Component Deployment Distributed Resource Discovery Component Quality Measures Modified Query Query Component Developer System Integrator Generative Domain Model Standards No Yes Deploy (End) Domain Expert (Start) Quality Validation UniFrame Process

  4. Key Issues Define a process for construction of heterogeneous distributed systems from pre-existing components who advertise functional and non-functional contracts for quality assurance. • Distributed Resource Discovery - component specification for deployment and location on the network • Architecture-based Interoperability – generation of glue/wrapper code to connect heterogeneous components • Validation of Quality Requirements – specification of Quality of Service contracts of components

  5. Possible Solutions • Unified Meta-Component Model (UMM) - informal specification of component functional and non-functional contracts • Two-Level Grammar (TLG) – formal specification language for describing UMM and domain-specific information • Model Driven Architecture (MDA) – model-based interoperability among heterogeneous components

  6. Current Work

  7. ATM - Requirements Document Bank keeps list of accounts. It verifies ID and PIN giving the balance and updates the balance with ID. An account has three data fields; ID, PIN, and balance. ID and PIN are integers and balance is a real number. ATM has 3 service types; withdraw, deposit, and balance check. For each service first it verifies ID and PIN from the bank giving the balance. ATM withdraws an amount with ID and PIN giving the balance in the following sequence. If the amount is less than or equal to the balance then it decreases the balance by the amount. And then it updates the balance in the bank with ID. ATM deposits an amount with ID and PIN giving the balance in the following order. It increases the balance by amount and then updates the balance in the bank with ID. ATM checks the balance with ID and PIN giving the balance.

  8. ATM - Requirements Document in XML <document> <p> <s>Bank keeps list of accounts.</s> </p> <p> <s>It verifies ID and PIN giving the balance in the following order.</s> <s>It selects the account from the list of accounts where the ID of the account is equal to the ID and the PIN of the account is equal to the PIN.</s> <s>And then it assigns the balance of the account into the balance.</s> </p> <p> <s>It updates the balance with ID in the following sequence.</s> . . . . . </document>

  9. Natural Language Processing

  10. Two-Level Grammar • Syntax class Class_Name. Data_Name {, Data_Name} :: Data_Type {, Data_Type}. Rule_Name : Rule_Body {, Rule_Body}. end class. • Example class Account. Id, PIN :: Integer. Balance, Amount :: Float. withdraw Amount : Amount <= Balance, Balance := Balance - Amount. deposit Amount : … end class. • Properties • Natural-language-like syntax Flexibility • Formal notation Formalism • Object-oriented structure Abstraction • Logic/Functional operation Computation

  11. ATM – Two-Level Grammar class ATM. Balance, Amount :: Float. ID, PIN :: Integer. withdraw Amount with ID and PIN : Bank verify ID and PIN giving Account, Account withdraw Amount. deposit Amount with ID and PIN : Bank verify ID and PIN giving Account, Account deposit Amount. check balance with ID and PIN giving Balance : Bank verify ID and PIN giving Account, Account getBalance Balance. end class.

  12. ATM – Vienna Development Method class ATM instance variables private bank : Bank operations public withdraw : real * int * int ==> void withdraw (amount, ID, PIN) == (dcl account : Account; account := bank . verify (ID, PIN); account . withdraw (amount); ); public deposit : real * int * int ==> void deposit (amount, ID, PIN) == (dcl account : Account; account := bank . verify (ID, PIN); account . deposit (amount); ); public checkBalance : int * int ==> real checkBalance (ID, PIN) == (dcl account : Account; account := bank.verify (ID, PIN); return account . getBalance (); ); end ATM

  13. System View

  14. ATM - Unified Modeling Language (UML)

  15. Model Driven Architecture • OMG initiative for interoperating between different component technologies (http://www.omg.org/mda) • Application logic of components conforming to some domain specification is expressed as a Platform Independent Model (PIM) • PIM is converted into a Platform Specific Model (PSM) using a specific component technology

  16. Problems • Application domain logic is typically expressed in natural language (NL) • Automated tools are needed to develop the domain specifications from the NL requirements • Transformation from PIM’s to PSM’s should also be automated or semi-automated, based upon technology domain knowledge • Models must consider not only functional aspects of domain logic, but also non-functional properties (i.e., Quality of Service – QoS)

  17. uav.navair.navy.mil/home.htm Video Streaming Naval Application

  18. Model Transformation • Aspect-oriented approach enhanced with TLG formalism • Augment Abstraction with Separation • Generate PSM by weaving separated PIM level modules together with various domain knowledge

  19. Model Transformation Domain knowledge (Technology,etc..) PIM Aspect Weaver PSM

  20. Approach Merits • Natural language as the starting point for developing the business domain models • Sufficient automation that components may be modified at the model level or even the natural language level as opposed to the code level • Complement MDA with formal methods and QoS • Targeting the construction of heterogeneous distributed software systems by the automated generation of glue/wrapper code elicited from technology domain knowledge

  21. Acknowledgements This research was supported by U. S. Army Research Laboratory and U. S. Army Research Office Grant DAAD190-00-1-0350 and U. S. Office of Naval Research Grant N000014-01-01-0746.

  22. Webpage http://www.cis.uab.edu/UniFrame

More Related