The integration of geospatial software components has recently received considerable attention due to the need for rapid growth of GIS application and development environments. However, finding appropriate source code components that can be incorporated into a system under development requires considerable verification to ensure the source code can work correctly. Currently, many source code components can be obtained from open source repositories and ongoing GIS projects. The component types need to be identified and organized so that they can be found by other developers. This paper therefore describes the design of a repository system that employs a new specification language, namely SpecJ2, to address the challenges involved in integrating and operating software components. SpecJ2 was designed to represent the architectural attributes of source code components and to abstract their complexity by applying the notion of separation of concerns, a key consideration when designing software systems. The research methodology adopted in this work was to employ a technique to gather samples that can be tested for experimentation. This was important in ensuring maximum coverage of all suitable components. All the reviewed source code components were in the GIS application domain and conformed to Java language standards. The results of the experiment showed that SpecJ2 is capable of defining the different architectural attributes of source code components and can facilitate their integration and interaction at run-time. Thus, SpecJ2 can classify software components according to their identified types.