An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,

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

CS101: Introduction to Computer programming
More on Algorithms and Problem Solving
Semantics Static semantics Dynamic semantics attribute grammars
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Give qualifications of instructors: DAP
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Chapter 2: Problem Solving
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
UNIT 2. Introduction to Computer Programming
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
The Application of Black Box Theory to System Development
© 2005 Prentice Hall6-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Fall Semantics Juan Carlos Guzmán CS 3123 Programming Languages Concepts Southern Polytechnic State University.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
Chapter 6 Functional Modeling
Lesson-21Process Modeling Define systems modeling and differentiate between logical and physical system models. Define process modeling and explain its.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Meaningful Modeling: What’s the Semantics of “Semantics”? David Harel, Weizmann Institute of Science Bernhard Rumpe, Technische Universität Braunschweig.
Fundamentals of C programming
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
On Roles of Models in Information Systems (Arne Sølvberg) Gustavo Carvalho 26 de Agosto de 2010.
PROCESS MODELING Chapter 8 - Process Modeling
Chapter 2: Problem Solving
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.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Standards for Mathematical Practice #1 Make sense of problems and persevere in solving them. I can: explain the meaning of a problem. choose the right.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
SOFTWARE DESIGN.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Standards for Mathematical Practice
Software Design Deriving a solution which satisfies software requirements.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
1 Introduction to Software Engineering Lecture 1.
Dale Roberts 1 Program Control - Algorithms Department of Computer and Information Science, School of Science, IUPUI CSCI N305.
CMSC 104: Peter Olsen, Fall 99Lecture 9:1 Algorithms III Representing Algorithms with pseudo-code.
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.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
Program Development C# Programming January 30, 2007 Professor J. Sciame.
 In this chapter you will learn about:  Introduction to Problem Solving  Software development method (SDM)  Specification of needs  Problem analysis.
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.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Evolution of C and C++ n C was developed by Dennis Ritchie at Bell Labs (early 1970s) as a systems programming language n C later evolved into a general-purpose.
Software Design and Architecture Muhammad Nasir Software Architecture Documentation
FLOW CHARTS IN PROCESS DESCRIPTION FRANK CHINGARANDE.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
 Problem Analysis  Coding  Debugging  Testing.
Learning outcomes 5 Developing Code – Using Flowcharts
Algorithms, Part 1 of 3 The First step in the programming process
Software Testing.
SysML v2 Formalism: Requirements & Benefits
System Design.
State Digrams in UML: A Formal Senmatics using Graph Transformations
CSC113: Computer Programming (Theory = 03, Lab = 01)
Understanding Problems and how to Solve them by using Computers
Presentation transcript:

An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences, University of Alabama at Birmingham {zekzek, 2 Department of Electrical and Computer Engineering, University of Alabama at Birmingham

Overview  Semantics specification problem for Domain-specific modeling (DSML) programs.  A basis for an information theoretical modeling strategy for DSML programs.  Control Flow Graph (CFG) representation of programs.  Canonical representation system such as cubic flow graphs to transform the CFG representation.  Realization of structured programming constructs as communication channels.

Domain-Specific Modeling Languages (DSMLs)  Domain-Specific Modeling Languages (DSMLs) enable end-users to specify their own programs using domain concepts in the problem space, rather than programming language concepts in the technical solution space.  Specification of DSMLs  Abstract Syntax: Concepts, Relationships, Domain Metamodels.  Concrete Syntax: Textual or Graphical Representations.  Well-formedness rules and Static Semantics: Model Instance Consistency.  Behavioral Semantics: Operational Semantics of the DSML programs.

Operational Semantics  Semantics Specification involves giving a precise description of the behavior of a DSML program, namely, how it may execute or operate.  The intention in developing semantics is to give behavioral descriptions in rigorous mathematical terms, in a form that supports understanding and reasoning about the behavior of the programs under considerations.  A common way of defining the semantics is through Operational semantics semantics, where the DSML programs is mapped into the an existing formal language systems, with well-defined and understood semantics.  Communication Channel formalism is one of the candidates to represent operational semantics.

Information-based Modeling  Representation of DSML programs in terms of mathematical objects that reflect its observed behavior.  Modeling involves the process of abstraction, simplifying the description of the system, while preserving only a limited number of the original details.  As R. W. Hamming points out in his paper titled “the unreasonable effectiveness of mathematics,” mathematical models of real world phenomena are very much effective in understanding the world around us.

Information Channel  A information channel can be defined as the medium through which the information is transmitted from the information source to the receiver.  The noise that is present in the channel causes the symbol at the output of the transmitter to alter during the transmission.  Claude E. Shannon has defined the channel and its capacity, more specifically his zero error capacity theorem, in his famous work.

Information Channel  The symbols on the left correspond to the desired symbols to be received (also the symbols that were sent), and the symbols on the right side show which symbol(s) the sent one maps to.

Information Channel and Shannon Languages  If one views a computer program as an integrated set of components then following Shannon, incoming symbols are considered as the inputs to a component, and the symbols on the right side (outgoing) stand for the outputs of the component for the corresponding inputs.  The CCFG of a DSML program, can be viewed as defining a Shannon language (Khandekar et al., 1999). Then we apply the notions for computing the capacity for the communication channel that is equal to the capacity of the Shannon language (Khandekar et al., 1999), which is defined on the CCFG.  Partition Function: Combinatorial capacity of channel.  Entropy: Probabilistic capacity of channel.

Structured Program  To support human intuition and provide documentation, typically an algorithm is represented by a diagrammatical system such as a flowchart, and then transformed into a formal system called computer program which execute on computers.  Bohm and Jacopini’s work indicate that any program could be written as a structured program, as a program involving only repetition (while do, repeat until), selection (if then else), sequence of statements.

Program Flowchart  A diagram of a program flow.  Used in analyzing, designing, documenting or managing a process or program.  Symbols  Start and end symbols  Arrows  Processing steps  Conditional or decision  Although flowcharts document the logical flow of an algorithm, they are not formal tools providing a mathematical foundation for deductive reasoning about programs.

Control Flowgraphs  Directed graph consisting of process nodes (out degree=1), decision nodes (out degree=2), satisfying the flowgraph property:every node lies on a path from begin to end.  Flowgraph decomposition is seen to be of independent interest toward obtaining a flowgraph canonical form, where a program’s independent processes are most clearly delineated.

Cubic Control Flowgraphs  Cubic Graphs are connected graphs having the property that each node has degree exactly three.  A specific class of control flowgraphs, called Cubic Control Flow Graphs (CCFG), has been introduced to study decomposition properties of complex programs (Prather, 1995). CCFGs, when used to represent the skeleton of a program, enable composition and decomposition of the structural system skeleton of associated programs.  The decomposition is of two varieties sequence and nesting, each extended recursively to a bottommost level consisting of prime flowgraphs those that cannot be constructed nontrivially from the sequence and nesting operations.

Sequence Construct Selection Construct Repetition Construct FlowChart FlowGraph Cubic Graph

Program Sample begin A; if P1 then B: else C; endIf D; while P2 do E; F; endWhile G; End ProgramControl FlowGraphCCFG A program, its control flowgraph, and CCFG 14

Realization of Structured Programming Constructs as Communication Channels The sequential construct modeling based on communication channels The selective construct modeling based on communication channels The repetitive construct modeling based on communication channels.

Conclusion  The purpose of this exploratory study is to develop details and associated examples for the purpose of completing a dissertation proposal.  To introduce the modeling techniques from a well- developed and mature discipline, specifically information theory, and apply them in the relatively new area of Domain Specific Modeling (DSM).

Questions  Thanks