Presentation is loading. Please wait.

Presentation is loading. Please wait.

I.WHAT II.WHEN III.HOW IV.WHY Metadata architectures are adaptive program frameworks built using a new software design methodology. Metadata architectures.

Similar presentations


Presentation on theme: "I.WHAT II.WHEN III.HOW IV.WHY Metadata architectures are adaptive program frameworks built using a new software design methodology. Metadata architectures."— Presentation transcript:

1

2 I.WHAT II.WHEN III.HOW IV.WHY

3 Metadata architectures are adaptive program frameworks built using a new software design methodology. Metadata architectures enable the end-user to dynamically change the behavior of the program without changing its code [Lie96, Foo98]. I.WHAT [1] Lieberherr, K. J. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996. [3] Foote, B., and J. W. Yoder. “Metadata and Active Object-Models.” Technical Report, WUSC-98-25, Department of Computer Science, Washington University, 1998.

4 Framework - A framework is a reusable design expressed as a set of abstract classes and the way their instances collaborate. It is a reusable design for all or part of a software system. Example GUI framework I.WHAT [1] Lieberherr, K. J. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, 1996. [3] Foote, B., and J. W. Yoder. “Metadata and Active Object-Models.” Technical Report, WUSC-98-25, Department of Computer Science, Washington University, 1998.

5 I.WHAT Metadata architectures are thus frameworks (reusable design of collaborating instances) that adapt at run time to new user requirements. They accomplish this with structures, constraints, rules, and other programming constructs. They are a different level of abstraction.

6 I.WHAT More difficult to build and understand. Less code than traditional programs. Relies heavily on dynamic programming language with reflective capabilities.

7 MetaData Program Family of Programs

8 MetaData Program - GUI Family of Views (screens) Infinitely many XML class structures for different GUI screens

9 II. WHEN Analysis Design Implementation

10 Traditional Analysis – identify customer domain entities. Metadata Analysis – additionally we need to: 1.Identify those entity or entity characteristics which will require adaptation during the entities life cycle. 2.Define a KNOWLEDGE level for those entities that allows the easy adaptation of their values/procedures. HOW

11 Simple Example: Traditionally, we encoded code table values in the code as constants. CityValues.add (Tallahassee) CityValues.add (Appalachacola) ……. Each time we added a code table value, NewCity, etc. we had to change the code and add another value. We learned to make a table contining these code values and allow the user to add code table values. Thus the code table became metadata to the program. HOW

12 Code alues first attempt at building metadata architectures. Business rules another attempt. Example – insurance business rule: if home = brick reducePremium (.001) if fireDepartdistance < 1.0 reducePremium (0.0005) if homeZipCode in hurricaneSet (increasePremium (0.01) We can build a metadata class containing the reduction rates or values needed to implement the rules. (example type of construction – brick -.001, stucco -.0005, etc fireDepartmentdistance 1<10 -.00002, etc homeZipcode hurricaneSet – 0.01, tornadoSet – 0.005 HOW

13 Yet another technique used in building metadata arch is using polymorphism to implement adaptive behavior code. We define the different behavior as subclasses, include the name of the class as the metadata. Then we make an instance of the needed class AT RUN TIME using a technique called “reflection”. Using the CLASS class, we use methods such as forName to implement the needed behavior HOW

14 How does this work? Example: ONLY ONE GUI program is needed for all screens AND use metadata that allows us to execute 420 simple entry GUIs needed for a system. Example: We define ONLY ONE Servlet or ASP or.net Application for a typical CRUD applications using metadata to execute over 300 application programs. Example: We define ONLY ONE Case Based Reasoner and implement it with metadata as a reasoner in various domains such as packet sniffing, facial recognition with nodals, or medical diagnostics. HOW

15 AttributePhenomTypeSizeValidatorMinMax Error TableLabel DOBDateString8DateRange Invalid DateDate of Birth Shoesize Integer2Range015 Valid Size is between 0 and 15Size of Shoe SSNFedIDString9Numeric SSN is 9 digits 0 to 9Social Security Number Entry Date DateString8Current+ Date must be greater than current date Date of Entry to University Gender String1 Gender must be in “Gender” table Gender ZipCode String9Discrete Zip Code must be in ZipCode Table ZipCode Classifica tion String1Discrete Classification must be in Classification Table Classific ation DepositMoneyReal6.2Range1.002000.00 Deposits must be more than 1.00 and less than 2000.00 Deposit Amount Student Last Name NameString20Alpha Name must be only alphabetic characters Student Last Name HOW

16 ScreenDemographic124 = Name + DOB AttributePosition Name5,30 DOB5,70 Attribute Name DOB

17 HOW AttributePosition Student Last Name5,30 DOB5,70 Entry Screen AttributePhenomTypeSi ze ValidatorMi n MaxErrorTableLabel DOBDateString8DateInvalid DateDate of Birth Shoesize Integer2Range015Valid Size is between 0 and 15 Size of Shoe SSNFedIDString9NumericSSN is 9 digits 0 to 9Social Security Number Entry Date DateString8Current+Date must be greater than current date Date of Entry to Universi ty Gender String1Gender must be in “Gender” table Gender ZipCode String9DiscreteZip Code must be in ZipCode Table ZipCode Classifica tion String1DiscreteClassification must be in Classification Table Classific ation DepositMoneyReal6. 2 Range1. 00 2000.0 0 Deposits must be more than 1.00 and less than 2000.00 Deposit Amount Student Last Name NameString20AlphaName must be only alphabetic characters Student Last Name ScreenDemographic124 Classes

18 Validator Range Discrete Alphabetic …. Classes AttributePhenomTypeSi ze ValidatorMi n MaxErrorTableLabel DOBDateString8DateInvalid DateDate of Birth Shoesize Integer2Range015Valid Size is between 0 and 15 Size of Shoe SSNFedIDString9NumericSSN is 9 digits 0 to 9Social Security Number Entry Date DateString8Current+Date must be greater than current date Date of Entry to Universi ty Gender String1Gender must be in “Gender” table Gender ZipCode String9DiscreteZip Code must be in ZipCode Table ZipCode Classifica tion String1DiscreteClassification must be in Classification Table Classific ation DepositMoneyReal6. 2 Range1. 00 2000.0 0 Deposits must be more than 1.00 and less than 2000.00 Deposit Amount Student Last Name NameString20AlphaName must be only alphabetic characters Student Last Name HOW

19 $$$$$$$$$ WHY

20 AOM – Adaptive Object Model Elements: Metadata Type of Objects (TO) Meta Types of Objects (TO 2 ) ER Models Rule Objects Interpreters/Builders Editors,/ GUIs i.e. REFLECTIVE ARCHITETURE i.e. METADATA ARCHITECTURE

21 Examples of Patterns used in MetaData Architectures: 1. Party 2. Accountability 3. Observation 4. Inventory 5. Accounting 6. Trading 7. Contracts 8. Facades

22 Party Type Party 1 0..M 1 1 Knowledge level Operational level Person Organization Post (appointments) John DoeFSUDean Party Type ObjectRecord Min Max Table Student Person StudentRecord University Organization University UniversityT 1. Party Pattern

23 Accountability Type Accountability 1 0..M 1 1 Knowledge level Operational level Person is Dean of a Campus Accountability Related Types ObjectRecord Actions Time Period Manager of Person, department manageshires, fires begin end Person, campus manageshires,fires begin end Enrolls inPerson, class enrollmentadd,drop semester Accepts inPerson, campus acceptsapplies,… semester Person, department acceptsapplies,… semester 2. Accountability Pattern Person works for a Department

24 3. Observation Pattern Knowledge level Operational level Phenomenon Type 1 Phenomenon 1 Observation 0..M 1 1 Observation Type DataType Validator Min Max Table Label ErrorMessage Show size Showsize Integer Range 4 20 Show Size Range is from 0 to 15 Hair color Haircolor String Discrete HairTable Hair Color Color Must be …… Name Personname String Null Name 0..M1

25 Anything you can do I can do better meta………


Download ppt "I.WHAT II.WHEN III.HOW IV.WHY Metadata architectures are adaptive program frameworks built using a new software design methodology. Metadata architectures."

Similar presentations


Ads by Google