gsphelp  Software implementation

<< Click to Display Table of Contents >>

Navigation:  Introduction >

gsphelp  Software implementation

Previous pageReturn to chapter overviewNext page

The principles of object oriented design/programming (OOD/OOP): encapsulation, inheritance and polymorphism are extensively used in the GSP 8 & 9 modelling engine to enhance code readability, maintainability and upgradability and minimize the occurence of multiple instances of the same code (as was still the case with version 6.0 in Fortran77).

 

Encapsulation enhances code maintainability and readability by concentrating all data declarations and procedures (both for interface and simulation calculations) in a single code unit.

 

Inheritance is used to concentrate code common to multiple component types in abstract component classes, preventing code duplication and enhancing code maintainability. For example, the abstract 'turbomachinery component class' represents an abstract ancestor incorporating all functionality common to compressors, fans and turbines.

 

Polymorphism is the ability of parameters to represent different object classes and is extensively applied in GSP. For example, the system model code has an abstract (polymorph) identifier able to represent any component in the model. During simulation, the abstract identifier subsequently represents all components and runs their simulation codes.

 

GSP's graphical user interface fully reflects the object-oriented architecture for the gas turbine system and component models.

 

The approach of object-orientation enables NLR to derive new or specific application dedicated components very rapidly from existing ones (using inheritance).