Product Line Architecture for a Family of Meshing Tools María Cecilia Bastarrica, Nancy Hitschfeld-Kahler, Pedro O. Rossel Computer Science Department,

Slides:



Advertisements
Similar presentations
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Advertisements

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Component Oriented Programming 1 Chapter 2 Theory of Components.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
1 Opentest Architecture Table of Content –The Design Basic Components High-Level Test Architecture Test Flow –Services provided by each Layer Test Mgt.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Modeling Notations.
Advanced Manufacturing Laboratory Department of Industrial Engineering Sharif University of Technology Session # 12.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Software Testing and Quality Assurance
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
1 SYSTEM and MODULE DESIGN Elements and Definitions.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
DATA FLOW DIAGRAMS IT 155.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Chapter 7: The Object-Oriented Approach to Requirements
Parametric & 3-D Solid Modeling
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
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.
1 The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools Yi Liu, H. Conrad Cunningham and Hui Xiong Computer & Information Science.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Calculation BIM Curriculum 07. Topics  Calculation with BIM  List Types  Output.
Protocols and the TCP/IP Suite
An Introduction to Software Architecture
Introduction to MDA (Model Driven Architecture) CYT.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Effective Requirements Management – an overview Kristian Persson Field Product Manager, Telelogic Asia/Pacific.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
Illustrations and Answers for TDT4252 exam, June
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Design Concepts By Deepika Chaudhary.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
ANKITHA CHOWDARY GARAPATI
Development of a Distributed MATLAB Environment with Real-Time Data Visualization Authors: Joseph Diamond, Richard McEver Affiliation: Dr. Jian Huang,
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
Murielle Florins 1, Francisco Montero Simarro 2, Jean Vanderdonckt 1, Benjamin Michotte 1 1 Université catholique de Louvain 2 Universidad de Castilla-la-Mancha.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
TK2023 Object-Oriented Software Engineering CHAPTER 8 LOGICAL ARCHITECTURE.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Chapter 19: Building Systems with Assurance Dr. Wayne Summers Department of Computer Science Columbus State University
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Basic Concepts and Definitions
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Data Mining Concepts and Techniques Course Presentation by Ali A. Ali Department of Information Technology Institute of Graduate Studies and Research Alexandria.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fourth Edition
UML Diagrams: Class Diagrams The Static Analysis Model
System Design and Modeling
Software Reuse Objectives
Evaluating Compuware OptimalJ as an MDA tool
Software Design CMSC 345, Version 1/11.
An Introduction to Software Architecture
Software Architecture & Design
Presentation transcript:

Product Line Architecture for a Family of Meshing Tools María Cecilia Bastarrica, Nancy Hitschfeld-Kahler, Pedro O. Rossel Computer Science Department, Universidad de Chile

Agenda  Meshing Tools  Software Product Lines  Product Line Architecture  Our Proposal: A Meshing Tool PLA  Product Instantiation  Future Work and Conclusions

Meshing Tools  Meshing tools manage discretizations of certain application domains.  Independently of the application domain, all meshing tools share functionality: Read the domain geometry and physical values Generate an initial mesh Refine, improve, derefine or smooth the mesh according to a quality criterion Store the mesh into a file

Refined Volume Mesh

Software Product Lines  A software product line (SPL) is a collection of products that serve the needs of a market segment, and that are built from a set of reusable assets. Management Domain Engineering Application Engineering Software applications Software assets

Domain Engineering: Typical Reusable Assets  Executable software components  Software source code  Reusable libraries  Test sets and test cases  …and the Product Line Architecture

PLA for the Meshing Tool SPL  Flexibility and interchangeability as the main goals, so we propose a layered architecture: User Interface Algorithms Model Input/output

 xADL PLA specification: Primitives for optional elements (dashed components and connectors) Graphical intuitive representation Tool support for modeling and code generation

Application Engineering: Product Instantiation  Generating products using the proposed PLA implies two steps: Component type selection Implementation selection

2D Control Volume Mesh Component Type Description SelectorAllows to enter a specific improvement region and criterion, and also to choose the following algorithm to be applied (either Improve or Final ) InitialReads the already generated Delaunay mesh ImproveApplies the Delaunay_improvement_algorithm to the specified region with a particular criterion FinalPost-processes the mesh eliminating obtuse angles opposite to the boundary ( Non_obtuse_boundary_algorithm ) CriterionImprovement criteria such as Maximum_edge_vertex connectivity and Maximum_angle RegionRegion where the improvement is applied; in the example only Whole_geometry is used, but it may also be Circle

3D Control Volume Mesh Component Type Description Selector Allows to enter a list of criteria and their associated regions, and then the whole process is invoked Initial Reads the device geometry and generates a first coarse mixed element mesh ( Fit_Device_Geometry ) Refine Divides element in order to fit physical and geometric parameter values ( Refine_Grid ) Final Improves elements in order to fulfill the Voronoi region requirement and generates the final mixed element mesh ( Make_Irregular_Leaves_Splittable ) Region Regions where the refinement is applied, e.g. cuboid or rectangle, among others Criterion Doping_Difference and Longest_Edge as the main refinement criteria Format Outputs the mesh in a format understandable by the visualizer ( Write_Geometrical_Information and Write_Doping_Information )

Conclusions  SPL are specially suited for meshing tools  Having a tested PLA helps defining new family products  Clearly defining the PLA brought multiple benefits: Basis for communication Possibility of consistency analysis Potential for instance meshing tool generation

Conclusions (cont.)  Formally defining the PLA makes it possible to (semi) automate the process of instance tool generation: The PLA can be considered as a high abstraction level model The component type selection is a model transformation into another one where there are no optional elements The implementation selection precisely determines which pieces of code form part of the specific tool In a last transformation, all pieces are put together to generate the tool code

Work in Progress  Refine the PLA definition so that it includes all the guard conditions required for each transformation step.  Meshing tool component adaptation so that they comply with the interfaces defined by the PLA.  Implement a framework that supports all the tool generation process using MDE concepts.