100 likes | 191 Views
Toward Ontology-Based Component Composition. Kenneth Baclawski and Artan Simeqi College of Computer Science Northeastern University. Component Composition. Increasingly common software development technique. “Feature interaction” is a serious problem.
E N D
Toward Ontology-Based Component Composition Kenneth Baclawski and Artan Simeqi College of Computer Science Northeastern University
Component Composition • Increasingly common software development technique. • “Feature interaction” is a serious problem. • Validation is very hard and rarely done. • Prospects for improvement are dismal: • Lamport predicted that it would not be a practical concern within the next 10 years.
Pseudo-Programming Languages • General purpose languages for specifying component composition. • Only support limited kinds of component connector and system requirement. • The main technique for specifying component composition today. • Actually make it harder to validate compositions! (Lamport 1997)
Back to Basics: Mathematics • Mathematical proofs are already inherently compositional. • Mathematics is more general and more powerful than any PPL. • Why are we trying to improve on mathematical reasoning?
Ontology • Shared understanding within a community. • Formal, declarative semantic model • An ontology may include: • Vocabulary terms • Taxonomic and other relationships • Constraints, inference rules and assertions • Theorems, lemmas and corollaries • An ontology is a mathematical theory.
Ontology-Based Computing • Apply general mathematical reasoning to specialized domains specified by ontologies. • By contrast, PPLs apply specialized reasoning without any domain specificity. PPL Domains Ontology Mathematical Constructs
Suggested Approach • Theory is the fundamental building block. • Theories can be composed using the colimit. • A theory can be interpreted using concrete models • Ontologies, requirements, environments and component specifications are theories. • Justification (proof trace) is a formal proof represented as a data structure that can be queried and manipulated using automated tools.
Dynamic Composition and Reconfiguration for Sensor Systems • Extreme test case for ontology-based component composition • These are hard real-time systems that can operate at a nanosecond time scale. • Validation for a reconfiguration must occur without human interaction in seconds while a mission is occurring. • Lives depend on correctness.
Conclusion • Ontology-based computing is emerging as an important new computing paradigm. • Basing component composition on ontologies has many advantages: • Grounded in general mathematical reasoning • Tractability can be addressed • Close connection with the domain language • Uses the compositionality of mathematics.