150 likes | 556 Views
Analysis of MBASE Model-Clashes Mohammed Al-Said USC-CSE. Agenda: Background, Informal definition of models and model clashes Research Goals and Objectives MasterNet Project Model-Clashes Formalizing Models and Model Clashes definition Examples of formal modeling.
E N D
Analysis of MBASE Model-Clashes Mohammed Al-Said USC-CSE
Agenda: • Background, Informal definition of models and model clashes • Research Goals and Objectives • MasterNet Project Model-Clashes • Formalizing Models and Model Clashes definition • Examples of formal modeling
Definition of a Model : • Model (Webster): A description or analogy used to help visualize or analyze something; a pattern of something to be made. • Includes product models, process models, property models, success models. • Models are used extensively in Software Engineering. • MBASE is a framework, explicitly utilize and integrate those models. • Models inconsistencies are major source of S/W problems.
One View: Models Needing Integration Success Models • Win-Win • Business Case Analysis • Software Warranties • QFD • 10X • Six Sigma • Award Fees • JAD • RAD Product Models • Spiral • Waterfall • Risk Management • Business Process Reengineering • CMM’s • Peopleware • IPT’s • Objectory • Groupware • UML • CORBA • COM • Architectures • Product Lines • OO Analysis & Design • Domain Ontologies • COTS • GOTS MBASE • COCOMO • COCOTS • Checkpoint • System Dynamics • Metrics • - ilities • Simulation and Modeling Process Models Property Models
Examples of Model-Clashes: Product Model Process Model Property Model Success Model Product · · · · Structure clash COTS-driven Interdependent 4GL-based Model · product vs. multiprocessor product vs. low Traceability Waterfall product vs. linear development cost clash (requirements- performance and performance · Architecture driven) process scalability model scalability style clash Process · · · Multi-increment Evolutionary Waterfall process Model development development model vs. "I'll process vs. single- process vs. know it when I see increment Rayleigh-curve it" (IKIWISI) support tools cost model prototyping success model Property · · Minimize cost Fixed-price Model and schedule vs. contract vs. easy- maximize quality to-change, volatile (Quality is free) requirements Success · Golden Rule vs. Model stakeholder win- win
Research Goals and Objectives: • Understand and exemplify the nature of MBASE model clashes. • Gain insight and find effective approaches to identifying and resolving model clashes. • Provide a rigorous foundation for software and system modeling (primarily via MBASE). • Deduce properties and possible consequences of model clashes. • Produce a foundation for the development of software engineering decision tools.
Research Approach: • Study informal model-clashes using real life projects. • Informally understand MBASE assumptions and model-clashes. • Determine fundamental syntax and semantics for MBASE models (first and second order logic, -calculus). • Create a framework to identify model clashes . • Derive formal model-clash results. • Discover approaches to resolving model clashes: • how much can a model be weakened (i.e. dropping or modifying assumptions)?. • can models be strengthened to resolve some clashes?.
Example of Model-Clashes: • Bank of America’ MasterNet Project: • The task in 1980 - Develop the MasterNet system • update and automate the online generation of monthly • statements for the bank’s trust accounts. • Estimate: $22M , 2 years to complete. • Project developer: Premier Systems • Scale up an existing small-trust system. • Result: Took five years, cost $80 million • Consequences: • The system was rejected by Bank of America • Tarnished BofA’s reputation • The total number of institutional accounts dropped from 800 to 700 • Managed assets shrank from $38 billion to $34 billion. • Loss of the business.
Formal MBASE Model Definition: • MBASE is a structure U* • U = set of Product, Process, Property, and Success elements. • (e.g., systems components; schedule; effort; win conditions) • Example ofn-place Predicates (i.e., T,F assignments) would be • R(x) = “x is a requirement” ; S(y) = “y is a stakeholder” • Example of constants are “dollars”, “man months”, “object”… • Example of n-place Functions f (r1,r2,…., rn)=l • “l is a level of service for requirements r1,r2,…,rn” • Whenever a formal sentence, , is true in U, we say U is a model • for , written asïU but drop U when it’s understood. • * As defined in Enderton H book “a mathematical introduction to logic” p.79.
Model-Clash definition: • GivenïK1 , ïK2 , (we call , “assumptions” for models K1 • and K2). A model clash occurs when ÌK {, }for all • substructures K of U • If å ›1 and ›2 and ïΚ1Φ and ïΚ2 • Then the models K1 and K2, clash • {K1 K2} Ì{Φ } • K1K and K2 K • ÌΚ{Φ }
Example: Formalizing a model-clash: • A clash between one assumption and implication of another assumption : • Φ: å • : á —å • Example: Many Features <> Tight budget & Schedule (less features)
Example: Formalizing a model-clash: • WATERFALL: • Φ: Complete Requirements are known before Implementation • = xy Ix Ry I: Implementation R: Requirements • COTS: • Í: Code exists before having complete requirements • Í: xy Rx Iy • Assume MBASE model Κ, • Κ1: Waterfall: = xy Ix Ry é 1 • Κ2: COTS: =xy Rx Iyé 2 • Is ïΚ› consistent? ( i,e ïΚ {})?
Proof: After skolemization and substitution we have = Ia á Rb = —Ia á —Rb and are not logically equivalent (by truth table) ïΚ and ÌΚ or ïΚ and ÌΚ › is inconsistent. Model clash between Waterfall and COTS.