Semantic Integrity in Component Based Development Martin Blom
Semantic Integrity in Component Based Development Martin Blom, Eivind J. Nordby Karlstad University, Computer Science, 651 88 Karlstad {Martin. Blom, Eivind. Nordby}@kau. se Karlstad University Computer Science Component Based Software Engineering, Västerås 2000 -02 -24
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 Karlstad University Computer Science 2 Component Based Software Engineering, Västerås 2000 -02 -24
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 Karlstad University Computer Science 3 Component Based Software Engineering, Västerås 2000 -02 -24
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 definition, contract Karlstad University Computer Science 4 Component Based Software Engineering, Västerås 2000 -02 -24
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 Karlstad University Computer Science 5 Component Based Software Engineering, Västerås 2000 -02 -24
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 Karlstad University Computer Science 6 Component Based Software Engineering, Västerås 2000 -02 -24
Focuses from the survey Abstraction level High ** *** * Low Pra Int No uit iv e ne Definition * Reuse gm a Ex tic ** ** * ecu ** tab le For Semantic awareness ma l *** ***** *** ** * ce Maintenan Life cycle stage Karlstad University Computer Science 7 Component Based Software Engineering, Västerås 2000 -02 -24
Missing focus Abstraction level High ** *** * Low Pra Int No uit iv e ne Definition * Reuse gm a Ex tic ** ** * ecu ** tab le For Semantic awareness ma l *** ***** *** ** * ce Maintenan Life cycle stage Karlstad University Computer Science 8 Component Based Software Engineering, Västerås 2000 -02 -24
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 Karlstad University Computer Science Component Based Software Engineering, Västerås 2000 -02 -24
- Slides: 9