OOPSLA 2005 Workshop on Library-Centric Software Design The Diary of a Datum: An Approach to Modeling Runtime Complexity in Framework-Based Applications.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Usage Statistics in Context: related standards and tools Oliver Pesch Chief Strategist, E-Resources EBSCO Information Services Usage Statistics and Publishers:
1 Copyright © 2005, Oracle. All rights reserved. Introduction.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
CHAPTER OBJECTIVE: NORMALIZATION THE SNOWFLAKE SCHEMA.
The Holmes Platform and Applications Irisel Consulting Madrid, 2008.
Database System Concepts and Architecture
A Prototype Implementation of a Framework for Organising Virtual Exhibitions over the Web Ali Elbekai, Nick Rossiter School of Computing, Engineering and.
XML: Extensible Markup Language
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Apache Struts Technology
Content provided under the terms and conditions of the Eclipse Public License Version Eclipse Foundation - Kathy Chan.
SOA with Progress Philipp Walther Consultant. © 2007 Progress Software Corporation2 Agenda  SOA  Enterprise Service Bus (ESB)  The Progress SOA Portfolio.
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
Application Servers What is it? General A set of software frameworks, components, utilities, functionality that enables you to develop and deliver n-tiered.
Finding Low-Utility Data Structures Guoqing Xu 1, Nick Mitchell 2, Matthew Arnold 2, Atanas Rountev 1, Edith Schonberg 2, Gary Sevitsky 2 1 Ohio State.
Combining Static and Dynamic Data in Code Visualization David Eng Sable Research Group, McGill University PASTE 2002 Charleston, South Carolina November.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Web Service Testing Solution Accelerator
UNIT-V The MVC architecture and Struts Framework.
Separating VUI from business logic Caller Experience-centered design approach Alex Kurganov, CTO Parus Interactive
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Web Applications Harry R. Erwin, PhD University of Sunderland CIT304/CSE301.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Best Practices for Data Warehousing. 2 Agenda – Best Practices for DW-BI Best Practices in Data Modeling Best Practices in ETL Best Practices in Reporting.
Ahsan Abdullah 1 Data Warehousing Lecture-17 Issues of ETL Virtual University of Pakistan Ahsan Abdullah Assoc. Prof. & Head Center for Agro-Informatics.
Database System Concepts and Architecture Lecture # 2 21 June 2012 National University of Computer and Emerging Sciences.
Presenting Statistical Data Using XML Office for National Statistics, United Kingdom Rob Hawkins, Application Development.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
material assembled from the web pages at
Interfacing Registry Systems December 2000.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Progress SOA Reference Model Explained Mike Ormerod Applied Architect 9/8/2008.
1 st -4 th December st BioXHIT Annual Meeting WorkPackage 5.2: Implementation of Data management and Project Tracking in Structure Solution Peter.
© 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.
Microsoft Dynamics NAV 2009 and Architecture Overview Name Title Microsoft Corporation.
Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Pearson Education, Inc. Slide 2-1 Data Models Data Model: A set.
Ganymede Simultaneous Release | © 2008 by Springsite B.V., The Netherlands made available under the EPL v1.0 Teneo Ganymede Simultaneous Release.
INNOV-10 Progress® Event Engine™ Technical Overview Prashant Thumma Principal Software Engineer.
1 CMPT 275 High Level Design Phase Modularization.
XML and Its Applications Ben Y. Zhao, CS294-7 Spring 1999.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
INT-2: XQuery Levels the Data Integration Playing Field Carlo (Minollo) Innocenti DataDirect XML Technologies, Program Manager.
Corporate Data Vault Data Warehousing Workshop Sept Data Warehousing Workshop Sept
Portals: Architecture & Best Practices Greg Hinkle February 2005.
2/20: Ch. 6 Data Management What is data? How is it stored? –Traditional management storage techniques; problems –DBMS.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
1 Database Systems, 8 th Edition Star Schema Data modeling technique –Maps multidimensional decision support data into relational database Creates.
A web based tool for estimation of Gage R&R and Measurement Uncertainty Siva Venkatachalam & Dr. Jay Raja Center for Precision Metrology The University.
Exeter – Implementation of a Crosswalk Connector S. Trowell, University of Exeter Nov 2013.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
The Holmes Platform and Applications
Databases (CS507) CHAPTER 2.
7th Annual Hong Kong Innovative Users Group Meeting
Johannes Peter MediaMarktSaturn Retail Group
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
JavaServer Faces: The Fundamentals
Presents: Rally To Java Conversion Suite
AI Discovery Template IBM Cloud Architecture Center
Presentation transcript:

OOPSLA 2005 Workshop on Library-Centric Software Design The Diary of a Datum: An Approach to Modeling Runtime Complexity in Framework-Based Applications Nick Mitchell, Gary Sevitsky (speaker), Harini Srinivasan IBM T.J. Watson Research Center Oct. 16, 2005

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design Background  Applications are built more and more by integrating libraries and frameworks –Lots of standard frameworks (J2EE, servlets, XML, JSPs, eMF, …) –Plus industry-specific frameworks, in-house frameworks  Our research group has been diagnosing performance problems in large-scale framework-based Java applications for more than five years –High volume web-based servers –Client-side applications built on large frameworks like Eclipse

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design Problem  It takes a lot of work to perform very simple tasks, even after tuning at the application level Source: SOAP client, Trade benchmark v.3.1 Conversion of a stock purchase date field from SOAP to a Java business object field

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design What are these applications doing that is so expensive?  Not what you would expect.  Example: accessing the database? –Inefficiencies in multiple layers of frameworks to process queries are the source of many performance problems.  Example: expensive sort algorithm? –More often the problem is in the coupling of the sort algorithm and the comparator, or the sort algorithm and the UI framework that calls it  In general, problems are not due to poor algorithms. Nor are they located in a few hot methods or paths.

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design What is costing so much?  Most activity is transformation of data –To meet the requirements of framework APIs or external standards  Each transformation often contains many smaller transformations  Much effort is also spent facilitating these transformations –e.g. initializing converters or looking up schemas  Usually there is little or no change to the information content

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design From customer application: Diary of a timecard  One timecard record has 11 fields  Each step can be very expensive –and usually contains many smaller transformations

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design How can we understand the sources of inefficiency and runtime complexity?  We would like to view a run in terms that make these transformations visible –Existing performance tools are focused on control flow, and report in terms of methods, paths, packages. –Most of the work in these applications is massaging data. This work doesn’t line up with methods, paths, packages.  We would like to understand the general causes of cost and complexity in these applications –So we can compare diverse implementations –So we can surface more general characteristics: API design practices, implementation practices, opportunities for automated optimization, etc. –Existing performance tools only help find specific bottlenecks

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design Approach  Structure a run into a hierarchy of “diaries” –Organized according to the transformation of logical content –e.g. flow of an Employee record from SOAP to Java to HTML  Metrics for cost and complexity  Manual approach right now –Lots of opportunities for automation  Allows insights into single implementations, and comparisons across diverse implementations

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design Example Source: SOAP client, Trade benchmark v.3.1 Conversion of a stock purchase date field from SOAP to a Java business object field

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design From Trade: Diary of a Date (SOAP parsing level)  Detail of just the first step of the previous slide

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design From Trade: Diary of a Date (Java SimpleDateFormat parsing)  Detail of SimpleDateFormat parse step from previous slide

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design From Trade: Diary of a year/month/day…  Detail of extract and parse subfield from previous slide  Six transformations to parse a year!

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design Metrics of cost and complexity  Cost: aggregate costs by transformation –Aids understanding by measuring something accomplished. –e.g. 268 calls, 70 objects to parse a field  Complexity: count transformations –Shows the complexity hidden in each step –Histogram by level shows how far afield –e.g. 36 transformations parsing subfields  These metrics enable comparisons across diverse implementations

IBM Research OOPSLA 2005 Workshop on Library-Centric Software Design Ongoing research  Validation by hand on applications (large and small examples)  Automation of structuring into diaries –Combination of static and dynamic analysis –Automation will also enable further validation of approach  Classification of transformations –Developing a framework-independent vocabulary for what transformations accomplish –e.g. various kinds of change in physical representation –e.g. various kinds of change in logical content –Developing metrics based on classification –Enables “descriptive characterization” of a run –Also gives us a more formal definition of transformation