Robert Tairas, Marjan Mernik, Jeff Gray Using Ontologies in the Domain Analysis of Domain-Specific Languages Workshop on Transformation and Weaving Ontologies.

Slides:



Advertisements
Similar presentations
Flight Crew Activities During a Typical Flight
Advertisements

AVATAR: Advanced Telematic Search of Audivisual Contents by Semantic Reasoning Yolanda Blanco Fernández Department of Telematic Engineering University.
Domain Engineering Silvio Romero de Lemos Meira
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
Domain Engineering Arie van Deursen May Software Product Line  Group of products  sharing a common, managed set of features  to satisfy the.
OASIS Reference Model for Service Oriented Architecture 1.0
Object-Oriented Analysis and Design
PR-OWL: A Framework for Probabilistic Ontologies by Paulo C. G. COSTA, Kathryn B. LASKEY George Mason University presented by Thomas Packer 1PR-OWL.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
CS 425/625 Software Engineering System Models
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
System Design and Analysis
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Protégé An Environment for Knowledge- Based Systems Development Haishan Liu.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
AIRPORT A complex of runways and buildings for the
Domain-Specific Software Engineering Alex Adamec.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Introduction to Systems Analysis and Design Trisha Cummings.
Formalizing and Analyzing Feature models in Alloy
Ontology Alignment/Matching Prafulla Palwe. Agenda ► Introduction  Being serious about the semantic web  Living with heterogeneity  Heterogeneity problem.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
Yu Sun 1, Zekai Demirezen 1, Marjan Mernik 2, Jeff Gray 1, Barret Bryant 1 1 Department of Computer and Information Sciences, University of Alabama at.
Provenance Metadata for Shared Product Model Databases Etiel Petrinja, Vlado Stankovski & Žiga Turk University of Ljubljana Faculty of Civil and Geodetic.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
Lecture 3: Air Traffic Control Tower
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
1 Introduction to Software Engineering Lecture 1.
Engineering 5895: Software Design 9/11/01Class Diagrams 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Using Several Ontologies for Describing Audio-Visual Documents: A Case Study in the Medical Domain Sunday 29 th of May, 2005 Antoine Isaac 1 & Raphaël.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Design Model Lecture p6 T120B pavasario sem.
Generative Approaches for Application Tailoring of Mobile Devices Victoria M. Davis, Dr. Jeff Gray (UAB) and Dr. Joel Jones (UA) Portions of this research.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Programming Language Descriptions. What drives PL Development? Computers are “in charge” of extremely important issues Execute a program literally. Exercise.
DSLs: The Good, the Bad, and the Ugly Marjan Mernik University of Maribor Faculty of Electrical Engineering and Computer Science.
OWL Web Ontology Language Summary IHan HSIAO (Sharon)
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Versatile Information Systems, Inc International Semantic Web Conference An Application of Semantic Web Technologies to Situation.
Of 24 lecture 11: ontology – mediation, merging & aligning.
UML DESIGN By: J Kamala Ramya Y Devika
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
The OO Solution The OO model closely resembles the problem domain
Object Oriented Concepts -I
UML Class Diagrams: Basic Concepts
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
Object-Oriented Knowledge Representation
Understand and Use Object Oriented Methods
Department of Computer Science Abdul Wali Khan University Mardan
Cheng (Sp2001): Object-Oriented Development Overview
Software Architecture & Design
Presentation transcript:

Robert Tairas, Marjan Mernik, Jeff Gray Using Ontologies in the Domain Analysis of Domain-Specific Languages Workshop on Transformation and Weaving Ontologies in Model-Driven Engineering (TWOMDE) International Conference on Model-Driven Engineering, Languages, and Systems (MoDELS) Toulouse, France, September 28, 2008

Outline DSLs and Domain Analysis Ontologies Case Study Summary Future work 2

DSLs and Domain Analysis A DSL is a computer language dedicated to a particular domain. It provides appropriate built-in abstractions and notations*. Programs in DSLs explicitly specify only part of the behavior because a significant portion of the behavior is implicit and fixed. 3 * Mernik, M., Heering, J., Sloane, A.: When and How to Develop Domain-Specific Languages. ACM Computing Surveys 37, , 2005

DSLs and Domain Analysis DSL development phases: decision analysis design implementation deployment maintenance 4

DSLs and Domain Analysis The beginning phases of DSL development are less well understood. Some open issues: How should results from domain analysis drive the language design process? Should a DSL be designed by a domain expert, GPL designer or software language engineer? How much domain analysis and language design is actually needed? Can we build tools which support us in earlier phases of DSL development? 5

DSLs and Domain Analysis Domain Analysis To build the domain model (an explicit representation of the common and the variable properties of a domain, the semantics of the properties, the dependencies between the properties). Some typical domain analysis activities are analysis of similarities, analysis of variations, and analysis of combinations. 6

DSLs and Domain Analysis Many domain analysis methods exist, such as: Feature-Oriented Domain Analysis (FODA) Draco Domain Analysis and Reuse Environment (DARE) Family-Oriented Abstraction, Specification, and Translation (FAST) … But, they are rarely used in DSL development and domain analysis is usually done informally and in an incomplete manner. 7

DSLs and Domain Analysis Why? The first observation might be that information gathered during domain analysis cannot be automatically used in the language design process. Another reason might be that complete domain analysis is too complex and outside of a software engineer’s capabilities. 8

DSLs and Domain Analysis We strongly believe that good domain analysis will pay off for even a medium size DSL community and medium DSL life span. Possible alternatives: Grammatical inference API2DSL Ontologies … 9

Ontologies A domain defining the scope of the domain The domain terminology Description of domain concepts Commonalities and variabilities of domain concepts for domain- specific language 10 Representative vocabulary Objects, concepts, and other entities of a domain Body of knowledge Relationships of entities from vocabulary ? Ontology DSL Domain Model =

Ontologies Ontology competency questions to achieve the goals of domain analysis What are the concepts of the domain and the interdependencies of these concepts? What are the commonalities and variabilities of the domain? 11

Case Study Cargo Terminal A1 A2 A3 A4 A A A A A H H H2 H4 F F B B B B F B1G1 G G G M M Gates B1-B3 Gates C1-C5 Air Traffic Communication (Video) BHM used in case study

Protégé (Classes) 13 Classes: terms related to the domain

Protégé (Slots) 14 Slots: properties and constraints of the classes

Protégé (Instances) 15 Instances: represents specific real world instance

Ontology from Protégé 16 Listing of classes and associated slots ClassDescriptionSlots NameDescriptionValues Aircraft Arriving or departing aircraft Airline ID Name of the airline Two letters Flight Number Flight Identification Integer GroundControl Controller in charge of airport ground traffic Tower Controller in charge of take-offs and landings Runway Available take-off and landing locations Runway Number Runway Identification 1 – 36 (i.e., runway heading 10° – 360°) Runway Orientation To distinguish parallel runways Class Left or Right Taxiway Paths connecting runways to ramps Taxiway Name Taxiway Identification One or two letters (digits) Ramp Aircraft parking area Ramp Name Ramp Identification String Gate Passenger embarkation and disembarkation Gate Letter Gate Identification One letter Gate Number Gate Identification Integer Turn Command to turn Direction Turning direction Class Left or Right Taxiway Taxiway Identification Class Taxiway HoldShort Command to hold short of a runway or taxiway Runway Runway Identification Class Runway Taxiway Taxiway Identification Class Taxiway Contact Command to contact a separate controller ATC Controller to contact Class Tower or GroundControl Follow Command to follow behind another aircraft Aircraft Aircraft Identification Class Aircraft

Instances for BHM Cargo Terminal A1 A2 A3 A4 A A A A A H H H2 H4 F F B B B B F B1G1 G G G M M Gates B1-B3 Gates C1-C5 Instances of runways, taxiways, ramps, and gates ClassInstances Runway 6, 24, 18, 36 Taxiway A, B, F, G, H, M, A1, A2, A3, A4, B1, G1, H2, H4 Ramp Cargo, Terminal Gate B1, B2, B3, C1, C2, C3, C4, C5

Revisiting Competency Questions What are the concepts of the domain and the interdependencies of these concepts? Identified in classes and slots What are the commonalities and variabilities of the domain? Observe the instances of classes 18

Class Diagram from Ontology 19

Class Diagram to Context-Free Grammar 20 AIRPORT ::= WAYS RAMPS ATC WAYS ::= WAYS WAY | WAY WAY ::= runway RUNWAY | taxiway TAXIWAY RUNWAY ::= number DIRECTION TAXIWAY ::= name RAMPS ::= RAMPS RAMP | RAMP RAMP ::= ramp name GATES GATES ::= GATES GATE |  GATE ::= gate letter number ATC ::= GROUNDCONTROL | TOWER GROUNDCONTROL ::= COMMANDS COMMANDS ::= COMMANDS COMMAND | COMMAND COMMAND ::= CONTACT | FOLLOW | HOLDSHORT | TURN CONTACT ::= contact ATC FOLLOW ::= follow AIRCRAFT HOLDSHORT ::= hold short WAY TURN ::= turn DIRECTION on TAXIWAY DIRECTION ::= left | right |  AIRCRAFT ::= airlineID flightNumber TOWER ::= tower Transformations AssociationClass Diagram ElementGrammar Class Class (non-terminal) Attribute (terminal) Association A ::= B Navigability A ::= B Generalization A ::= B | C Aggregation A ::= B Composition A ::= B

Example program 21 // description of BHM airport runway 6 runway 24 runway 18 runway 36 taxiway A taxiway A1 taxiway A2 taxiway A3 taxiway A4 taxiway B taxiway B1 taxiway F taxiway G taxiway G1 taxiway H taxiway H2 taxiway H4 ramp Cargo ramp Terminal gate B1 gate B2 gate B3 gate C1 gate C2 gate C3 gate C4 gate C5 // commands from Ground Control turn right on A turn left on M hold short runway 18 contact tower

Summary In domain analysis for DSL development, the ontology assisted in identifying Concepts and interdependencies Commonalities and variabilities Inclusion in developmental process, the ontology can Provide a head start in the language development Act as an input or alternative to more formal techniques Assist in generating a class diagram and subsequent context free grammar 22

Future Work Using Model-Driven Engineering Generating a metamodel from class diagram Ontology transformed manually to class diagram Possibility of transforming representation of ontology (i.e., OWL) directly to BNF 23

Generic Modeling Environment 24 Metamodel in GME

Generic Modeling Environment 25 Model for BHM

Generic Modeling Environment 26 Commands contained in “GroundControl” element