180 likes | 337 Views
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, bryant}@cis.uab.edu
E N D
An Information Theory based Modeling of DSMLs Zekai Demirezen1, Barrett Bryant1, Murat M. Tanik2 1Department of Computer and Information Sciences, University of Alabama at Birmingham {zekzek, bryant}@cis.uab.edu 2 Department of Electrical and Computer Engineering, University of Alabama at Birmingham mtanik@uab.edu
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.
Realization of Structured Programming Constructs as 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