Karlstad University Computer Science Component Based Software Engineering, Västerås 2000-02-24 Semantic Integrity in Component Based Development Martin.

Slides:



Advertisements
Similar presentations
Karlstad University Computer Science Design Contracts and Error Management Design Contracts and Errors A Software Development Strategy Eivind J. Nordby.
Advertisements

The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Error Management with Design Contracts Karlstad University Computer Science Error Management with Design Contracts Eivind J. Nordby, Martin Blom, Anna.
ISBN Chapter 3 Describing Syntax and Semantics.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
OASIS Reference Model for Service Oriented Architecture 1.0
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
On the Relation between Design Contracts and Errors Karlstad University Computer Science On the Relation Between Design Contracts and Errors A Software.
Software Testing and Quality Assurance
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
Ch3: Software Engineering Principles 1 What is a principle?  Definition:  Goals of accounting principles:  Goals of software engineering principles?
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Operational Semantics.
Four Dark Corners of Requirements Engineering
Karlstad University Computer Science Design Contracts and Error Management Design Contracts and Errors A Software Development Strategy (anpassad för PUMA)
Page 1 Building Reliable Component-based Systems Chapter 6 - Semantic Integrity in Component Based Development Chapter 6 Semantic Integrity in Component.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Chapter 1 Principles of Programming and Software Engineering.
Describing Syntax and Semantics
Eiffel Language and Design by Contract Contract –An agreement between the client and the supplier Characteristics –Expects some benefits and is prepared.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Computer Science 340 Software Design & Testing Design By Contract.
The Software Development Life Cycle: An Overview
Guide to the Software Engineering Body of Knowledge Chapter 1 - Introduction.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Design.
Software System Engineering: A tutorial
Computer Science School of Computing Clemson University Introduction to Formal Specification Murali Sitaraman Clemson University.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
A Pragmatic Application of PbC Karlstads University Computer Science A pragmatic Application of Programming by Contract Martin Blom / Eivind Nordby Karlstad.
Company LOGO Database System I Gde Dharma N. Fenomena “Information Overload” “The percentage of unstructured data is 85% of the total and growing..” ---Delphi.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
111 Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract,
Web server internal infrastructure suppliercustomer warehouse web server internal infrastructure internal procurement requests B2B interactions occur by.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 Introduction to Software Engineering Lecture 1.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Correctness of Software Models Mira Balaban, Azzam Maraee Computer Science Department Ben-Gurion University Model correctnessFall
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Designing Classes Prelude © 2015 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures and Abstractions with Java, 4e Frank.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
ISBN Chapter 3 Describing Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Assignment Help From Requirements Elicitation to Elicitation.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
System Requirements Specification
Karlstad University Computer Science Design Contracts and Error Management External and internal errors and their contracts.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
DBC NOTES. Design By Contract l A contract carries mutual obligations and benefits. l The client should only call a routine when the routine’s pre-condition.
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
Chapter 1 Software Development Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
1 TEAM BUILDING & MANAGEMENT. 2 CONTENTS Generalities The individual The individual in the group To manage the group The group manager The group facing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Sharing personal knowledge over the Semantic Web ● We call personal knowledge the knowledge that is developed and shared by the users while they solve.
Design by Contract. The Goal Ensure the correctness of our software (correctness) Recover when it is not correct anyway (robustness) Correctness: Assertions.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
Programming Goals CSCE 121 J. Michael Moore.
Architecture Description Languages
Automated Analysis and Code Generation for Domain-Specific Models
Requirements Engineering
Information system analysis and design
Design Contracts and Errors A Software Development Strategy
Presentation transcript:

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,