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.

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

This research is supported by NSF CAREER award CCF MT-Scribe: A Flexible Tool to Support Model Evolution Yu SunUniversity of Alabama at Birmingham.
Object-Oriented Analysis and Design
Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Introduction to UML Visual modeling Models and its importance
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Product Line Architecture for a Family of Meshing Tools María Cecilia Bastarrica, Nancy Hitschfeld-Kahler, Pedro O. Rossel Computer Science Department,
Lecture Two Database Environment Based on Chapter Two of this book:
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
1 Chapter 2 Database Environment. 2 Chapter 2 - Objectives u Purpose of three-level database architecture. u Contents of external, conceptual, and internal.
Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
PROGRAMMING LANGUAGES The Study of Programming Languages.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
Bridging the chasm between MDE and the world of compilation Nondini Das 1.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Robert Tairas, Marjan Mernik, Jeff Gray Using Ontologies in the Domain Analysis of Domain-Specific Languages Workshop on Transformation and Weaving Ontologies.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Chapter 2 CIS Sungchul Hong
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 1 DATABASE SYSTEMS (Cont’d) Instructor Ms. Arwa Binsaleh.
Introduction: Databases and Database Users
Introduction to Database Systems
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Chapter 7 System models.
1 Introduction to Software Engineering Lecture 1.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
Database Systems DBMS Environment Data Abstraction.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Contact Profile (1/2) Yu Sun, University of Alabama at Birmingham Hyun Cho, University of Alabama Jeff Gray, University of Alabama Jules White, Virginia.
OOPSLA workshop on Domain-Specific Visual Languages 1 Framework for Domain-Specific Visual Languages Juha-Pekka.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Generative Approaches for Application Tailoring of Mobile Devices Victoria M. Davis, Dr. Jeff Gray (UAB) and Dr. Joel Jones (UA) Portions of this research.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
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.
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.
Machine Machine language is PL in which program instructions are written in strings of 0s and 1s.The computer circuitry is wired in a manner that it can.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
DSLs: The Good, the Bad, and the Ugly Marjan Mernik University of Maribor Faculty of Electrical Engineering and Computer Science.
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.
Chapter 2 Database Environment.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Introduction to Visual Basic 2008 Programming
Object-Oriented Software Engineering Using UML, Patterns, and Java,
SysML v2 Formalism: Requirements & Benefits
Chapter 2 Database Environment.
Chapter 2: Database System Concepts and Architecture
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment.
Data base management system dbms
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Presentation transcript:

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 Birmingham {yusun, zekzek, gray, 2 University of Maribor, Slovenia DSPD2008 – October 22nd, Nashville, TN This work funded in part by NSF CAREER award CCF

DSPD2008 – October 22nd, Nashville, TN

VHSIC hardware description language (VHDL) ATLAS Transformation Language (ATL) Structured Query Language (SQL) MetaCase+ Lex & YACC EBNF You can make a case for almost anything to be a DSL DSPD2008 – October 22nd, Nashville, TN

This turned out to be a problem  When we are unable to be specific about what type of domain-specific language we are using, we are forced to eliminate types of DSLs that are not relevant to the current conversation. This elimination process often slows communication with stakeholders.  So, we need to classify DSLs in order to unify our understanding and improve communications. DSPD2008 – October 22nd, Nashville, TN

Programming or Modeling ? How to differentiate between a Programming and Modeling Language ? DSPD2008 – October 22nd, Nashville, TN

Formal Definitions  “A programming language is a notational system for describing computation in machine-readable and human-readable form.” - Kenneth C. Louden  “A programming language is a notation for writing programs.” - Ravi Sethi  “A modeling language is an organized collection of model unit kinds that focus on a particular modeling perspective.” - Cesar Gonzalez-Perez  “A modeling language is any artificial language that can be used to express information or knowledge or system in a structure that is defined by a consistent set of rules.” - Wikipedia Too vague to differentiate between PL and ML  DSPD2008 – October 22nd, Nashville, TN

Possible Criteria  Concrete Notation  Language Definition  Language Executability  Level of Abstraction  Fundamental Concepts  Development Phase  Multiple Views DSPD2008 – October 22nd, Nashville, TN

C1. Concrete Notation A lot of visual programming languages exist. Modeling languages can be textual as well. A lot of visual programming languages exist. Modeling languages can be textual as well. DSPD2008 – October 22nd, Nashville, TN

C2. Language Definition Visual programming languages are not defined by a CFG. There are modeling languages that are not defined by a metamodel. Visual programming languages are not defined by a CFG. There are modeling languages that are not defined by a metamodel. DSPD2008 – October 22nd, Nashville, TN

C3. Language Executability With a model interpreter or model compiler, a modeling language can be executed as well. A frequent goal of MDE is to enable code generation from models, and execute models directly. With a model interpreter or model compiler, a modeling language can be executed as well. A frequent goal of MDE is to enable code generation from models, and execute models directly. Defining executability is not easy. For instance, some may consider EBNF as executable when applied in a parser generator. DSPD2008 – October 22nd, Nashville, TN

C4. Level of Abstraction Conform To Many domain-specific languages raise the abstraction level, but may be a programming language. Sometimes, abstraction level is difficult to measure. Many domain-specific languages raise the abstraction level, but may be a programming language. Sometimes, abstraction level is difficult to measure. DSPD2008 – October 22nd, Nashville, TN

C5. Fundamental Concepts Bindings can also be used in modeling languages. Visual programming languages can also apply entities, connections. Bindings can also be used in modeling languages. Visual programming languages can also apply entities, connections. DSPD2008 – October 22nd, Nashville, TN

C6. Development Phase By raising the level of abstraction, domain- specific languages tend to be closer to design. With executable models, a modeling language can play the role of implementation as well. By raising the level of abstraction, domain- specific languages tend to be closer to design. With executable models, a modeling language can play the role of implementation as well. In some cases, languages can be used for diverse purposes. For example, a programming language can be used for modeling purposes.

C7. Multiple Views Some domains may be narrow enough that just one view is sufficient. DSPD2008 – October 22nd, Nashville, TN

How to use these criteria ?  No single criterion can be used to make the decision.  Applying them together to make a comprehensive analysis is a better way.  We have selected a few DSLs and applied these criteria to determine if a language is a programming language or modeling language. DSPD2008 – October 22nd, Nashville, TN

KM3 – Kernel Meta Meta Model  A DSL to define metamodels Define DSPD2008 – October 22nd, Nashville, TN

CriterionKM3 Concrete Notation Language Definition Language Executability Level of Abstraction Fundamental Concepts Development Phase Multiple Views Conclusion DSPD2008 – October 22nd, Nashville, TN Textual => P EBNF, operational semantics => P Not executable => M High => M Entities, connection => M Requirement / design => M No => P Modeling

SQL – Structured Query Language  Provides retrieval and management of data facilities in relational database management systems DSPD2008 – October 22nd, Nashville, TN

CriterionKM3SQL Concrete Notation Textual => P Language Definition BNF, operational semantics => P BNF, formal semantics => P Language Executability Not executable => M Executable => P Level of Abstraction High => MHigh / medium => M Fundamental Concepts Entities, connection => M Values, storage, bindings => P Development Phase Requirement / design => M Implementation => P Multiple Views No => P Conclusion ModelingProgramming DSPD2008 – October 22nd, Nashville, TN

GReAT - Graph Rewriting and Transformation  A metamodel based model transformation language DSPD2008 – October 22nd, Nashville, TN

CriterionKM3SQLGReAT Concrete Notation Textual => P Graphical => M Language Definition BNF, operational semantics => P BNF, formal semantics => P Metamodel => M Language Executability Not executable => M Executable => P Level of Abstraction High => MHigh / medium => M High => M Fundamental Concepts Entities, connection => M Values, storage, bindings => P Entities, connection => M Development Phase Requirement / design => M Implementation => P Implementation => P / M Multiple Views No => P Conclusion Modeling ProgrammingModeling DSPD2008 – October 22nd, Nashville, TN

OpenMusic  An object-oriented visual programming language for musical composition DSPD2008 – October 22nd, Nashville, TN

CriterionKM3SQLGReATOpenMusic Concrete Notation Textual => P Graphical => M Language Definition BNF, operational semantics => P BNF, formal semantics => P Metamodel, informal semantics=> M Language Executability Not executable => M Executable => P Level of Abstraction High => MHigh / medium => M High => MLow => P Fundamental Concepts Entities, connection => M Values, storage, bindings => P Entities, connection => M Development Phase Requirement / design => M Implementation => P Multiple ViewsNo => P Conclusion ModelingProgrammingModelingProgramming DSPD2008 – October 22nd, Nashville, TN

Conclusion  Observations  No single criterion can precisely determine the type of the language  Using multiple criteria to make classification is more effective and accurate High level of abstraction, design phase, non-executable => Modeling language Implementation phase, executable, the related fundamental concepts => Programming language DSPD2008 – October 22nd, Nashville, TN

Conclusion  Benefits  If the group to which a particular language belongs is known, some general knowledge about that particular language is immediately available.  Help to organize existing knowledge about computer languages into hierarchical rankings and improve understanding and communication among researchers.  Knowing the type and characteristics is important when building a software engineering tool. DSPD2008 – October 22nd, Nashville, TN

 Questions ?  Comments ? DSPD2008 – October 22nd, Nashville, TN Yu Sun This work funded in part by NSF CAREER award CCF

Criterion Concrete Notation Textual ML KM3 Graphical PL Prograph Language Definition BNF ML KM3 Metamodel PL Prograph Language Executability Executable ML GReAT Unexecutable PL Level of Abstraction Low level ML GReAT High level PL SQL Fundamental Concepts ML with PL conceptsPL with ML concepts Prograph Development Phase Implementation ML GReAT Early PL Multiple ViewsSingle ML KM3 Multiple PL DSPD2008 – October 22nd, Nashville, TN