UMM: Unified Meta-object Model and Global Systems

UMM: Unified Meta-object Model and Global Systems

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 UniFrame Process Distributed Resource Discovery

Component Deployment Component Quality Measures Modified Query Query System Integrator Component Developer Generative Domain Model Standards

No Yes Quality Validation Deploy (End) Domain Expert (Start) 3 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 4 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 5 Current Work F u n c t io n a l i t y - b a s e d U se Cases Q oS C o m p o n e n t- b a s e d P r e p r o c e s s in g N L R e q u ir e m e n t s D o c u m e n t I n fo rm a l

O n t o lo g y , F o r m a l r e s t r ic t i o n s R e q u ir e m e n t s D o c u m e n t in X M L D o m a in K n o w le d g e in X M L C o n t e x t u a l N a t u r a l L a n g u a g e P r o c e s s in g K B in X M L K n o w le d g e B a s e Q u e r y in N L D e c o n t e x t u a l iz a t i o n T w o L e ve l G ra m m a r D a t a a n d F u n c t i o n t r a n s l a t io n Java VDM ++

XM I F o rm a l O CL or UM L 6 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. 7 ATM - Requirements Document in XML

Bank keeps list of accounts.

It verifies ID and PIN giving the balance in the following order. 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.

And then it assigns the balance of the account into the balance.

It updates the balance with ID in the following sequence. ..... 8 Natural Language Processing R e q u ir e m e n t s D o c u m e n t in X M L R e q u ir e m e n ts D o c u m e n t P a r t o f S p e e c h P a r s in g K n o w le d g e B a s e P a r t o f S e n te n c e P a r s in g

C o n te x t P ra g m a tic s Level Noun P ro n o u n s S e m a n tic s Level S e n te n c e N o u n _ P h rase V erb _ P h rase V erb

S y n ta x Level C o n t e x t u a l N a t u r a l L a n g u a g e P r o c e s s in g N o u n _ P h rase A r tic le Noun ATM w ith d r a w s an

am ount S u b ject P r e d ic a te M o d i fie r O b je c t K n o w le d g e B a s e Two-Level Grammar Syntax class Class_Name. Data_Name {, Data_Name} :: Data_Type {, Data_Type}. Rule_Name : Rule_Body {, Rule_Body}.

end class. K n o w le d g e B a s e D e c o n t e x t u a liz a t io n T w o L e v e l G ra m m a r D a t a a n d F u n c t io n t r a n s la t io n VDM ++ Properties class Account. Id, PIN :: Integer. Balance, Amount :: Float. Example withdraw Amount : Amount <= Balance, Balance := Balance - Amount.

deposit Amount : end class. Natural-language-like syntax Formal notation Object-oriented structure Logic/Functional operation Flexibility Formalism Abstraction Computation 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. 11 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 (); ); 12 System View ATM - Unified Modeling Language (UML) 14

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 15 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 PIMs to PSMs 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) 16 Video Streaming Naval Application uav.navair.navy.mil/home.htm 17 Video server UMM (in NL) Video-Streaming Domain knowledge (in NL)

Feature model, dictionary, configuration constraints, business rules . NLP NLP Video-Streaming Domain knowledge (in TLG) Video server UMMPS (in TLG) Video server UMMPI (in TLG) Tool support

UML TLG PIM Technology Domain knowledge (in TLG) PSM (in UML and TLG) Video server implementation (in Java) Model Driven Architecture 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-010746. 22 Webpage http://www.cis.uab.edu/UniFrame 23

Recently Viewed Presentations

  • Logo Design - bcsc.k12.in.us

    Logo Design - bcsc.k12.in.us

    Logo Design What is a logo? * A logo is a visual symbol associated with a product, a company or an idea. They are meant to give the product an identity and a visual appearance people can remember. There are...
  • E-Commerce 2018: Business. Technology. Society, 14e

    E-Commerce 2018: Business. Technology. Society, 14e

    Learning Objectives. 4.1Understand the questions you must ask and answer, and the steps you should take, in developing an e-commerce presence.. 4.2. Explain the process that should be followed in building an e-commerce presence. 4.3. Identify and understand the major...
  • astreetcarnamedenglish.files.wordpress.com

    astreetcarnamedenglish.files.wordpress.com

    See what delights in sylvan scenes appear! Descending Gods have found Elysium here. In woods bright Venus with Adonis stray'd, And chaste Diana haunts the forest shade.
  • CS 561a: Introduction to Artificial Intelligence

    CS 561a: Introduction to Artificial Intelligence

    CS 561, Session 8. Variable assignments are commutative, i.e., [ WA = red then NT = green ] same as [ NT = green then WA = red ] Only need to consider assignments to a single variable at each...
  • doc.: IEEE 802.15-08-466-03 Project: IEEE 802.15 Working Group

    doc.: IEEE 802.15-08-466-03 Project: IEEE 802.15 Working Group

    March 2009 Rick Alfvin, VeriLAN Event Services, Inc. Slide * 802.15 59th Session of meetings of the IEEE 802.15 Working Group for Wireless Personal Area Networks March 9-13, 2009 Hyatt Regency Vancouver Vancouver, B.C., CA doc.: IEEE 802.15-08-0466-03 March 2009...
  • Evaluating the Existing Evidence in Complementary Medicine ...

    Evaluating the Existing Evidence in Complementary Medicine ...

    Introduction of Chinese Acupuncture Zhi Ping Li MB. MA. Lic. Acu.
  • Do Now:

    Do Now:

    Features of living things (MRS GREN) Cells vary in size . All organisms made up of cells. Surrounded by a membrane. Have many parts able to perform specialised functions . Basic structural & functional units of life
  • Motivation and Emotion

    Motivation and Emotion

    Motive: Stimulus that determines behavior. What is a Stimulus? Drives: forces that Motivate someone to take action. Identify the three most important drives in your life on a daily basis . Motivation Theories. ... From the Perspective of the Patient.