Download presentation
Presentation is loading. Please wait.
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.