Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.

Slides:



Advertisements
Similar presentations
Verification of DSMLs Using Graph Transformation: A Case Study with Alloy Zekai Demirezen 1, Marjan Mernik 1,2, Jeff Gray 1, Barrett Bryant 1 1 Department.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Eugene Syriani Jeff Gray University of Alabama Software Engineering Group Department of Computer Science College of Engineering.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
This research is supported by NSF CAREER award CCF A Demonstration-based Approach to Support Live Transformations in a Model Editor Yu SunUniversity.
A DEMONSTRATION-BASED APPROACH FOR DOMAIN-SPECIFIC MODELING LANGUAGE CREATION Hyun Cho University of Alabama Department of Computer Science This work supported.
This research is supported by NSF CAREER award CCF MT-Scribe: A Flexible Tool to Support Model Evolution Yu SunUniversity of Alabama at Birmingham.
Using the Semantic Web to Construct an Ontology- Based Repository for Software Patterns Scott Henninger Computer Science and Engineering University of.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
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.
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
Describing Syntax and Semantics
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Business Rules INFS 770 – KM for E-Business Professor L. Kerschberg Spring 2004.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
SaveUML System design. System overview Possible...
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 Workshop on Business-Driven Enterprise Application Design & Implementation Cristal City, Washington D.C., USA, July 21, 2008 How to Describe Workflow.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
This research is supported by NSF CAREER award CCF A WYSISYG Approach forConfiguring Model Layout using Model Transformations Yu SunUniversity.
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn, Bernhard Rumpe, Steven Völkel Software Systems Engineering Technische.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Contact Profile (1/2) Yu Sun, University of Alabama at Birmingham Hyun Cho, University of Alabama Jeff Gray, University of Alabama Jules White, Virginia.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Matthew Emerson Sherif Abdelwahed.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
Requirements Validation
Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.
Model Transformations Require Formal Semantics Yu Sun 1, Zekai Demirezen 1, Tomaz Lukman 2, Marjan Mernik 3, Jeff Gray 1 1 Department of Computer and Information.
Ontology Support for Abstraction Layer Modularization Hyun Cho, Jeff Gray Department of Computer Science University of Alabama
DS(M)Ls for End-Users and Domain Experts? Panel on Creating DSLs Models in Software Engineering Workshop Zurich, Switzerland June 3, 2012 Jeff Gray University.
Requirements Analysis
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Model Transformation By Demonstration Yu Sun, Jules White, Jeff Gray This work funded in part by NSF CAREER award CCF CIS Dept. – University of.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Software Design and Development Development Methodoligies Computing Science.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
International Research and Development Institute Uyo
Model-Driven Analysis Frameworks for Embedded Systems
Design of Transmission Pipeline Modelling Language
Automated Analysis and Code Generation for Domain-Specific Models
Software Architecture & Design
Presentation transcript:

Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley Dept. of Electrical and Computer Engineering Virginia Tech This work supported in part by NSF CAREER # Yu Sun Dept. of Computer and Information science University of Alabama at Birmingham

Overview of Presentation  GPMLs vs. DSMLs  Challenges of DSMLs Development  Modeling Language Creation By Demonstration  Demo  Conclusion 2

Types of Modeling Languages  GPMLs (General-Purpose Modeling Languages)  Example: UML  Rich constructs and expressiveness for all domains  Requires much time and effort for domain experts to understand and use  Many tools are already available (commercial, open) 3  DSMLs (Domain-Specific Modeling Languages)  Example: Petri Net  Customized to a specific domain  Easier to learn and use by domain experts  Designed and implemented by domain-driven needs and abstractions

DSMLs Development Challenge 1  Preference to unconstrained environments  Design with whiteboard, papers, or computer with pen-based input system  Easy to capture high-level requirements and communicate with participants  Documents are informal and often not documented  Need to process wide range of open notations for different domains 4 Figures are excerpted from Chen, Q., Grundy, J.C., and Hosking, J.G. SUMLOW: Early Design-Stage Sketching of UML Diagrams on an E-whiteboard, Software – Practice and Experience, vol. 38, no. 9, Wiley, July 2008, pp

DSML Development Challenge 2  Often requires familiarity of domain knowledge and language design expertise 5 Domain Experts Programming Language Development Experts Experts who have both domain knowledge and language development expertise Quality of DSML Implementations & Maintenance Quality of Domain Understanding

DSML Development Challenge 3  Complexity of DSML development  DSML development is often iterative and incremental Several different stages are often used to develop a DSML Helps to capture and formalize constantly changing requirements and notations Can be tedious, error-prone, and time-consuming without tool supports 6 Initial requirements for domain models Identify concrete syntax Identify abstract syntax Specify associated semantics Evaluate and feedback DSML for a domain

DSML Development Challenge 4  Specifying the semantics of a modeling language with formal techniques  Types of semantics Static semantics: well-formed rules for the model Dynamic semantic: the meaning of models  Formal specification of modeling language semantics is challenging even for language designers 7 Static Semantics - Attribute grammar Dynamic Semantics -Operational Semantics -Axiomatic Semantics -Denotational Semantics

Resolution of the Challenges 8  Resolution 1  Use flexible modeling tool that supports model sketching  Challenge 1  Preference to unconstrained environment

Resolution of the Challenges 9  Resolution 1  Use flexible modeling tool that supports model sketching  Challenge 2  Familiarity of domain knowledge and language design expertise  Resolution 2  Provide DSML development environment that can create DSML without language design expertise  Challenge 1  Preference to unconstrained environment

Resolution of the Challenges 10  Resolution 1  Use flexible modeling tool that supports model sketching  Challenge 2  Familiarity of domain knowledge and language design expertise  Resolution 2  Provide DSML development environment that can create DSML without language design expertise  Challenge 3  Complexity of DSML development  Resolution 3  Simplify DSML development through automation  Challenge 1  Preference to unconstrained environment

Resolution of the Challenges 11  Resolution 1  Use flexible modeling tool that supports model sketching  Challenge 2  Familiarity of domain knowledge and language design expertise  Resolution 2  Provide DSML development environment that can createDSML without language design expertise  Challenge 3  Complexity of DSML development  Resolution 3  Simplify DSML development through automation  Challenge 4  Formal specification of modeling language semantics  Resolution 4  Infer the semantics from DSML model instances  Challenge 1  Preference to unconstrained environment

Resolution of the Challenges 12  Resolution 1  Use flexible modeling tool that supports model sketching  Challenge 2  Familiarity of domain knowledge and language design expertise  Resolution 2  Provide DSML development environment that can develop DSML without language design expertise  Challenge 3  Complexity of DSML development  Resolution 3  Simplify DSML development through automation  Challenge 4  Formal specification of modeling language semantics  Resolution 4  Infer the semantics from DSML model instances Modeling Language Creation By Demonstration  Challenge 1  Preference to unconstrained environment

M odeling L anguage C reation B y D emonstration 13  Goals  Aid domain experts, who do not have language design expertise, to create their own DSMLs  Automate DSML development  Key tasks of MLCBD  Capturing Concrete Syntax Capture concrete syntax of DSML while users demonstrate how to model their domain  Inferring Abstract Syntax Infer abstract syntax from the captured concrete syntax and domain models Metamodel of DSML is generated as the result of Abstract Syntax Inference  Inferring Semantics of DSML Infer semantics of DSML and anchor the inferred semantics into relevant metamodel

MLCBD Process: Concrete Syntax Identification 14  Model (or Demonstrate) a domain using domain modeling tool  The tool provides predefined shapes and supports users to define new shapes  Capture domain model elements (or concrete syntax) while users demonstrate the domain model  Identify unique modeling elements and their structural pattern

MLCBD Process: Abstraction Syntax Inference 15  Infer abstract syntax(i.e., metamodel) based on the identified concrete syntax and structural patterns  May require machine learning techniques to infer metamodel

MLCBD Process: Semantics Inference 16  Infer semantics of modeling language and associate with metamodel

Tool Prototyping 17  Developed based on Microsoft Visio  Support various shapes and allow to use custom shapes designed by users  Provide SDK (for Office 2007 and 2010) and embedded programming language (VBA)  Very little DK documentation and a lack of general references

Tool Prototyping (cont.) 18 MS Visio User Interface Hook Visio Event Capture unique shapes Place the shapes as master Save the master as template Infer relationship semantics statically

Demonstration 19 Modeling Language Creation By Demonstration

Future work 20  Design and implement generic MLCBD framework  Challenges  Designing effective and efficient inference engine  Identifying commonly applicable semantics and domain-specific semantics  Verifying the generated DSMLs  Managing the evolution of DSMLs

This work supported in part by NSF CAREER # Thank you for your attention

MLCBD Process 22