Adaptive Object-Models Joseph W. Yoder University of Illinois The Refactory, Inc.

Slides:



Advertisements
Similar presentations
VirtualSim Inc. Real tools for virtual worlds Presentation.
Advertisements

The Adaptive Agent Model Liang Xiao and Des Greer School of Computer Science, Queen's University Belfast, Northern Ireland, UK Software Adaptivity through.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Apache Struts Technology
1 Copyright 1998 by Dragos Manolescu and Joseph W. Yoder Building Frameworks With Patterns “An Active Object-Model For A Dynamic Web-Based Application”
Software Reuse SEII-Lecture 28
18-1 Verifying Object Behavior and Collaboration Role playing – the act of simulating object behavior and collaboration by acting out an object’s behaviors.
SERL - Software Engineering Research Labslide1 Frameworks and Hooks by Garry Froehlich Paul Sorenson SERL (Software Engineering Research Lab)
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Design Patterns CS is not simply about programming
Chapter 1 The Systems Development Environment
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Ralph Johnson - University of Illinois1 Reflection and the Adaptive Object Model Architecture Ralph Johnson University of Illinois at Urbana-Champaign.
Adaptable Architecture for Meta- Programmable Modeling Tools Matt Emerson Advisor: Janos Sztipanovits The Core Layer The.
© Copyright Eliyahu Brutman Programming Techniques Course.
Design Patterns Module Name - Object Oriented Modeling By Archana Munnangi S R Kumar Utkarsh Batwal ( ) ( ) ( )
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
SOFTWARE ADAPTIVITY THROUGH XML-BASED BUSINESS RULES AND AGENTS Queen’s University of Belfast, School of Computer Science, Belfast, United Kingdom Liang.
Chapter 1 The Systems Development Environment
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CachingType Object AOM Patterns Categories Code is data, data is code... Everything is data, everything is code! Towards a Pattern Language for Adaptive.
Introduction to MDA (Model Driven Architecture) CYT.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
Selected Topics in Software Engineering - Distributed Software Development.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
Testing Extensible Design Patterns in OO Frameworks through Scenario Templates D.S. Sanders Software Verification & Validation.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Architectural Styles, Design Patterns, and Objects Joe Paulowskey.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 9: Design Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
I.WHAT II.WHEN III.HOW IV.WHY Metadata architectures are adaptive program frameworks built using a new software design methodology. Metadata architectures.
Software Design and Architecture
Evolution, Architecture, and Metamorphosis By: Brian Foote and Joseph Yoder University of Illinois Presented by: Gleyner Garden.
Object Oriented Systems Design
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Introduction to Visual Basic 2008 Programming
MPCS – Advanced java Programming
Introduction to Design Patterns
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
CIS16 Application Development – Programming with Visual Basic
Chapter 20 Object-Oriented Analysis and Design
Design Tips.
Metadata Framework as the basis for Metadata-driven Architecture
Automated Analysis and Code Generation for Domain-Specific Models
On the notion of Variability in Software Product Lines
Software Architecture & Design
Presentation transcript:

Adaptive Object-Models Joseph W. Yoder University of Illinois The Refactory, Inc.

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Metadata and Adaptive Object-Models "Anything you can do, I can do Meta" Metadata: If something is going to vary in a predictable way, store the description of the variation in a database so that it is easy to change….Ralph Johnson ”Meta is Beta"

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Metadata can be described by saying that if something is going to vary in a predictable way, store the description of the variation in a database so that it is easy to change. In other words, if something is going to change a lot, make it easy to change. The problem is that it can be hard to figure out what changes, and even if you know what changes then it can be hard to figure out how to describe the change in your database. Code is powerful, and it can be hard to make your data as powerful as your code without making it as complicated as your code. But when you are able to figure out how to do it right, metadata can be incredibly powerful, and can decrease your maintenance burden by an order of magnitude, or two. [R. Johnson] What is meant by Metadata ?

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. General Problem zRequirements change within applications’ domain. zBusiness Rules are changing rapidly. zApplications have to quickly adapt to new business requirements. zChanging the application is costly, it generally includes code and data-storage. zThere are cycles of: build-compile-release.

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. General Solution zCreate an object design (meta-model) that describes the domain objects which includes attributes, relationships, and business rules as instances rather than classes. zThe domain objects are instantiated through a description given by the user or domain expert. zEach new requirement is satisfied by creating a new description and a new instantiation.

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Adaptive Object-Model (Dynamic Object-Model) yAn ADAPTIVE OBJECT-MODEL is an object model that provides “meta” information about the domain so that it can be changed at runtime xexplicit object model that it interprets at run-time xchange the object model, system changes its behavior yADAPTIVE OBJECT-MODELS usually arise as domain-specific frameworks yBusiness rules can be stored in ADAPTIVE OBJECT- MODELS

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Architectural Elements of AOM Metadata TypeObject Properties Type Square Entity-Relationship Strategy/RuleObjects Interpreters/Builders Editors/GUIs

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Adaptive Object-Model (Dynamic Object-Model) zType-Object zProperties zStrategy / Interpreter zSchema / Descriptor zSmart Variables zBuilders / Editors Brian Foote:

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Adaptive Object-Model zWhen to Build AOMs yNeed for flexibility yHigh pace of business change yNeed for experimentation yNeed to empower user

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Type-Object PLoPD3 - Johnson and Woolf

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Properties PLoP98 - Foote and Yoder

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Strategies Design Patterns - GOF95

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Adaptive Object-Model (Very Common Structure) Type Square ECOOP & OOPSLA 2001 Yoder, Balaguer, Johnson

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Interpreters / Builders: Solution

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Medical Observations

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Observation Example

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Metamodel and GUI zThe metadata can simplify building user interfaces. Special GUI components can be developed for using the metadata. zExample: The Observation model includes widgets that display list of values from the DiscreteValidators and also EntryBoxes that use RangeValidator. zA Mediator and Adaptor layer was developed for managing the interactions between the domain objects and the GUIs.

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. PartyType: Metadata-Editors

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Accountability: Metadata-Editors

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Observation: Metadata-Editors

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Observation: Metadata-Editors

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Observation: Metadata-Editors

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Copyright by ECOOP’ 2000 workshop on Adaptive Object-Model An execution of that software A language for defining domain specific software A specific software language for defining languages Dimensions of abstraction in Adaptive Object-Models, Reflection and OMG ’s metamodeling Architecture L3 L2 L1 L0 MOF

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Advantages of AOM zSystems can more easily be adapted to domain changes. zChanges do not require recompiling the system. zPower Users can change the business rules. zShorter time-to-market. zSmaller in terms of classes so can be easier to maintain by experts.

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Disadvantages of AOM zDeveloping AOM is expensive. (higher startup costs) zCan be hard to understand and maintain. (user-model and meta-model) zIt requires skilled human resources. zCan have poor performance. zIt demands having infrastructure for storing, building, interpreting metadata (special support tools, editors, etc).

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Other Approaches and Technologies zBlack-box Frameworks zCode Generators zMetamodeling Techniques zTable-driven Systems zGenerative Techniques

Adaptive Object-Models – Joe Yoder Workshop Session, ECOOP’2001 – June 2001, Budapest, Hungary. Copyright 2001, The Refactory, Inc. Where to Find More Information zhttp:// zhttp://st- zhttp:// zhttp://hillside.net zhttp://st- zhttp:// zhttp://