Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Product Line Architecture for a Family of Meshing Tools María Cecilia Bastarrica, Nancy Hitschfeld-Kahler, Pedro O. Rossel Computer Science Department,"— Presentation transcript:

1 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 {cecilia|nancy|prossel}@dcc.uchile.cl

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

3 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

4 Refined Volume Mesh

5 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

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

7 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

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

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

10 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

11 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 )

12 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

13 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

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


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

Similar presentations


Ads by Google