91 likes | 233 Views
Semantic Integrity in Component Based Development. Martin Blom, Eivind J. Nordby Karlstad University, Computer Science, 651 88 Karlstad {Martin.Blom, Eivind.Nordby}@ kau.se. Motivation and Objectives. Component technology promotes a flexible combination of software parts
E N D
Semantic Integrity in Component Based Development Martin Blom, Eivind J. Nordby Karlstad University, Computer Science, 651 88 Karlstad{Martin.Blom, Eivind.Nordby}@kau.se
Motivation and Objectives • Component technology promotes a flexible combination of software parts • developed by third parties • used in different environments • spread out across a network • no source code available • Requires a lot from both syntactic and semantic descriptions • Our goal: Investigate how semantic aspects are managed for components 2
Semantic Integrity and Contracts • Semantic integrity • Each part of a software system respects the intended purpose of any other individual part of that system. • Contract • An agreement of conditions for use between a client and a supplier • The client is obliged to satisfy the contract’s precondition • In that case only, the supplier is bound by the contract’s postcondition • Expressed strictly in externally observable terms 3
Literature Searches • Where • Recent issues of scientific and engineering proceedings and communications • IEEE, ACM, Elsevier, Springer • For what • Semantic, integrity, semantic description, software, component, interface, interface definition, contract 4
Our Findings (1) • “Semantic integrity” mostly used with databases • Component definitions mostly concerned with syntax • Interface Description Languages • Consensus that syntax is not enough to describe a component 5
Our Findings (2) • Semantic relationships discussed • in intuitive terms: “not alter the service expectations” • with programming constructs: OCL, assertions • most often executable statements • in formal terms: provable correctness • takes competence, time and resources • “Contract” often used to describe semantics • sometimes used to imply syntax only 6
** ** ** *** * **** *** *** ** ** *** *** ** ** ** * * * ** * *** Focuses from the survey Abstraction level High Semantic awareness Formal Executable Pragmatic Intuitive None Low Definition Reuse Maintenance Life cycle stage 7
**** *** *** ** *** *** ** ** Missing focus Abstraction level High ** ** ** *** * Semantic awareness Formal Executable Pragmatic Intuitive None Low ** ** * * Definition * ** * *** Reuse Maintenance Life cycle stage 8
Thank you for your attention!Are there any questions? Martin Blom, Eivind J. Nordby Karlstad University, Computer Science, 651 88 Karlstad{Martin.Blom, Eivind.Nordby}@kau.se