Key research themes
1. How do software libraries support efficient cataloguing and resource sharing in academic and digital library environments?
This research theme investigates how software library systems are designed and deployed to optimize cataloguing, cooperation, and resource sharing among academic and digital libraries. Efficient cataloguing modules and integrated library systems facilitate organizing large information collections, user access, and consortia-based resource sharing. Understanding the software architectural choices and deployment challenges is key to enhancing library automation and digital library management.
2. What are the methodological and computational approaches to building extensible and portable software libraries for diverse applications?
This research theme focuses on the design and engineering of software libraries maintaining extensibility and portability across platforms and applications, including model predictive control, computational geometry, and digital library generators. It addresses strategies such as layered modular architectures, use of standard languages and interfaces, and abstraction to support reuse and adaptation in heterogeneous environments. Achieving portability and extensibility is vital to developing robust, reusable software components and libraries that facilitate application development and longevity.
3. How can software component search and reuse be enhanced through specification-based and hybrid retrieval techniques to improve software library utility?
This research theme explores computational techniques to improve searching and reusing software components within software libraries. It examines approaches combining algebraic specifications, semantic and syntactic filtering, term rewriting, and hybrid models incorporating natural language processing to yield ranked, approximate matches to users’ queries. Efficient retrieval systems aim to overcome challenges in locating reusable components in vast repositories, enabling more effective software reuse and reducing redundancy in software development.