Component-Based Software Engineering (CBSE) Announcements
|
|
|
- Magdalene Kathryn Ellis
- 10 years ago
- Views:
Transcription
1 Component-Based Software Engineering (CBSE) Announcements Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik , Apr 05, 2011 CBSE, Prof. Uwe Aßmann 1
2 Elements of the Course! Lecturing " Do not miss one, they should give you a short and concise overview of the material! Reading " Slides on Obligatory Literature require you to read papers from the web " TU Dresden has subscription to ACM Digital Library and IEEE Explorer " Slides on Secondary Literature contain useful but optional literature! Exercise with Florian Heidenreich " Exercise sheets. Handed out every week, with some breaks. You have one week to solve them on your own. After that, solutions will be explained in the Exercise Prof. U. Aßmann, CBSE 2
3 Reading Along the Lectures! Unfortunately, the course is not covered by any book " About 60% is covered by the blue book Invasive Software Composition " Most of the rest on classical component systems by Szyperski in the book Component Software. Beyond object-oriented computing. Addison-Wesley.! You have to read several research papers, available on the internet " Marked by Obligatory Literature! Secondary Literature is non-mandatory, but interesting reading. Can be done during the course! Other Literature is not to be read, but also interesting. Prof. U. Aßmann, CBSE 3
4 Obligatory Literature! During the course, read the following papers, if possible, in sequential order.! Every week, read about 1 paper (3-4h work)! Course web site Prof. U. Aßmann, CBSE 4
5 Obligatory Literature! [ISC] U. Aßmann. Invasive Software Composition. Springer, 2003.! C. Szyperski. Component software. Beyond object-oriented computing. Addison-Wesley. Bestseller on classical component systems. Papers! D. McIlroy. Mass-produced Software Components. 1st NATO Conference on Software Engineering.! CORBA. Communications of the ACM, Oct All articles. Overview on CORBA 3.0.! Others will be announced. Prof. U. Aßmann, CBSE 5
6 Recommended Literature! I. Forman, S. Danforth. Meta-objects in SOM-C++. Very good book on meta object protocols and meta object composition.! Journal Software - Tools and Techniques. Special Edition on Componentware, Springer. Good overviews.! R. Orfali, D. Harkey: Client/Server programming with Java and Corba. Wiley&Sons. Easy to read.! CORBA. Communications of the ACM, Oct All Articles. Prof. U. Aßmann, CBSE 6
7 Recommended Literature! [GOF, Gamma] E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns. Addison-Wesley Standard book belonging to the shelf of every software engineer. " The book is called GOF (Gang of Four), due to the 4 authors! Alternatively to GOF can be read: [Remark: If you have already studied GOF intensively, do not read these] " A. Tesanovic. What is a pattern? Paper in Design Pattern seminar, IDA, Available at home page. " On Composite, Visitor: T. Panas. Design Patterns, A Quick Introduction. Paper in Design Pattern seminar, IDA, Available at home page. " P. Pop. Creational Patterns. Paper in Design Pattern seminar, IDA, Available at home page. Prof. U. Aßmann, CBSE 7
8 Less Important! K. Czarnecki, U. Eisenecker. Generative programming. Addison-Wesley Good overview on aspects, but not on components! F. Griffel. Componentware. dpunkt-verlag. In German. A lot of material. Prof. U. Aßmann, CBSE 8
9 Please, Please Be Aware There Will Be Pain!! This course is not like a standard course! It treats rather advanced material, the concept of graybox engineering! No single book exists on all of that at all " ISC covers about 60% " Please, collaborate! " Read the articles " Ask questions! " Do the exercise sheets! The exam can only be done if you have visited all lectures and solved all exercise sheets! Learn continuously! One week before the exam is too late!! Be aware: you have not yet seen larger systems " Middle-size systems start over 100KLOC Prof. U. Aßmann, CBSE 9
10 The Positive Side! If you follow carefully, you will discover an exciting world of graybox composition, a new way to extend software! The gain is worthwhile the pain! Prof. U. Aßmann, CBSE 10
11 Component-based Software Contents and Goals CBSE, Prof. Uwe Aßmann 11
12 Course Contents! Part I: Basics " History and overview: Criteria for composition " Basics: Reflection and metaprogramming, Meta-object protocols (MOP), Metadata, Finding components! Part II: Classical component systems (Black-box composition systems) " Classical component systems: Development Process, Problems " Enterprise Java Beans (EJB)! Part III: Architecture systems and languages (Advanced black-box composition systems) " Corba " Web services " Architecture Systems! Part IV: Gray-box composition (Invasive composition) " Composition Filters " Generic Programming (BETA) " View-based programming: Hyperspace programming " Calculi for component systems " Aspect-oriented software development: AOSD and AOP " Invasive software composition! Part V: Universal Composition Prof. U. Aßmann, CBSE 12
13 Component-Based Software Goals CBSE, Prof. Uwe Aßmann 13
14 Main Goals! Understand the concept of a component, frameworks and product lines " Variability, extensibility, and glueing are three central goals! There are other central concepts for component models than classes and objects " Understand greybox fragment-based composition " why it introduces new forms of static extensibility " why other static component models are special cases of it! Understand dynamic composition! Understand frameworks not only as collections of classes, but collections of components! Understand components as collections of standardized role types! Understand connectors as role models plus protocol Prof. U. Aßmann, CBSE 14
15 The Hypothesis of Composition! There are only two basic kinds of compositions " static composition (can be modeled as fragment-based invasive compositions) " dynamic composition (use assignment and extension of runtime values)! There are only some basic operations, on code or on data " Variability with bind operator " Extensibility with extend operator " Glue with glue code operators " Select to select fragments from a fragment universe! There are additional operations for both scenarios: " copy, rename, unbind Prof. U. Aßmann, CBSE 15
16 The End Prof. U. Aßmann, CBSE 16
25.1 Translational Frameworks (MDA with transformations)
Literature TU Dresden Fakultät für Informatik Institut für Software- und Multimediatechnik 25. From Code Frameworks to Model-Driven Architecture (MDA) and Component-Based Software Development (CBSD) Prof.
Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g
Systems Integration: Component-based software engineering Objectives To explain that CBSE is concerned with developing standardised components and composing these into applications To describe components
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
Organization. Introduction to Software Engineering
Dr. Michael Eichberg Software Technology Group Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering Organization Teaser Background Information 3 As long
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk Physical Architecture As stated earlier, architecture can be defined at both a logical
Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
Jenerator Generative Programming for Java
Jenerator Generative Programming for Java Markus Völter 1 and Andreas Gärtner 2 1 MATHEMA AG, Germany [email protected] 2 Universität Passau, Germany [email protected] Abstract. Generative
Understanding Software Static and Dynamic Aspects
Understanding Software Static and Dynamic Aspects Welf Löwe IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe Germany [email protected] Andreas Ludwig IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe
Structuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
Practical Refactoring-Based Framework Upgrade
Practical Refactoring-Based Framework Upgrade Ilie Şavga, Michael Rudolf, Sebastian Götz, Uwe Aßmann 20.10.2008 GPCE'08: Nashville, Tennessee Restructuring a Sign John Thompson, hatter, makes and sells
Component Based Software Engineering: A Broad Based Model is Needed
Component Based Software Engineering: A Broad Based Model is Needed Allen Parrish ([email protected]) Brandon Dixon ([email protected]) David Hale ([email protected]) Department of Computer Science
IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3
Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document
Dynamic Adaptability of Services in Enterprise JavaBeans Architecture
1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** [email protected], {pcdavid, ledoux}@emn.fr (*) Faculté
270015 - IES - Introduction to Software Engineering
Coordinating unit: 270 - FIB - Barcelona School of Informatics Teaching unit: 747 - ESSI - Department of Service and Information System Engineering Academic year: Degree: 2015 BACHELOR'S DEGREE IN INFORMATICS
Encapsulating Crosscutting Concerns in System Software
Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com
Component-Based Software Development with Aspect-Oriented Programming
Vol. 4, No. 3 Special issue: GPCE Young Researchers Workshop 2004 Component-Based Software Development with Aspect-Oriented Programming Michael Eichberg, Departement of Computer Science, Darmstadt University
GenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student [email protected] Bilal CHEBARO Assistant professor [email protected] Abstract
Jiří Šebek, Karel Richta. Department of Computer Science and Engineering. 121 35 Praha 2, Czech Republic {sebekji1,richta}@fel.cvut.
Aspect-oriented User User Interface Interface Design Design for Android for Android Applications Applications 1 1 Jiří Šebek, Karel Richta Jiří Šebek, Karel Richta Department of Computer Science and Engineering
Design Patterns. Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems.
Design Patterns Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems. What are the major description parts? Design Patterns Descriptions
Middleware for Heterogeneous and Distributed Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 [email protected] Middleware for Heterogeneous and Distributed Information Systems http://wwwlgis.informatik.uni-kl.de/cms/courses/middleware/
How To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
An Overview of Challenges of Component Based Software Engineering
An Overview of Challenges of Component Based Software Engineering Shabeeh Ahmad Siddiqui Sr Lecturer, Al-Ahgaff University, Yemen Abstract Nowadays there is trend of using components in development of
Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution
Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science University of Magdeburg,
Web Mining Seminar CSE 450. Spring 2008 MWF 11:10 12:00pm Maginnes 113
CSE 450 Web Mining Seminar Spring 2008 MWF 11:10 12:00pm Maginnes 113 Instructor: Dr. Brian D. Davison Dept. of Computer Science & Engineering Lehigh University [email protected] http://www.cse.lehigh.edu/~brian/course/webmining/
Implementing DDI 3: The German Microcensus Case Study
Implementing DDI 3: The German Microcensus Case Study Abstract This paper shares experiences in developing an application for documenting the German Microcensus at the variable level. First, we developed
Applying Configuration Management Techniques to Component-Based Systems
IT Licentiate thesis 2-7 MRTC Report /24 Applying Configuration Management Techniques to Component-Based Systems MAGNUS LARSSON UPPSALA UNIVERSITY Department of Information Technology Applying Configuration
Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies
Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,
Web based legacy system componentization
MALARDALEN UNIVERSITY, SCHOOL OF INNOVATION, DESIGN AND ENGINEERING Web based legacy system componentization Research plan Josip Maras 1.10.2009 1. Research Area My research will be performed in the areas
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
SAPM Overview. Semester Summary. Project management. Tools (1) Dr. James A. Bednar
SAPM Overview Semester Summary Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar In this lecture we review the topics we have covered this semester, focusing on what I consider
Development of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
Introducing a Graduate Course on. called Aspect-Oriented Software Development
Int. J. Engng Ed. Vol. 21, No. 2, pp. 361±368, 2005 0949-149X/91 $3.00+0.00 Printed in Great Britain. # 2005 TEMPUS Publications. Introducing a Graduate Course on Aspect-Oriented Software Development*
CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE
CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE SESSION I: OVERVIEW AND HISTORY OF STYLES AND PATTERNS Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012
Using Bonds for Describing Method Dispatch in Role-Oriented Software Models
Using Bonds for Describing Method Dispatch in Role-Oriented Software Models Henri Mühle Technische Universität Dresden Institut für Algebra [email protected] Abstract. Role-oriented software modeling
ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM
ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM Ashish Patel, Lead Eclipse Committer for ARM, IBM Corporation Oliver E. Cole, President, OC Systems, Inc. The Eclipse Test and Performance Tools
Composing Concerns with a Framework Approach
Composing Concerns with a Framework Approach Constantinos A. Constantinides 1,2 and Tzilla Elrad 2 1 Mathematical and Computer Sciences Department Loyola University Chicago [email protected] 2 Concurrent
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
I219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu [email protected] Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
i-questionnaire A Software Service Tool for Data
i-questionnaire A Software Service Tool for Data Analysis in e-business 1 ANDY S.Y. LAI, 2 Y.C. POON 1, Department of Information and Communications Technology, Hong Kong Institute of Vocational Education,
City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16
City University of Hong Kong Course Syllabus offered by Department of Computer Science with effect from Semester A 2015/16 Part I Course Overview Course Title: Problem Solving and Programming Course Code:
Optimizing the User Experience of a Social Content Management Software for Casual Users
Optimizing the User Experience of a Social Content Management Software for Casual Users 10.08.2015, TU München Florian Katenbrink, Thomas Reschenhofer, Prof. Dr. Florian Matthes Software Engineering for
Explicit Connectors in Component Based Software Engineering for Distributed Embedded Systems. Dietmar Schreiner and Karl M.
Explicit Connectors in Component Based Software Engineering for Distributed Embedded Systems Dietmar Schreiner and Karl M. Göschka Vienna University of Technology Institute of Information Systems, Distributed
Application Development for Mobile and Ubiquitous Computing
Department of Computer Science Institute for System Architecture, Chair for Computer Networks Application Development for Mobile and Ubiquitous Computing Seminar Introduction Dr. Ing. Thomas Springer Technische
MS ESE. Usage of PAUL. H.P. Zeidani / J. Tünnermann. April 2, 2014. Prof. Dr.-Ing. Bärbel Mertsching University of Paderborn
Usage of PAUL H.P. Zeidani / J. Tünnermann April 2, 2014 Introduction in PAUL Paderborner Assistenzsystem für Universität und Lehre Paderborn Assistance-System for University and Teaching https://paul.upb.de
IT3205: Fundamentals of Software Engineering (Compulsory)
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
Obj ect-oriented Construction Handbook
Obj ect-oriented Construction Handbook Developing Application-Oriented Software with the Tools & Materials Approach Heinz Züllighoven IT'Workplace Solutions, Inc., and LJniversity of Hamburg, Germany as
Towards Collaborative Requirements Engineering Tool for ERP product customization
Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,
A Simple Security-Aware MOP for Java 119
A simple security-aware MOP for Java Denis Caromel, Fabrice Huet and Julien Vayssi re INRIA - CNRS - I3S Universit de Nice Sophia-Antipolis [email protected] Abstract. This article investigates
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles Hongyu Pei Breivold, Magnus Larsson ABB AB, Corporate Research, 721 78 Västerås, Sweden {hongyu.pei-breivold, magnus.larsson}@se.abb.com
Distributed systems. Distributed Systems Architectures
Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined
How To Combine Feature-Oriented And Aspect-Oriented Programming To Support Software Evolution
Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science Otto-von-Guericke-University
17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS
17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS 1 Prof. Dr. rer. nat. Uwe Aßmann Lehrstuhl Softwaretechnologie Fakultät Informatik Technische Universität Dresden
Curriculum Vitae. Shan Shan Huang
Curriculum Vitae Shan Shan Huang College of Computing Georgia Institute of Technology 266 Ferst Drive Atlanta, GA 30332-0765 Phone: (404)275-3312 Email: [email protected] http://www.freeflygeek.com Research
Enterprise Integration: operational models of business processes and workflow systems *
Enterprise Integration: operational models of business processes and workflow systems. 1 Enterprise Integration: operational models of business processes and workflow systems * G.Bruno 1, C.Reyneri 2 and
Concern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada [email protected] Abstract Model Driven Engineering (MDE) has achieved success in many
Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component
Limitations of Object-Based Middleware Object-Oriented programming is a standardised technique, but Lack of defined interfaces between objects It is hard to specify dependencies between objects Internal
Software development methods: SOA vs. CBD, OO and AOP
Software development methods: SOA vs. CBD, OO and AOP Mika Koskela, Mikko Rahikainen, and Tao Wan Helsinki University of Technology [email protected],[email protected],[email protected] Abstract.
Design Patterns for Managing Product Lifecycle Information
Design Patterns for Managing Product Lifecycle Information Introduction Kary Främling, Timo Ala-Risku, Mikko Kärkkäinen, Jan Holmström The increasing demands on product lifecycle management means that
USING ASPECT-ORIENTED SOFTWARE DEVELOPMENT IN REAL-TIME EMBEDDED SYSTEMS SOFTWARE A Review of Scheduling, Resource Allocation and Synchronization
USING ASPECT-ORIENTED SOFTWARE DEVELOPMENT IN REAL-TIME EMBEDDED SYSTEMS SOFTWARE Pericles Leng Cheng Department of Computer Science, Cyprus College 6, Diogenes Street, Engomi, Nicosia 1516 [email protected]
Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
What is Middleware? Application Application Middleware Middleware Operating System Operating System Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
An Architecture-Based Approach for Component-Oriented Development
An Architecture-Based Approach for Component-Oriented Development Feng Chen, Qianxiang Wang, Hong Mei, Fuqing Yang Department of Computer Science and Technology, Peking University, Beijing 100871, P.R.China
Software Visualization Tools for Component Reuse
Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New
Common Criteria For Information Technology Security Evaluation
Security Characterisation and Integrity Assurance for Software Components and Component-Based Systems Jun Han and Yuliang Zheng Peninsula School of Computing and Information Technology Monash University,
Lecture Softwareengineering-Vertiefung
Lecture Softwareengineering-Vertiefung 1 Introduction Summer term 2014 TU Chemnitz Department of Computer Science Dr. Dirk Müller Overview Introduction Organizational issues Process of software inspection,
Architectural Patterns (3)
Scatter/Gather Architectural Patterns (3) Prof. Cesare Pautasso http://www.pautasso.info [email protected] @pautasso Goal: send the same message to multiple recipients which will (or may) reply to
SAP Web Application Server 6.30: Learning Map for Development Consultants
SAP Web Application Server 6.30: Learning Map for Development Consultants RECENT UPDATES VIEWER SOFTWARE SEARCH Step 1: Learn What You Need Update your core competence - must know Step 2: Prepare for Your
