Title: Searching DomainSpecific Models using XPath
1Searching Domain-Specific Models using XPath
 Rajesh Sudarsan Department of Computer and
Information Science University of Alabama at
Birmingham sudarsar_at_cis.uab.edu Advisor Jeff
Gray http//www.cis.uab.edu/info/grads/sudarsar h
ttp//www.gray-area.org
2Outline
- Introduction
- Background
- Motivation
- Solution
- Conclusion
3Outline
- Introduction
- Background
- Motivation
- Solution
- Conclusion
4Introduction
- The keys to successful searching are
- Choosing the right search tool
- Knowing about search strategies and how to use
them
5Outline
- Introduction
- Background
- Motivation
- Solution
- Conclusion
6Model Integrated Computing (MIC)
Model Integrated Computing (MIC) is a model-based
approach to software development, facilitating
the synthesis of application programs from models
created using customized, domain-specific program
synthesis environments
7The MIC Architecture
Application Domain
Meta Level Translation
Model Interpretation
8Generic Modeling Environment (GME)
Meta Model
- Meta-programmable toolkit based on the
principles of MIC - Configurable toolkit for creating
domain-specific models and program synthesis
environments - Meta-models specify the modeling paradigm of the
application domain
Domain Model
9Meta Object Facility (MOF)
Meta-Modeling Language
Meta-Meta-Model
Specify
Meta-Modeling Language
Meta-Model
Specify
Domain Modeling Language
Model
Specify
Computer Based System
10GME Hierarchy
Domain model is represented as a hierarchical
model
Root (Model)
Atoms
Sets
Models
Connections
References
11Outline
- Introduction
- Background
- Motivation
- Solution
- Conclusion
12Motivation
- The capability to search the artifact that is
being created is absent in GME - Serious disadvantage as the size of a model
increases to hundreds of modeling elements.
Domain models have been developed which have more
than 1000 modeling elements
13Outline
- Introduction
- Background
- Motivation
- Solution
- Conclusion
14Solution - XPath Search Engine
- Search the Domain model using XPath
- What is XPath???
- XPath a W3C standard that uses logical
predicates to address parts of an XML document - In XPath, expressions are resolved relative to
the current node or to the root node
15Proposed Solution - GME
- The XPath search engine traverses the internal
GME representation of the domain model and
returns those model entities that match the
predicate expression - The expression attribute will be matched with
the kind value of the artifact being searched
16Hierarchy in XPath Predicates
- XPath operates on the GME data structure as a
tree - The nodes of the tree can be
- Root
- Models
- Sets
- References
- Connections
17Architecture
XPath Evaluator
XPath Expression
Translator (Equivalent GME representation)
XPath Parser
Search
Output
18GME Example ATM Machine
19Example ATM Machine
Tree Structure
Root
(Model)
Insert (State)
Start (Start)
Validate
Menu
Receipt
End
(State)
(State)
(End)
(State)
Withdraw
Deposit
(State)
(State)
20Example XPath Expressions
- /Root/Menu/ returns the list of all the
atoms within menu in the tree. - / _at_kindState' - Returns the list of
elements in the tree which have their attribute
kind value equal to State.
The output is displayed in a user dialog box in
which the user can select a particular element.
21Outline
- Introduction
- Background
- Motivation
- Solution
- Conclusion
22Conclusion
- Searching entities through Domain Models in
large systems made simpler. - Properties of similar entities can be modified
easily in CBS. - Future Scope
- Independent search engine adaptable
- with all modeling environments.
23Questions ???
24THANK YOU