Computational & Technology Resources
an online resource for computational,
engineering & technology publications
PROCEEDINGS OF THE TENTH INTERNATIONAL CONFERENCE ON CIVIL, STRUCTURAL AND ENVIRONMENTAL ENGINEERING COMPUTING
Edited by: B.H.V. Topping
Extending Software Development with XML Based Components
Asian Center for Engineering Computations and Software, Asian Institute of Technology, Bangkok, Thailand
N. Anwar, "Extending Software Development with XML Based Components", in B.H.V. Topping, (Editor), "Proceedings of the Tenth International Conference on Civil, Structural and Environmental Engineering Computing", Civil-Comp Press, Stirlingshire, UK, Paper 63, 2005. doi:10.4203/ccp.81.63
Keywords: XML, component-based software development, parametric structures, framework, generic solutions, object oriented.
Component Based Software Development (CBSD) is now a well established and a proven paradigm in the software engineering discipline, but its application and adoption in civil and structural engineering software has been rather limited. This paper presents a solution to help alleviate these short comings by first proposing a general framework for the development of component-based structural engineering software and then proposing the use of XML-based components written outside of the program to extend the software functionality as well as expanding the spectrum of people involved in the software development process. In the proposed framework the software component are developed to handle a general solution to a certain class of problems whereas, the solution of a particular problem within that class is defined in an XML-based document outside the software component. In CBSD new software solutions are developed using the functionality of existing pre-developed components . The application of CBSD to civil engineering software has been described by Anwar et al [2,3]. The components used in this context are themselves programs written in appropriate programming language such as C, C++, Delphi or even Visual Basic. These components need to be referenced and incorporated in the software before it is compiled and released.
It is possible to enhance or expand the software functionality by enhancing the components and replacing the older versions. Several protocols and frameworks to develop and use such components have been developed and are in use. These include; Object Linkage and Embedding (OLE), Component Object Model (COM), Distributed Component Object Model (DCOM), Common Object Request Broker Architecture (CORBA), ActiveX, Java beams, and more recently the .Net based component framework [4,5]. The users of the programs generally do not have access to these components, and most are not even aware of their presence. The eXtensible Markup Language (XML) based components described here, can be written by the user's themselves and can be added and connected to the existing programs to add new functionality or capabilities. Almost no formal programming or software development skills are required to accomplish this task. The basic idea is to develop generic solutions for a particular class of problem and program it into the software. The solutions of specific or specialized problems is described in external objects written using XML formal syntax and then linked to this program.
What sets the proposed XML based components apart from other component frameworks is that the former components are a tool for the user to add specific solutions to existing programs, where as the later are for the software developers to assist in their development task. Authoring of XML-based components is relatively easy and can be used with software written in different programming environment or hardware installations . The XML-based components are inherently internet friendly and provide another level of extensibility. As an example, the paper describes a framework and its implementation to handle parametric generation of structural models, completely defined in XML based components, written by non-programmers, used within a highly interactive and graphically illustrative interface developed by experienced software engineers.
The XML-based components contain both the data and the logic to use that data for solutions of particular problems within a general class of problems. The software contains the functionality to parse and interpret data and logic defined within the XML files that conform to a particular schema. This framework gives the opportunity for several professional and subject specialists to participate and expand the software development process without the need to learn programming skills.
purchase the full-text of this paper (price £20)