Abstract
Control software plays a pivotal role in orchestrating the interactions of industrial systems,
including sensors, actuators, robots, and machinery, to ensure real-time coordination and reliability. Developing such software, however, is a complex and resource-intensive process,
requiring significant time, cost, and specialized domain expertise. For example, the control
software development for the Square Kilometre Array (SKA) radio telescope, which manages
thousands of devices such as antennas and sensors, required over 100 engineers and spanned
over five years. Furthermore, hardware upgrades, maintenance, and evolving operational requirements necessitate frequent reconfiguration of control software in industrial systems. Due
to production demands or machine replacements, such reconfigurations may occur multiple
times per month.
Manual development and reconfiguration of control software are inherently time-consuming,
resource-intensive, and heavily reliant on domain expertise. Automating these processes is essential for scalable, cost-effective, and rapid development. A significant challenge in automation lies in capturing and reusing domain-specific knowledge concerning device behaviors
and interactions. Current generative AI (GenAI) technologies lack domain-specific knowledge, explainability, and robust reasoning capabilities to address the precision and constraints
in reconfiguration scenarios.
This thesis addresses these challenges by automating control software development and
reconfiguration using domain knowledge. The knowledge of control components is systematically captured through a Capability Ontology. Domain-specific languages (DSLs) were developed to leverage this knowledge, providing a syntactic interface to describe abstract requirements, device capabilities, and control designs. A synthesis algorithm automatically generates
control designs, translated into executable software via a code-generation engine. These components are integrated into the Knowledge-aided Integrated Development Environment (K-IDE).
K-IDE facilitates the creation of new device capabilities and workflows, enabling the generation of control software from scratch. Additionally, it supports reusing existing knowledge
to reconfigure systems and produce updated software. By combining the synthesis algorithm
with domain knowledge, K-IDE automates the development and reconfiguration of control
software.To bridge domain knowledge with executable artifacts, the thesis also introduces a domainspecific Knowledge Representation Language (KRL) that translates semantic models into multiple
target representations such as code and visualization formats.
K-IDE was validated across three industrial setups: (i) a warehouse robotics system with
over 200 components, (ii) an automated vehicle entry system comprising 150 devices, and (iii)
a smart meeting room with 50 interconnected devices. Validation results demonstrated significant efficiency improvements, reducing development time by 60% and reconfiguration effort
by 50% compared to manual development approaches. In addition to technical validation,
the usability of K-IDE was evaluated through user interviews, questionnaires, and practical
deployment, indicating substantial gains in efficiency, flexibility, error reduction, and ease of
adoption across diverse engineering roles.