Mira Mezini Universität Siegen Dynamic Component Gluing - Runtime Integration of Concerns Dynamic Component Gluing - Runtime Integration of Concerns Linda.

Slides:



Advertisements
Similar presentations
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Advertisements

Containers and Components 1.Containers collect GUI components 2.Sometimes, want to add a container to another container 3.Container should be a component.
Components of a Dynamics Ecommerce Solution The Situation Today for Many Organizations Retail Headquarters Financials Warehouse Management Stores.
Department of Software and Computing Systems Physical Modeling of Data Warehouses using UML Sergio Luján-Mora Juan Trujillo DOLAP 2004.
An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo.
Harness and H2O Alternative approaches to metacomputing Distributed Computing Laboratory Emory University, Atlanta, USA
Fall 2009ACS-3913 Ron McFadyen Composite Pattern Problem: How do we treat a composition structure of objects the same way as a non-composite object? Arises.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
1 SWE Introduction to Software Engineering Lecture 5.
Feb 6-7, 2104 Hyatt Residency Bellevue. Meera Mahabala.
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
Reuse Activities Selecting Design Patterns and Components
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
4 Business Organizations e.g., Retailer Online Consumer Dynamics SharePoint Product Catalog Published to SharePoint Customer Interacts with Online.
Kevin (End user)  Need for a simple user interface  Need to improve productivity Isaac (Developer)  Customizing and extending business applications.
Composite Design Pattern. Motivation – Dynamic Structure.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Percent and Problem Solving: Sales Tax, Commission, and Discount
Twelfth Lecture Hour 10:30 – 11:20 am, Saturday, September 15 Software Management Disciplines Project Organization and Responsibilities (from Part III,
1. 2 IBM connections for ingredients to adaptive plug-and-play components (APPCs) Adaptive Programming developed with support from IBM: Cun Xiao, Ignacio.
Adaptability for flexible mobile service provision in 3G and beyond Nikos Houssos
Ludger Fiege joint work with Mira Mezini, Gero Mühl, Alejandro Buchmann Dep. of Computer Science TU Darmstadt, Germany Visibility as Central.
Founded in 1987 Independent, full-service Wide range of accounts.
1 Modeling Server-side Components with UML Junichi Suzuki, Ph.D. School of Information and Computer Science University.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
Integrating Independent Components with On-Demand Remodularization based on OOPSLA 2002 paper by Mira Mezini Klaus Ostermann Prepared by Karl Lieberherr.
Java in the Box: Implementing the BoxScript Component Language Yi Liu Electrical Engineering and Computer Science South Dakota State University H. Conrad.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Abstract Factory Design Pattern making abstract things.
Chapter 26 GoF Design Patterns. The Adapter Design Pattern.
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
Composite User Interface Application Block Peter Provost Development Lead – patterns & practices
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
Object-Oriented Modeling Chapter 10 CSCI CSCI 1302 – Object-Oriented Modeling2 Outline The Software Development Process Discovering Relationships.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Sales Tax and Discount. Sales tax is an additional amount of money charged on items that people buy. The total cost of an item is the regular price plus.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
Introducing Allors Applications, Tools & Platform.
Component Based Software Engineering Master of Software Engineering + Master of Information Technology 2010/2011 Conf.dr.ing. Ioana ora
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie.
Mr. Sands 6.3.  1.Price x sales tax rate = sales tax --Instead of subtracting like discount you add to the price. 2.Price + sales tax = total cost 3.Discount.
The Strategy Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
1 2 Z C1 C2 C3 C4 C5 Collab-1 Collab-2Collab-3 Collab-4 OOAD Implementation C1 C2 C3 C4 C5 No language constructs that capture collaborations.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
1st ACS Workshop UTFSM, Valparaiso, Chile ACS Course The Big Picture of ACS H. Sommer, G.Chiozzi.
HYBRID APPROACH TO INTERFACE ADAPTATION.  Computing power anywhere and everywhere  Need interfaces that can adapt to different device conditions and.
Bell Work is = x_ of = x_ x 100 = 27x 1700 = 27x x = 62.96% or 63%
Collaboration diagrams. Deployment diagrams. Lesson 4.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Summer School on Telecommunications Lappeenranta August Calypso: System Components and Tools for Media Distribution over Broadband Networks Calypso:
TTCN-3 Testing and Test Control Notation Version 3.
1 Multimedia services over networks Service provider Service client Service registry Publish Discovery Bind Multimedia system Review/background Framework/
Lesson Topic: Commission, Discount, Sales Tax, Sale Price Standard: Solves practical problems using percents (e.g., sales tax, sale price and commission,
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
Exercise : Write a program that print the final price of purchase at a store where everything costs exactly one dollar. Ask for the number of items purchased.
Introduction to Rental Management
OO Methodology OO Architecture.
Demeter Aspects Who We Are Aspectual Collaborations
Adaptive Plug and Play Components for
Generic Programming using Adaptive and Aspect-Oriented Programming
Adaptive Plug and Play Components for
Composite Pattern Context:
Software Design Lecture : 14.
Adaptive Plug and Play Components for
Microsoft Connect /28/2019 2:20 AM
End-to-End Reconfigurability (E2R)
GoF Patterns Ch. 26.
Presentation transcript:

Mira Mezini Universität Siegen Dynamic Component Gluing - Runtime Integration of Concerns Dynamic Component Gluing - Runtime Integration of Concerns Linda Seiter Santa Clara University Karl Lieberherr Northeastern University

Question#1: When should a concern be applied? Question#1: When should a concern be applied?

The Java philosophy Class Loading Load a class when you need it, and not beforehand. Why? Keep programs lightweight Performance at program initialization Tailor program model to user‘s profile Class evolution Customer Order Product Static Class Dimension

The SOC philosophy Concern Loading Load a concern when you need it, and not beforehand. Why? Keep classes, objects lightweight Performance at class loading, object construction Tailor class/object model to user‘s profile Dynamic class/object evolution Customer Dynamic Class Dimension Product

Question#2: What should a concern be applied to? Question#2: What should a concern be applied to?

Concern Scope o2:producto1:order OrderProduct Pricing Concern Class Scope Object Scope

Client Order …. //implement LineItem PriceBuilder pricer() { return product(); } Item item() { return product(); } Client client() { return customer(); } (Concern) Pricing Framework PriceBuilderLineItemItemCharge (Base) Application Concern Integration - Regular Pricing OfficeSupply …. //implement Item Charge charge() { return tax(); } //implement PriceBuilder basicPrice(..) { return regPrice(..); } discount(..) { return regDiscount(..); } Customer Tax …. //implement Charge cost(..) { return taxCharge(..); }

Client Order …. //implement LineItem PriceBuilder pricer() { return product(); } Item item() { return product(); } Client client() { return customer(); } Pricing Framework PriceBuilderLineItemItemCharge Application Framework Deployment - Sales Pricing OfficeSupply …. //implement Item Charge charge() { return tax(); } //implement PriceBuilder basicPrice(..) { return salePrice(..); } discount(..) { return saleDiscount(..); } Customer Tax …. //implement Charge cost(..) { return taxCharge(..); }

Client Order …. //implement LineItem PriceBuilder pricer() { return product(); } Item item() { return product(); } Client client() { return customer(); } Pricing Framework PriceBuilderLineItemItemCharge Application Framework Deployment - Negotiated Pricing OfficeSupply …. //implement Item Charge charge() { return tax(); } Customer Tax …. //implement Charge cost(..) { return taxCharge(..); } //implement PriceBuilder basicPrice(..) { return salePrice(..); } discount(..) { return saleDiscount(..); }

Question#3: How to support multi-dimensional classes and objects? Question#3: How to support multi-dimensional classes and objects?

public class AppRoot AppChild appChild(){ return appChild; } public void method_1(AppChild ac) {... } public class AppChild public void method_2() {... } abstract class FrameworkRoot abstract FrameworkChild frameworkChild(); abstract void primOp1(AppChild ) ; public void template() { primOp1(frameworkChild()); frameworkChild().primOp2(); } abstract class FrameworkChild abstract void primOp2(); Solution:Dynamic Composite Adapter FrameworkChild frameworkChild() { return appChild()); } void primOp1(FrameworkChild f) { method_1 ( (AppChild) f); } void primOp2() {method_2 ();} Framework (Concern) Application (Base) appChild

Independently developed binary components dynamic gluing at deployment site: interface matching adaptation new functionality AdapterFactory AdapterObject AdapterUtilities Dynamic Composite Adapter FrameworkRoot FrameworkChild Framework AppRoot AppChild Application APP_FRMK Adapters