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

  • Background - University of Wisconsin-Madison

    Background - University of Wisconsin-Madison

    The equations differ depending on whether we are using a histogram based method such as SIFT, or not, such as moment invariants. After we calculate the distance between all the features we are comparing, we can set a threshold, and...
  • PowerPoint Presentation

    PowerPoint Presentation

    This confirms that the technique is sensitive to the surface structure factor. At 37oC, GIXOS shows that the interface on 64% glycerol remains stable with the spectrum at 37oC overlaying almost identically that at 25oC (B). On water however the...
  • Welsh English - flf.ukim.edu.mk

    Welsh English - flf.ukim.edu.mk

    Wenglish has some traits in it taken from the Celtic language, like the trill /r/, similar to the Scottish counterpart. There is also the fact that they don't emphasize any single syllable in a word in particular, giving the Welsh...
  • The Rebellions of 1837-1838 - Mr. O&#x27;Neill&#x27;s History Site

    The Rebellions of 1837-1838 - Mr. O'Neill's History Site

    The Durham Report and the Act of Union. Solutions of the report: Legislative union for both Canadas long term assimilation of French. Responsiblegovernment executive power by electedofficials. The Durham Report and the Act of Union.
  • Slajd 1 - vtsrh.hr

    Slajd 1 - vtsrh.hr

    Namjeru teorija dijeli na dva stupnja: dolus direkturs - kad se hoće i želi nastupanje štete; dolus eventualis - kad postoj svijest o mogućnosti nastupanja štetnih posljedica pa se pristaje na njihovo nastupanje. Čl.1063. Zakona o obveznim odnosima "Šteta nastala...
  • Mechanisms of Evolution

    Mechanisms of Evolution

    Be prepared to share your response to the following: Biological evolution happens at the _____ level, not the individual organism level. All three definitions mention genetic changes or changes in allele frequency within a population from one generation to the...
  • Aesop and His Fables

    Aesop and His Fables

    Gilgamesh did not notice. He knew he should be praying for his people's safety and for food enough for everyone. But this day, Gilgamesh prayed for something to do, something fun! The gods looked down and noticed Gilgamesh sighing loudly...
  • Slide 1

    Slide 1

    Eng. 6002 Ship Structures 1 Hull Girder Response Analysis Lecture 10: Review of Indeterminate Beams (Displacement method) Overview The direct displacement method is another technique that can be used to analyze indeterminate structures. This method can be generalized and is...