Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Civil-Comp Proceedings
ISSN 1759-3433
CCP: 77
Edited by: B.H.V. Topping
Paper 4

Extending Finite Element Software by Component-Oriented Technology

M. Dolenc

Faculty of Civil and Geodetic Engineering, University of Ljubljana, Slovenia

Full Bibliographic Reference for this paper
M. Dolenc, "Extending Finite Element Software by Component-Oriented Technology", in B.H.V. Topping, (Editor), "Proceedings of the Ninth International Conference on Civil and Structural Engineering Computing", Civil-Comp Press, Stirlingshire, UK, Paper 4, 2003. doi:10.4203/ccp.77.4
Keywords: component-oriented software development, object-oriented software development,.

The paper deals with the binary extensibility of software systems for the finite element analysis. But rather than developing a new component-oriented finite element software system [1], an existing platform neutral open-source [2] object-oriented finite element software system [3] designed for static linear elastic structural analyses was modified and extended to support the binary extensibility or plug-in functionality for the parts of the software system that are frequently extended by researchers in the field of finite elements, for example different finite element types, solvers, and solution algorithms. The software system was modified and extended following the guidelines:
  1. The binary extendibility of the software system must be achieved using the component-oriented technology.
  2. Modifications of the existing software system code base must be as minimal as possible.
  3. The overall performance of the modified and extended software system must be comparable to the original one.
  4. The modified and extended software system must remain platform neutral and open-source.

One of the goals of the presented research was to evaluate different component-oriented technologies for the use in the development of finite element codes. The existing software systems was once modified and extended using the well known CORBA component-oriented technology (Common Object Request Broker Architecture) [4], the XPCOM (Cross Platform Component Object Model) [5] component-oriented technology that is modelled on the COM (Component Object Model) [6] technology, but also inherits from the CORBA technology (platform neutral, Interface definition Language, ...), and by using shared libraries [7] that are not generally considered a component-oriented technology but if used as dynamically loaded shared libraries developers can achieve much of the properties of component-oriented technologies. All versions were afterwards compared to the original software system in terms of the overall performance and software development process. For the purpose of this research, the existing software system was modified for binary extensibility of element types.

As expected, the overall performance of the modified and extended software system was comparable to the performance of the original, unmodified software system. It should be noted that, to be able to compare the CORBA and XPCOM implementation of the software systems, none of the modified software implementations uses remote objects because the XPCOM technology does not support them.

The use of the component-oriented approach for achieving the binary extensibility of the existing object-oriented software system proved significant advantages in terms of software engineering, and applying functionality efficiently. By enhancing flexibility and maintainability of systems, this approach can potentially be used to reduce software development costs, assemble systems rapidly, and reduce the spiraling maintenance burden associated with the support and the upgrade of large software systems.

M. Dolenc, "Developing Extendable Component-Oriented Finite Element Software", Proceedings of The Third International Conference on Engineering Computational Technology, Prague - Czech Republic, 4-6 September 2002, Civil-Comp Press, Stirling, 2002. doi:10.4203/ccp.76.8
Open Source Initiative, "The Open Source Definition",
"FELyx - the Finite Element Library eXperiment",
Object Management Group (OMG), "CORBA/IIOP Specification",
The Mozilla Organization, "XPCOM Documentation",
Microsoft Corporation, "The Component Object Model Specification",
K. Wall, M. Watson, M. Whitis, "Linux Programming Unleashed", SAMS, 1999.

purchase the full-text of this paper (price £20)

go to the previous paper
go to the next paper
return to the table of contents
return to the book description
purchase this book (price £123 +P&P)