A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
Fundamentals of software engineering
Fundamentals of software engineering
A logical approach to discrete math
A logical approach to discrete math
How Accurate is Scientific Software?
IEEE Transactions on Software Engineering
Defining families: the commonality analysis (tutorial)
ICSE '97 Proceedings of the 19th international conference on Software engineering
Mastering the requirements process
Mastering the requirements process
Software product-line engineering: a family-based software development process
Software product-line engineering: a family-based software development process
A technique for software module specification with examples
Communications of the ACM
Software Engineering Economics
Software Engineering Economics
Designing Scientific Components
Computing in Science and Engineering
Engineering Domains: Executable Commands as an Example
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Goal-Oriented Requirements Engineering: A Guided Tour
RE '01 Proceedings of the Fifth IEEE International Symposium on Requirements Engineering
Semi-formal design of reliable mesh generation systems
Advances in Engineering Software
Accuracy and Reliability in Scientific Computing (Software, Environments, Tools) (Software, Environments, Tools)
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Using model checking with symbolic execution to verify parallel numerical programs
Proceedings of the 2006 international symposium on Software testing and analysis
RE '06 Proceedings of the 14th IEEE International Requirements Engineering Conference
Writing Scientific Software: A Guide to Good Style
Writing Scientific Software: A Guide to Good Style
Mesh Generation: Application to Finite Elements
Mesh Generation: Application to Finite Elements
Chapter I: Notes on structured programming
Structured programming
The Chimera of Software Quality
Computer
On the Design and Development of Program Families
IEEE Transactions on Software Engineering
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
Dealing with Risk in Scientific Software Development
IEEE Software
Designing a product family of meshing tools
Advances in Engineering Software
Product line architecture for a family of meshing tools
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Domain modeling as a basis for building a meshing tool software product line
Advances in Engineering Software
Hi-index | 0.00 |
This paper motivates the value of using a document driven methodology to improve the quality of scientific computing applications by illustrating the design and documentation of a Parallel Mesh Generation Toolbox (PMGT). Formal mathematical specification is promoted for writing unambiguous requirements, which can be used to judge the correctness and thus the reliability of PMGT. Mathematics is also shown to improve understandability, reusability and maintainability through modelling software modules as finite state machines. The proposed methodology includes explicit traceability between requirements, design, implementation and test cases. Traceability improves the verification of completeness and consistency and it allows for proper change management. To improve the reliability of PMGT, given the challenge that the correct solution is unknown a priori, an automated testing approach is adopted to verify the known properties of a correct solution, such as conformality and counterclockwise vertex numbering.