a generative and model driven framework for automated software product generation wei zhao advisor:...

15
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

Upload: vanessa-payne

Post on 27-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

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

A Generative and Model Driven Framework for Automated

Software Product Generation

Wei ZhaoAdvisor: Dr. Barrett Bryant

Computer and Information SciencesUniversity of Alabama at Birmingham

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

UniFrame Project

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

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

The 4th 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

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

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.

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

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

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

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

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

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

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

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

Featuredevelopment

TLG

TLG

TLG

Meta

Meta

Meta

requirements

RequirementsModel in GME TLG

TLGArchitecture

Model in GME

Feature searching

featureUMM

featureUMM

……..Bridge generation

QoS validation

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

Two Level Grammar Two Levels of context-free grammar First level (simple context free grammar): formal

parametersSecond 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.

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

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

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

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

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

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.

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

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 N000014-01-01-0746 and U. S. Army Research Laboratory and U. S. Army Research Office Grant

DAAD190-00-1-0350.

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

Contact : [email protected]://www.cis.uab.edu/info/grads/zhaow/