359D 16/1/07 Eric Wohlstadter What is Middleware? What is Aspect-Oriented Programming? Introductions Course Format –Discussions –Assignments.

Slides:



Advertisements
Similar presentations
Web Service Architecture
Advertisements

Overview of Web Services
Introduction CSCI102 - Systems ITCS905 - Systems MCS Systems.
Oracle Fusion Middleware 11g Abhishek Khanolkar. What is Oracle Fusion? “Oracle Fusion Middleware is a ‘preintegrated’ portfolio of customer- proven software.
359D 9/1/06 Eric Wohlstadter Course Format –Discussions –Assignments Aspect-Oriented Programming –AspectJ Introductions.
359C 10/1/05 Eric Wohlstadter Introductions –Name –Degree objective/Year –Research Area (or interests) Syllabus Aspect-Oriented Programming –AspectJ –AspectC.
University of British Columbia Software Practices Lab Introduction to Middleware for Software Engineering Eric Wohlstadter 539D.
October - December 2013CSC5021: The Problem With Aspects (J P Gibson)1 The Problem With Aspects (AOP) A style of programming that attempts to abstract.
An Aspect-Oriented Approach to Dynamic Adaptation August 8, 2002 Presented by: Sherri Goings Advisors: Dr. Dillon, Dr. Cheng, Dr. Stirewalt SENS Lab
CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Project.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
CSE 115 / 503 Introduction to Computer Science For Majors I Carl Alphonce 219 Bell Hall.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Course Progress Lecture Notes Managing Software Development Spring 2005.
ISE 390 Dynamic Web Development Introduction. Who am I? Richard McKenna Phone: Office: CS Room 1436 Office.
Assignment 3: A Team-based and Integrated Term Paper and Project Semester 1, 2012.
Final Year Project COMP39X COMP390/3/4/5 Final Year Project Design Irina Biktasheva
Computer Network Fundamentals CNT4007C
SYSE 802 John D. McGregor Module 0 Session 1 Course Introduction.
COMP Introduction to Programming Yi Hong May 13, 2015.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Epidemiology and Biostatistics 679: Clinical Epidemiology June 5-28, 2006 Instructors: Dr. Jean Bourbeau Dr. Dick Menzies
COMP 523 DIANE POZEFSKY 19 August CHAOS REIGNS.
Chapter 1: Introduction to Project Management
© Yilmaz “Agent-Directed Simulation – Course Outline” 1 Course Outline Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer Science &
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Module Info Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
CISB594 – Business Intelligence
10/10/2015 IENG 471 Facilities Planning 1 IENG Lecture END Project Report Requirements & Project Presentation Information.
SE3183 Advance Web Programming Programming Session 2013/2014.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Research and Writing Seminar Thursday, – 16 35, room C To find an up-to-date version of the schedule and to read the papers check the website
Fall CIS 764 Database Systems Engineering L1: Introduction to … CIS 764 Enterprise Database Systems Engineering: Software.
Methodology: The AOP Refactoring Process Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton Advisor:
©Dr I M Bradley Doing the project and other things.
CAP6135: Malware and Software Vulnerability Analysis Paper Presentation and Summary Cliff Zou Spring 2010.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
1 CS Tutorial 3 Frid. Oct 9 th, 2009 Architecture Document Tutorial Questions & Examples.
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSCE 315 – Programming Studio Spring Goal: Reuse and Sharing Many times we would like to reuse the same process or data for different purpose Want.
ITCS 6265 Details on Project & Paper Presentation.
1 CC2039 Professional Development for Communication Technology Developing a Project Proposal.
COMP1927 Course Introduction 16x1
Kansas City Java User’s Group Jason W. Bedell July 12, 2006
CAP6135: Malware and Software Vulnerability Analysis Paper Presentation and Summary Cliff Zou Spring 2013.
Computer Networks CNT5106C
CAP6135: Malware and Software Vulnerability Analysis Paper Presentation and Summary Cliff Zou Spring 2015.
Technical Report Outline Title Page Frontispiece Abstract Table of Contents List of Figures/ List of Tables.
Welcome to EP299! LaToya Blackshear. Agenda Welcome! Introduce Yourself! Course Overview Final Project - Portfolio Week 1 Assignments Week 1 Project Week.
Topics on Web Services COMP6017 Dr Nicholas Gibbins –
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Introduction to Health Science Ice breaker: While we wait for class to start at the top of the hour, please share one professional or personal characteristic.
INTE 290 Summer 2015.
CMPE Spring 2016 Enterprise Distributed System Class Information.
BSA 411 Week 2 Individual Assignment Business Application System Proposal Business Application System Proposal Submit a 4- to 5-page paper consisting of.
BSA 411 Week 4 Individual Assignment Process Analysis and System Concept Development Process Analysis and System Concept Development Submit a 3- to 4-page.
COMP390/3/4/5 Final Year Project Design
POS 355 knowledge is divine-- snaptutorial.com. POS 355 Entire Course For more classes visit Please check All Included Assignments.
Crowd Simulation (INFOMCRWS) - Course Introduction
This sprint should be used for focusing on:
EECE 310 Software Engineering
Inventory of Distributed Computing Concepts
Proposal for Term Project Operating Systems, Fall 2018
Computer Networks CNT5106C
Research Paper Overview.
COMP390/3/4/5 Final Year Project Design
BISC 830 Community Ecology and Macroecology Course Logistics
Introduction to the Java Language ​
Presentation transcript:

359D 16/1/07 Eric Wohlstadter What is Middleware? What is Aspect-Oriented Programming? Introductions Course Format –Discussions –Assignments

What is Middleware? Mediates heterogeneities (differences) –Defines standard protocols for distributed computing Abstracts details of using protocols –Programmers use abstractions Objects, Web Services, Broadcast channels –Abstractions implement protocols Provided as off-the-shelf software –Not traditionally integrated in the operating system or a virtual machine

Problems with Distribution

Common Middleware Platforms Object-oriented –CORBA, Java RMI Container-based –J2EE,.NET Aspect-Oriented –Spring Framework Message-oriented –TIBCO, JMS Web Services –REST, SOAP Web Frameworks –Struts, PHP, AJAX

Middleware Conclusion –Middleware is about creating a run-time environment that mediates interactions between programming abstractions We will come back to the details in a few weeks First we will focus on AOP

AOP – Conceptual Level Give programmers the power to implement the environment in which objects interact –Behavior of objects depends on their “context” –Override the behavior of method calls based on the context where the call takes place Context –Implemented using “pointcuts” Method call behavior –Implemented using “advice”

OO vs. AOP Use OO to give different classes different behaviors Use AOP to give interactions different behaviors A A B B

OO vs. AOP Use OO to give different classes different behaviors Use AOP to give interactions different behaviors –Example All interactions between A and B are access control mediated A A B B

Examples of Contexts Calling or Callee class Calling or Callee method Methods active on the call stack Argument or Return types of methods Write a query that captures a context of interest using a “pointcut”!

AOP Go to AOP pdf

AOP and Middleware So, AOP provides support for focusing on interactions –Helps us to create new middleware features See how AOP is used to address distributed programming concerns –RPC, Security, Fault-tolerance, Management AOP used this way by companies such as IBM, Siemens, Spring Compare to traditional middleware –J2EE,.NET, CORBA, Web Services

International Conference on AOSD Sixth Aspect-Oriented Software Development Conference –Sheraton Wall Centre (on Burrard) –Variety of tutorials, workshops, demos and presentations Several middleware related –March No class that week –Check out

Introduce Yourself Name Degree objective/Year Research Interest or Career Objective

Course Format Usually two research papers per class –Some lectures and tutorials Paper review for one of the two papers Each paper will be presented by students by informal slide presentations Class discussion is important (10% of mark) Throughout the term students are required to complete a research project No exams

Research Project Related to a topic in Middleware and/or AOP Individually or group of two students Recommendation –writingThesis(student) → ¬inGroup(student) –¬writingThesis(student) → inGroup(student) >= 2 page proposal (Feb 8th) >= 4 page paper and implementation minute (+10 mins per person) class presentation at the end of the term

Research Project Scope Implement original (software) feature or feature described in a research paper –possible A Implement useful feature or describe an original feature without implementing –possible B Review existing research literature or technical description of existing systems –possible C

Paper Reviews Between 3/4 and 1 page. Reviews will be marked out of 10 points –Reviews will be marked and returned in three batches Review should be in paragraph form (not bulleted list) –Recommend you address these four questions (next slide)

Questions 1.What is the problem addressed by this paper? 2.What is the approach to solve this problem? 3.How do the authors validate (prove/show/argue) that their approach solves the problem? 4.What is one part of the approach or validation that you think can be improved or extended?

Paper Presentations Two students will present a paper each class Recommend use of slides –You may use slides which may be available on the web –You may copy figures from document to use in slides –You must reference all outside materials used 15 minutes Summarize paper and address the 4 questions

Attendance Attendance is required Participation in discussion is 10% of mark You will not be able to submit paper reviews for classes which you did not attend Exceptions will be made for students with documented medical excuses or academic related travel obligations

Grading Project proposal 10% Implementation and Report 30% Project Presentation 30% Paper reviews 20% Class participation10%

Conclusion Questions? Thursday –Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. An overview of AspectJ. ECOOP –AspectJ in class tutorial Bring your laptops with latest Eclipse installed Course Web Page