a generative and model driven framework for automated software product generation wei zhao advisor:...
TRANSCRIPT
![Page 1: A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/1.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/2.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/3.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/4.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/5.jpg)
![Page 6: A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/6.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/8.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/9.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/10.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/11.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/12.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/13.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022080905/56649e425503460f94b35a02/html5/thumbnails/14.jpg)
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.