We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byElla Webster
Modified over 2 years ago
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. Some of My Best Friends Still Use Objects?! Objects are too hard for normal people, including many people who supposedly know them!! Object think is artificial for many computations which are better described through function composition, algorithms, transformations, rules etc. Objects are too cumbersome and slow for current machines to execute them efficiently Objects are a modeling, meta data concept, but a bulky and computationally expensive runtime abstraction. Objects at runtime suffer an acute impedance mismatch with memory and storage Objects need a little HW support, but never get it
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. AOP Democrats and Republicans Smart Macro Programming Lisp/Smalltalk Hackers Code Snatchers Interception = Interrupt, exception programming AOP Improves Systems Software AOP Is a software engineering best practice AOP is Next OO – AO Programmer Wanted $300K AOP is right, it they dont get it their stupid or just dont get it.
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. Transitioning AOSD from Research Park to Main Street Challenges and Opportunities Dave Thomas Bedarra Research Labs Carleton University and University of Queensland
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. Overview Complexity of Application Development Today Challenges of Application Development 2010 Experiences Selling New Technology AOSD Works! AOSD Analysis and Design AOSD Software Engineering AOSD Speculation AOSD Research
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. The Challenges of Current Generation Application Development Life In Middleware USA - The OO API Field Of Dreams Latent Technical Complexity Accidental Complexity Open Source from OS to Application allow every customer application to be unique! => Creates An Immense Tool and Services Opportunity To Make An Even Bigger Layer CAKE!
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. The Complexity of Software Technology Latent Complexity Of Technology Objects, Components, Interfaces, Patterns, AOP, MOF, UML, Java/C#, XML, Web Services, Scripting, Messaging, Transformations… Crossed trained in the essence of enterprise applications and their customization Requires MSc or PHD ++ Gratuitous technical complexity for simple problems The Impedance Imperative – Tuples + Objects + Infosets = Too Much Stuff!, in Journal of Object Technology, vol. 2, no. 5, September-October 2003, pp
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. The Complexity of Software Technology Accidental Complexity Schemata, protocols, languages, libraries, tools, platforms, enterprise applications, middleware, standards, security, reliability, interoperability Multiple technologies with 100s of APIs Requires extensive expert level experience with platform technologies Integration requires EAP expertise in addition to platform expertise Complex and bug ridden libraries "The Deplorable State of Class Libraries", in Journal of Object Technology, vol. 1, no. 1, May-June 2002, pp , Flagrant disregard for limited resources Embedded Java, XML and SOAP …
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. The Skills Gap Focus on short-term knowledge (certification) versus professionalism (competence). IT employers increasing hiring platform specific single language 3 year graduates and vendor certification. Program specialization and compression (3 years) means that graduates have little application context and are essentially blue collar programmers. Computational competency and programming languages has reduced stature in ACM and IEEE programs and there is a distinct lack of appreciation for computational diversity. Decreased enrollments in graduate CS/SE programs and hence the availability of competent. Lack Of Application Domain Knowledge in CS/SE Graduates
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. The Challenges of Next Generation Applications Business Driven vs. Technology Driven Based on sound and deep understanding of the business Complexity mandates inter-disciplinary collaborative definition and development driven by business experts First Time Applications vs. Traditional Processes Improvement Support For High Performance Teams Enterprise Application Platforms (SAP, PeopleSoft…) vs. Technology Platforms (J2EE,.NET, Unix, Mainframes)
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. The Challenges of Next Generation Applications Real-time Business Development in Real-time Execution in Real-time Massive Amounts Of Data –3D Data – semi-structured numeric, text, multimedia Processors, Memory, Bandwidth and Storage are free –100s to 1000s of processors –Multiprocessing and Memory System On Chip –Gaggles of Memory and Disk Storage –Dynamically Reconfigurable Systems
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. Experiences Selling New Technology This is exactly the same as you have been doing it all along except that it is completely different! Sell concept and benefits relating to current/previous practice – avoid the language/tool debate Illustrate with an example which makes sense to them Address the critics concerns before they ask Explain that tools help productivity and quality
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. Experiences Selling New Technology This is exactly the same as you have been doing it all along except that it is completely different! Early Adopters Pull the ideas, tools and move aggressively ahead Will inflate your most conservative claims Will alienate others inside their company Position between the early adopter and those who fear/oppose them Later Adopters Have a long list of questions they just need to have answered Often have very different skills and must less software engineering experience than any AOSD attendee can imagine Want standards, customer references, case studies and insurance of major vendors/ISVs
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. AOSD Inside Works! Encourage Separation of Concerns as a Best Practice Encourage Role/Subject Modeling Refactor to improve maintainability of large complex products – e.g. middle ware Refactor to improve usability of large complex products - e.g. middleware Manage Variability of Product Line Assembly/Deployment J2EE desperately needs an industry standard Aspect Library to provide a simpler programming model. Java desperately needs a better model than J2EE
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. AOSD Analysis and Design Revive an understanding or Role Modeling, Interfaces Provide an implementation of Use Case Extensions Require a revision to UML and associated tool chain What does A/D mean in the presence of Aspect libraries What does it mean w/respect to Architecture
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. AOSD Software Engineering Who, where, when should AOP be applied? What does unit testing, acceptance, regression testing mean in the context of aspects? How can we avoid the problems we found with before, after, doesNotUnderstand etc. in large Lisp and Smalltalk programs? How does one debug at the level of the abstract – can powerful tools really fix a bad language or platform?
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. AOSD Software Engineering When do we need an aspect language vs. an aspect transformer vs. an aspect runtime? Are there a useful subset of AOSD that can be implemented via existing OO mechanisms? E.g. Envy/Developer, AspectJ2EE Is there standards of practice and convergence of key concepts? Are some problems better solved using non OO languages/techniques – e.g. dependencies?
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. AOSD Education Teach Computational Reflection ( SCIP+, AMOP-) Functional Programming Design Patterns Meta Object Protocols big ideas behind AOP/SEP Separation of Concerns Teach Program Transformation Where in the curricula should we teach Aspect Programming?
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. AOSD Predictions AOSD will at a minimum be a master craftsman tool for systems programmers. It isnt clear that AOP will be outside for application developers? AOP will likely find success in software product engineering vs. application development in the same way that OO CBSE has. Aspect Libraries should increase the use, and also reduce the need for aspect developers in favor of aspect users. AOP Analysis and Design will find a slow adoption, and may get stuck behind UML 2. Teaching AOSD concepts - Separation Of Concerns, Role Modeling and Meta Object Protocols may find a resurgence. AOP will be a challenge to position in undergrad curriculum
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. AOSD at The Edge of Something Deeper?! What formal machinery can be usefully bring to bare on AOP? Does the holy grail of a declarative reflective language philosophized by Brian Smith really exist? AOSD suggests we may be closer to true meta programming? – program composition of fragments of requirements, design, code into programs. e.g. Hyperspaces, Feature Oriented Programming, Beta
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. References "Computational Diversity, Practice and a Passion for Applications, in Journal of Object Technology, vol. 2, no. 3, May-June 2003, pp "Reflective Software Engineering - From MOPS to AOSD, in Journal of Object Technology, vol. 1, no. 4, September- October 2002, pp "Refactoring as Meta Programming?", in Journal of Object Technology, vol. 4, no. 1, January-February 2005, pp MDA: Revenge of the Modelers or UML Utopia?
Software Engineering Model Driven Architecture Software Engineering 2011 Department of Computer Science Ben-Gurion university Based on the book: MDA Explained:
All Contents © 2006 Burton Group. All rights reserved. Data Modeling is Underrated: A Bright Future Ahead in the Grand Schema Things Peter OKelly Research.
IBM Software Group ® Aspect Oriented Software Development from Promise to Reality Dr. Daniel Sabbah Vice President, IBM Software Group Strategy and Technology.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Re-use IS301 – Software.
Software Development QA Best Practices May 20, 2010 Suzette Hackl, CSM Senior Project Manager Skyline Technologies, Inc.
® IBM Software Group © 2008 IBM Corporation A new feature providing mainframe development flexibility David Myers Rational Developer for System z Product.
The Journalist as Programmer: A Case Study of The New York Times Interactive News Technology Department Cindy Royal, Ph.D. Assistant Professor Texas State.
Introduction to knowledge management. What is knowledge management Knowledge management can be difficult to define, because it encompasses a wide range.
1 Computer Systems & Architecture Lesson 3 5. Designing the Architecture.
DEV381.NET and J2EE: Strategies for Interoperability When you just know you're gonna need it.
Software Reuse and Component-Based Software Engineering CIS 376 Bruce R. Maxim UM-Dearborn.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
1. Conceptualizations Nature of SOFTWARE (SW). DNA:- IQ/ EQ DNA:- IQ/ EQ DNA:- IQ/ EQ DNA:- IQ/ EQ Environmrntal Natural System:- ENTITY Environmrntal.
Public Information Version 3.1: 1/1/2012 Introducing Instant Business Intelligence To IT BI Project Managers What you need, when you need it
Semantics in Declarative System The Evolution of Business Unit Empowerment Dan McCreary Dan McCreary & Associates Wednesday, 5/23/2007 8:00 AM - 9:00 AM.
DCMI Global Corporate Circle G. Philip Rogers, PMP Senior Business Analyst, School of Public Health, Instructional and Information Systems, UNC Chapel.
Architectural Design IS301 – Software Engineering Lecture # 14 – M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University.
1 Notes content copyright © 2004 Ian Sommerville. NU-specific content © 2004 M. E. Kabay. All rights reserved. Software Processes IS301 – Software Engineering.
What happened to IPv5? and other oft asked IPv6 questions The Internet Society, IPv6 and You Susan Estrada.
Abstract Cloud Computing is being projected by several major IT companies such as IBM, Google, Yahoo, Amazon and others as fifth utility where clients.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Critical Systems Development IS301.
Knowledge Management Thomas J. Froehlich, Ph.D. Program Director, IAKM Professor, SLIS.
1 Data Warehousing Denis Manley Enterprise Systems FT228/3.
Manchester Computing Cross Council ICT Conference For e-Science & GRID May 2004 End to End Services to support an e-Science Community Professor M.
1 Thriving in the New Information Profession The Fundamentals of Knowledge Services Guy St. Clair Dale Stanley SMR InternationalGenentech New York NYSan.
LIS650lecture 0 Introductory lecture Thomas Krichel
© 2016 SlidePlayer.com Inc. All rights reserved.