We believe that AI programs written for discovery tasks will need to simultaneously employ a variety of reasoning techniques such as induction, abduction, deduction, calculation an...
Previous research has shown that Staged Execution (SE), i.e., dividing a program into segments and executing each segment at the core that has the data and/or functionality to bes...
The evolution of complex software systems is promoted by software engineering principles and techniques like separation of concerns, encapsulation, stepwise refinement, and reusab...
Abstract. Model-Driven Software Development is based on standardised models that are refined, transformed and eventually translated into executable code using code generators. How...
When a novice needs help, often the best solution is to find a human expert who is capable of answering the novice’s questions. But often, novices have difficulty characterizing...