A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.

Slides:



Advertisements
Similar presentations
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Advertisements

Comparison of Several Meta-modeling Tools Yi Lu Computer Science Department McGill University
Domain Engineering Silvio Romero de Lemos Meira
Translator Architecture Code Generator ParserTokenizer string of characters (source code) string of tokens abstract program string of integers (object.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 22 Product Line Engineering Week 1 CIS 673.
Domain Engineering Arie van Deursen May Software Product Line  Group of products  sharing a common, managed set of features  to satisfy the.
CS 355 – Programming Languages
From Natural Language Requirements to Executable Models of Software Components.
Object-Oriented Analysis and Design
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
A Grammatical Approach to Quality of Service Requirements Analysis for Distributed Real-Time and Embedded Systems Shih-Hsi Liu 1, Fei Cao 1, Barrett R.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Semantic Web Week 13 Module Website: Lecture: Knowledge Acquisition / Engineering Practical: Getting to know.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
PDDL: A Language with a Purpose? Lee McCluskey Department of Computing and Mathematical Sciences, The University of Huddersfield.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Domain-Specific Software Engineering Alex Adamec.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
Formal Specification of Non-Functional Aspects in Two-Level Grammar Chunmin Yang, Beum-Seuk Lee, Barrett Bryant, Carol Burt University of Alabama at Birmingham.
Formalizing and Analyzing Feature models in Alloy
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Software Product Families. Generative Programming Main text: Ian Sommerville, Software Engineering, 8 th edition, chapter 18 Additional readings: K. Czarnecki.
Robert Tairas, Marjan Mernik, Jeff Gray Using Ontologies in the Domain Analysis of Domain-Specific Languages Workshop on Transformation and Weaving Ontologies.
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.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Introduction to MDA (Model Driven Architecture) CYT.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Quality of Service-Driven Requirements Analyses for Component Composition: A Two- Level Grammar++ Approach Shih-Hsi Liu 1, Fei Cao 1, Barrett R. Bryant.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
1 Introduction to Software Engineering Lecture 1.
Illustrations and Answers for TDT4252 exam, June
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
Contact Profile (1/2) Yu Sun, University of Alabama at Birmingham Hyun Cho, University of Alabama Jeff Gray, University of Alabama Jules White, Virginia.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
1 Rajeev R. Raje Andrew M. Olson Barrett R. Bryant Carol C. Burt Mikhail Auguston funded by the DoD and Office of Naval Research under the CIP/SW Program.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
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,
Compiler Introduction 1 Kavita Patel. Outlines 2  1.1 What Do Compilers Do?  1.2 The Structure of a Compiler  1.3 Compilation Process  1.4 Phases.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
The language focusses on ease of use
Describing Syntax and Semantics
Review of last class Software Engineering Modeling Problem Solving
Web Ontology Language for Service (OWL-S)
Model-Driven Analysis Frameworks for Embedded Systems
Implementing Language Extensions with Model Transformations
Design of Transmission Pipeline Modelling Language
Implementing Language Extensions with Model Transformations
Software Architecture & Design
Presentation transcript:

A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences University of Alabama at Birmingham

UniFrame Project GOAL: to provide a compiler framework to compile the 4GL into the 3GL to be executed by the computers.

The 4 th Generation Language Definition: The 4GL is a language that allows the users to use intuitive visualized or textual representation to directly work with the domain specific concepts. Program written in a 4GL is a formalized requirements model

The 4GL Compiler When the development abstraction moves to the domain specific concepts, the 4GL compiler is a product line assembler or application generator for that domain. The generated 3GL object code is no longer a single program, rather it will a set of entities with certain structure and interactions.

Compiler Design Thesis 1 Modularity and Component-based software engineering The compilation process is steps of compositions of reusable features in business domain Composition at the level of Business logic view Composition at the level of Architecture view Composition at the level of Technology view Features are standardized services, and features are the smallest and most abstract unit for reuse One or more services are developed as a single component Components are registered to the native component registry in the domain for discovery and composition

compiler design thesis 2 Software development paradigm shift: from single application development to system family development The higher the development abstraction is, the more intelligent the compiler should be Development at 4GL level, system family development methodologies provide domain ontology for supporting compilation Two phases in system family development paradigm: Domain engineering: build Generative Domain Model and develop reusable assets Application engineering: produce concrete system using reusable assets

compiler design thesis 3 Capture, formalism, modeling and reuse of engineering knowledge (EK) Any software has the domain-specific concepts and logic, has its structure and implementation technology EK: Decisions made on how to produce the software using those concepts Single system: EK was scattered among business executives, domain experts, engineers and programmers Family system: EK should be formalized at domain level to guide the product generation at application level Business domain: ontology for business concepts and logic Architecture domain: ontology for software architectural pattern Technology domain: ontology for implementation technologies

Product Application Engineering: 4GL compilation Domain Engineering: Reusable assets and meta-data for compilation Business GDM in GME Architecture GDM in GME Technology GDM in GME MDA Feature development TLG Meta requirements Requirements Model in GME TLG Architecture Model in GME Feature searching feature UMM feature UMM …….. Bridge generation QoS validation

Two Level Grammar Two Levels of context-free grammar First level (simple context free grammar): formal parameters Second level (CFG with consistent substitution rule): predicate function The string generated from the the first level can be plugged into the second level as the argument. e.g. Thing :: letter; rule. Thing list: Thing; Thing, Thing list. will generate: letter list: letter; letter, letter list. rule list : rule; rule, rule list.

Two-Level Grammar cont’ TLG was used to specify the complete syntax and static semantics for Algol 68 Feature modeling is the syntax and semantics of the 4GL in that domain All kinds of feature configuration constraints is the static semantics of that 4GL

TLG for feature model specification The first level simple CFG: feature organization The second level:feature attributes, relationship cardinalities, pre and post condition, interdependencies TLG interpreter – 4GL parser parse the application configuration constraints validation Implementation of TLG interpreter: automatic 4GL parser generation can take use of existing parser generator

Example specification class Automobile. (1) Automobile :: CarBody, Transmission, Engine, Tires. (2) Transmission :: automatic ; manual. (3) Engine :: electronic ; gasoline; electronic, gasoline. ……… (4) Type : car (5) Automobile derive Tires : if Automobile.Type = car, Automobile #1, Tires #4; if Automobile.Type = truck, Automobile #1, Tires #8. (6) some-post-conditions Transmission : Transmission some-pre- conditions. ……. end class.

Project Colleagues Barrett R. Bryant, Jeff Gray Carol C. Burt Rajeev R. Raje, Andrew M. Olson, Mikhail Auguston This research was supported by U. S. Office of Naval Research Grant N and U. S. Army Research Laboratory and U. S. Army Research Office Grant DAAD

Contact :