Karlstad University Computer Science Component Based Software Engineering, Västerås Semantic Integrity in Component Based Development Martin Blom, Eivind J. Nordby Karlstad University, Computer Science, Karlstad {Martin.Blom,
Component Based Software Engineering, Västerås Karlstad University Computer Science 2 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 Motivation and Objectives
Component Based Software Engineering, Västerås Karlstad University Computer Science 3 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
Component Based Software Engineering, Västerås Karlstad University Computer Science 4 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
Component Based Software Engineering, Västerås Karlstad University Computer Science 5 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
Component Based Software Engineering, Västerås Karlstad University Computer Science 6 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
Component Based Software Engineering, Västerås Karlstad University Computer Science 7 ** *** * ** * * * **** *** ** * *** Focuses from the survey Definition Reuse Maintenance Life cycle stage Semantic awareness Abstraction level Low High None Intuitive Pragmatic Executable Formal
Component Based Software Engineering, Västerås Karlstad University Computer Science 8 Missing focus Definition Reuse Maintenance Life cycle stage Semantic awareness Abstraction level Low High None Intuitive Pragmatic Executable Formal ** *** * ** * * * **** *** ** *
Karlstad University Computer Science Component Based Software Engineering, Västerås Thank you for your attention! Are there any questions? Martin Blom, Eivind J. Nordby Karlstad University, Computer Science, Karlstad {Martin.Blom,