Software Components Andreas Sjögren Industrial IT group Computer Science Lab MdH.

Slides:



Advertisements
Similar presentations
P SATel Institute for Information Processing University of Pisa SantAnna school Pisa Today trends in Software Engineering 1. Distributed Objects 2. Component.
Advertisements

10 maart 2000SEESCOA Components Programming Technology Lab (PROG) System & Software Engineering Lab (SSEL) Dept. of Computer Sciences (DINF) Vrije Universiteit.
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Component-Based Software Development: Technologies, Quality Assurance Schemes, and Risk Analysis Tools Cai Xia Supervisor: Prof. Michael R. Lyu Markers:
Jordan - Amman Tel: Fax: P.O.Box : 166 Copyright © 2011 Applied Science University. All Rights Reserved ASU Open Course.
Page 1 Building Reliable Component-based Systems Ivica Crnkovic Chapter 9 Component Composition and Integration.
Component Models and Technology Component-based Software Engineering
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
CBSD – Component Based Software Development - Introduction -
Karlstad University Computer Science Component Based Software Engineering, Västerås Semantic Integrity in Component Based Development Martin.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 19 Slide 1 Component-based software engineering.
Component-Based Software Development: Nurturing the Inner Designers Hoang Bao CSC 509 – Winter 2005.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
- 1 - Component Based Development R&D SDM Theo Schouten.
Component-Based Software Development Jacob Fetner.
Towards an Effective Software Component Certification Process Advisor Silvio Lemos Meira Student Alexandre Alvaro
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
Reuse: An Overview Suddenly, The Reuse and The Component met each other.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Component Technology objects versus components -- definitions interoperability.
Component-Based Software Engineering CSM-15 Paul Krause.
Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.
Page 1, August 14, 2015 Advanced CBSE Advanced Component-Based Software Engineering Course Organization Ivica Crnkovic.
Component-Based Software Engineering (CBSE) Speaker: Jerry Gao Ph.D. San Jose State University URL:
Page 1, August 14, 2015 Advanced CBSE Advanced Component-Based Software Engineering - Course Organization Ivica Crnkovic Mälardalen University Software.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Software Component Engineering v1.0, April 24, 2002 Frode L. Ødegård Ødegård Labs, Inc. © 2002 Ødegård Labs, Inc. All Rights Reserved.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Computer Science School of Computing Clemson University Mathematical Reasoning across the Curriculum Software Development Foundations and Software Engineering.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.
June 25, 1998 Is NT needed at CERN? Andreu Pacheco, LHCb / CERN 1 LHCb Computing Architecture Meeting Is NT needed at CERN? Andreu Pacheco LHCb / CERN.
Component-based software architecture Overview Divides the problem into sub-problems each associated with component partitions. The interfaces of the components.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Software Engineering Institute Carnegie Mellon University Component-Based Software Kurt C. Wallnau Software Engineering Institute Carnegie Mellon University,
Lecture 21 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
CSC 532 Term Paper Presentation Hybrid approach to component based Engineering  Introduction.  Component based development (CBD).  Pros and Cons of.
Component-Based Software Engineering(CBSE) Xingui Tang CS532, Fall /6/2015.
2004 Fall Simulation Interoperability Workshop In Search of the Philosopher’s Stone: Simulation Composability Versus Component-Based Software Design M.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Component Oriented Programming 1 Introduction to COP.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
©Ian Sommerville 2000 Software Engineering. Chapter 18Slide 1 Chapters 18/19 Software Reuse / CBSE.
Component Based Software Engineering Master of Software Engineering + Master of Information Technology 2010/2011 Conf.dr.ing. Ioana ora
Page 1, December 8, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
Introduction to Component-Based Software Engineering
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
CBSE Component Based Software Engineering cs. upt
Designing Abstract Interfaces for Device Independency Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract.
Introduction to business component technologies. Component definitions Szyperski: A software component is a unit of composition with contractually specified.
©Ian Sommerville 2006MSc module: Advanced Software Engineering Slide 1 Component-based software engineering.
Component-based Software Engineering CBSE seminar, Oslo, 4 Feb Christian Bunse
Component Based Software Engineering Master of Software Engineering + Master of Information Technology 2010/2011 Conf.dr.ing. Ioana ora
Chapter 17 - Component-based software engineering
Component-Based Software Engineering Testing
Component Based Software Engineering
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Component--based development
Quality Assurance for Component-Based Software Development
The Current State of CBSE
Presentation transcript:

Software Components Andreas Sjögren Industrial IT group Computer Science Lab MdH

Contents Introduction The Research Area –Components –Advantages/disadvantages with Components –Component Technologies –Hot Topics and Future Work The Community –Conferences –Research Groups and Researchers –Seminal Papers and Books Conclusion

Introduction From other engineering disciplines –Notations of prefabrication of generic parts and their assembly to form more specific parts Component Based Software Engineering (CBSE) –Realization of systems from reusable parts (components) –Building components Software Architectures –Concerned with the high-level structure of systems –A separate, but close related topic

THE RESEARCH AREA

Components (i) ”Components are for composition” Ontological point of view: –Everything that can be composed into a composite is a component (i.e. expressions, functions, statements, classes, modules, etc.) Pragmatic point of view: –Only if they form isolatable parts of a deployed solution should they be called components

Components (ii) Definition [Szyperski]: –”A component is a unit of composition with contractually specified interfaces and explicit context dependencies only” –”A component can be independently deployed and is a subject to composition by third parties” Components: –Clear specifications of what it provides and requires –Separated from its environment and from other components –Interact with the environment through well-defined interfaces (and possibly platforms assumptions) only

Arguments for Components 1.The Baseline Argument –Combining ”make” and ”by” –Organizations can focus on core business 2.The Enterprise Argument –Several products of a Product-Line from a core set of components plus product specific ones 3.The Dynamic Computing Argument –If well-architectured systems can be dynamically extended on demand

Disadvantages Change of Organization Takes time and effort to develop reusable components Trade-off between usability and reusability Predictability of Component Compositions The area is still immature Is it a hype?

Component Technologies Standards: –CORBA/CCM (OMG) –Java Beans (Javasoft, Sun) –COM/DCOM (Microsoft) –.NET (Microsoft) Disadvantages: –For practical problems –Specifications –Trade-off between: Platform independence (Java Beans) or language independence (.NET, COM)

Hot Topics/Future Work Components and architectures Interfaces, object interfaces not enough (Formal) Specifications and verification of Components Web Services Certifications (3 rd parties)

THE COMMUNITY

Conferences/Workshops ICSE (International Conference of Software Engineering) –CBSE Workshop ESEC (European Software Engineering Conference) APSEC (Asia-Pacific Software Engineering Conference) ECBS (Engineering of Computer Based Systems) OOPSLA (ACM International Conference on OO-systems) ECOP (European Conference on OOP) –Workshop on Component-Oriented Programming Euromicro –CBSE Workshop SERP (Swedish conference on SE Research and Practise)

Research groups and Researchers CMU, Pittsburgh, USA –SE-institute: Kurt Wallnau, Judith Stafford –CompSci. Dep.: Dave Garland Heinz Schmidt, Monash University, Australia Ivica Crnkovic, IDt, MdH Jan Bosch, Univ. of Groningen, Holland (BTH) Murali Sitaraman, Clemson University, USA Kung-Kiu Lau, Manchester University Clemens Szyperski, MS Research ABB Corporate Research, Switzerland and Germany Lots of other industrial companies

Research groups in Sweden CompSci. Dep., Karlstad University –Semantic Integrity Group SW Research Lab, BTH (Karlskrona/Ronneby) –Software Architectures, Product Lines Industrial Information & Control Systems, KTH –Software Architectures PELAB, IDA, Linköping University –Components and Software Architectures

Seminal Papers Szyperski, Component-Oriented Programming, The Oberon Tribune, Oberon Mircosystems, Zürich, Switzerland 1995 Szyperski, Independently Extensible Systems, 19th Australian Computer Science Conference Szyperski, Component Software – a market on the verge of success, The Oberon Tribune, Oberon Mircosystems, Zürich, Switzerland 1997

Books Component Software (Beyound Object-Oriented Prog.) –Clemens Szyperski, 1997 Large Scale Component-Based Development –Alan Brown, 2000 Foundations of Component-Based Systems –Leavens and Sitaraman (editors), 2001 Component-Based SE (putting the pieces togheter) –Heineman and Councill (editors), 2001 Building Systems from Commercial Components –Wallnau, Seacord, et al, 2001 Building Reliable Component-Based Systems –Ivica Crnkovic and Magnus Larsson (editors), (tba)

Conclusions Pres/Cons +Lots of challenges +Needs for formal methods (at least research) +The group on MdH –Contradictions in the community –”Market-driven” –Microsoft dominance

The End QUESTIONS?