V. Vranić — AspectJ Paradigm Model — GCSE 2001 AspectJ Paradigm Model A Basis for Multi-Paradigm Design for AspectJ Valentino Vranić

Slides:



Advertisements
Similar presentations
Objects and Classes David Walker CS 320. Advanced Languages advanced programming features –ML data types, exceptions, modules, objects, concurrency,...
Advertisements

TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Introduction to Computer Science 2 Lecture 7: Extended binary trees
Domain Engineering Silvio Romero de Lemos Meira
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Objects and Classes David Walker CS 320. Advanced Languages advanced programming features –ML data types, exceptions, modules, objects, concurrency,...
Code Generation Mooly Sagiv html:// Chapter 4.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Chapter 6 Methodology Conceptual Databases Design Transparencies © Pearson Education Limited 1995, 2005.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
TU/e eindhoven university of technology / faculty of mathematics and informatics Exporting Databases in XML DTD A Conceptual and Generic Approach Philippe.
OOP Project Develop an Application which incorporates the following OO Mechanisms and Principals: – Classes Visibility Constructor(s) Class Variable (if.
Adaptive Hypermedia Meets Provenance Evgeny Knutov Paul De Bra Mykola Pechenizkiy GAF project: Generic Adaptation Framework (project is supported byNWO.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Programming by Example using Least General Generalizations Mohammad Raza, Sumit Gulwani & Natasa Milic-Frayling Microsoft Research.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
Environment Change Information Request Change Definition has subtype of Business Case based upon ConceptPopulation Gives context for Statistical Program.
Database Design - Lecture 2
Methodology - Conceptual Database Design Transparencies
Methodology Conceptual Databases Design
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
1 Chapter 15 Methodology Conceptual Databases Design Transparencies Last Updated: April 2011 By M. Arief
Nancy Lawler U.S. Department of Defense ISO/IEC Part 2: Classification Schemes Metadata Registries — Part 2: Classification Schemes The revision.
Unit Testing -Ranjit Shewale Contents  Scope  Owner  Approach  Conventional approach  Object oriented approach  Tips for the.
Multi-Paradigm Design James O. Coplien Ph.D. Student, VUB 18 May 2000.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style COMPILER DESIGN Review Joey Paquet,
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Scripting with the DOM Ellen Pearlman Eileen Mullin Programming the Web.
Dimitrios Skoutas Alkis Simitsis
Generative Programming. Automated Assembly Lines.
CS112: Structure of Programming Languages A smorgasbord of topics in programming languages including programming paradigms and syntax, semantics, implementation.
Methodology - Conceptual Database Design
1 Class Diagrams: Advanced Concepts. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are the most commonly used diagrams.
Overview of MOT Knowledge representation system : Basic Modeling Editor LexiconGrammarSemantics Pragmatics MOT Editor.
Environment Change Information Request Change Definition has subtype of Business Case based upon ConceptPopulation Gives context for Statistical Program.
Inheritance Chapter 10 Programs built from objects/instances of classes An O.O. approach – build on earlier work. Use classes in library and ones you have.
Towards Multi-Paradigm Software Development Valentino Vranić Department of Computer Science and Engineering Faculty of Electrical Engineering.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Domain-Expert Repository Management for Adaptive Hypermedia Learning System By Norazah Yusof & Paridah Samsuri Members of SPAtH Group Faculty of Comp.
C++ Inheritance Data Structures & OO Development I 1 Computer Science Dept Va Tech June 2007 © McQuain Generalization versus Abstraction Abstraction:simplify.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
Declarative Languages and Model Based Development of Web Applications Besnik Selimi South East European University DAAD: 15 th Workshop “Software Engineering.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 3- Introduction to Object Oriented Programming concepts Topic 3.4 Constructors, Overloading,
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Programming Languages and Design Lecture 2 Syntax Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
1Computer Sciences Department. 2 Advanced Design and Analysis Techniques TUTORIAL 7.
Efficient Rule-Based Attribute-Oriented Induction for Data Mining Authors: Cheung et al. Graduate: Yu-Wei Su Advisor: Dr. Hsu.
Chapter Ten The Bridge Pattern Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Chapter – 8 Software Tools.
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
SE Seminar – IS Department Mazor Maya & Yuval Efrat December 2010 Griss, M.L.; Favaro, J.; d'Alessandro, M.;
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
©2004 Joel Jones 1 CS 403: Programming Languages Lecture 3 Fall 2004 Department of Computer Science University of Alabama Joel Jones.
Associate Professor Dept. of Computer and Information Sciences NTNU
CS522 Advanced database Systems
Cristian Ferent and Alex Doboli
International Research and Development Institute Uyo
Multi-Paradigm Design
Information Systems Development (ISD) Systems Development Life Cycle
Haidong Xue Summer 2011, at GSU
CS179G, Project In Computer Science
Presentation transcript:

V. Vranić — AspectJ Paradigm Model — GCSE 2001 AspectJ Paradigm Model A Basis for Multi-Paradigm Design for AspectJ Valentino Vranić Department of Computer Science and Engineering Faculty of Electrical Engineering and Information Technology Slovak University of Technology in Bratislava

V. Vranić — AspectJ Paradigm Model — GCSE Presentation Overview Multi-paradigm design Feature modeling Multi-paradigm design with feature modeling AspectJ paradigm model Transformational analysis An example: Text editing buffers Conclusions

V. Vranić — AspectJ Paradigm Model — GCSE Multi-Paradigm Design (MPD) MPD for C++ (J. O. Coplien) Programming paradigms: –Large-scale paradigms –Small-scale paradigms Scope, commonality, variability, and relationship (SCVR) analysis Transformational analysis

V. Vranić — AspectJ Paradigm Model — GCSE Family table (from solution domain SCVR analysis) Transformational Analysis in MPD Parameters of VariationMeaningDomainBindingDefault BindingCommonalityVariabilityInstantiationLanguage Mechanism P1 Generalization of P1 (values P1 can take) (default value for P1) … Variability tables (from application domain SCVR analysis) Domain D1 (main commonality of D1) …

V. Vranić — AspectJ Paradigm Model — GCSE Feature Modeling A conceptual modeling technique Feature diagrams –directed trees with edge decorations –root = concept, other nodes = features –common and variable features –variation points Other information –Semantic description –Rationale –Constraints –Default dependency rules –Binding mode –Instantiation

V. Vranić — AspectJ Paradigm Model — GCSE MPD with Feature Modeling Feature models instead of tables and informal description Both feature modeling and SCVR analysis are based on commonalities and variabilities SCVR analysis and feature modeling: –scope  concept –commonality  common feature –variability  variable feature –relationship  feature diagrams hierarchy

V. Vranić — AspectJ Paradigm Model — GCSE Family table MPD and MPD with Feature Modeling Parameters of VariationMeaningDomainBindingDefault variation point semantic description, rationale alternative features binding mode default dependency rules Variability table Domain D1 (main commonality of D1  concept) BindingCommonalityVariabilityInstantiationLanguage Mechanism common feature binding mode variable feature additional information concept

V. Vranić — AspectJ Paradigm Model — GCSE AspectJ Paradigm Model

V. Vranić — AspectJ Paradigm Model — GCSE AspectJ Paradigm Model: Class Paradigm

V. Vranić — AspectJ Paradigm Model — GCSE AspectJ Paradigm Model: Aspect Paradigm

V. Vranić — AspectJ Paradigm Model — GCSE Transformational Analysis Prerequisites: –Solution domain feature model –Application domain feature model Matching of application domain feature model nodes with the solution domain feature model nodes –Points to the paradigms to be used for application domain structures –Two nodes match if they conceptually represent the same thing

V. Vranić — AspectJ Paradigm Model — GCSE Matching the Nodes 1. Select a node F from the application domain feature model 2. Try to match F’s children with the children of some node P that represents a paradigm in the solution domain feature model 3. If a match has been found for all of the F’s children, then F matches with P 4. A paradigm that represented by P should be used to implement feature F

V. Vranić — AspectJ Paradigm Model — GCSE The Process of Transformational Analysis Find the matching for all of the nodes in the application domain feature model Try to match the application domain nodes with the paradigms of “higher order” — the paradigms based on other paradigms (inheritance and overloading in AspectJ) Translate the results of the transformational analysis into the code: –directly –through a specific design method pointed to by MPD

V. Vranić — AspectJ Paradigm Model — GCSE An Example: Text Editing Buffers Represent a state of a file being edited Employ different working set management schemes Use different character sets Load and save the contents into a file Maintain a record of the number of lines and characters, cursor position, etc.

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE read status name contents File write status name contents

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE whole file Working Set Management DC whole page LRU fixed …

V. Vranić — AspectJ Paradigm Model — GCSE

V. Vranić — AspectJ Paradigm Model — GCSE Feature diagrams alone do not fully determine the code skeleton What other sources are there?  Variability dependency graphs  Other information in feature model

V. Vranić — AspectJ Paradigm Model — GCSE Variability Dependency Graph Text Editing Buffer FileCharacter Set Debugging Code Working Set Management

V. Vranić — AspectJ Paradigm Model — GCSE class TextBuffer { public: yield(...) {...}; replace(...) {...}; loadFile(...) {...}; saveFile(...) {...}; private: int numLines, numChars, curPosition;... } class WholeFileTextBuffer extends TextBuffer { public: WholeFileTextBuffer(File f, CharacterSet c) {...}; yield(...) {...}; replace(...) {...};... }...

V. Vranić — AspectJ Paradigm Model — GCSE class File { public: Status readFile(String name, TextBuffer buff) {...} Status writeFile(String name, TextBuffer buff) {...}... } class UnixFile extends File {... }... aspect DebuggingCode {... } aspect WorkingSetDebug extends DebuggingCode {... } aspect WholeFileDebug extends WorkingSetDebug {... }...

V. Vranić — AspectJ Paradigm Model — GCSE Conclusions  A new representation for the solution and application domain in MPD –Based on feature modeling –Involves a new transformational analysis  AspectJ paradigm model Further research: –Noting of the transformational analysis results –Incorporating the MPD’s negative variability tables and variability dependency graphs –Relationship between the MPD and generative programming