170 likes | 301 Views
Introduction to Modeling Languages Striving for Engineering Precision in Information Systems. Jim Carpenter Bureau of Labor Statistics, and President, DAMA-NCR Seminar on Validating Models May 24, 1999: BLS only May 25, 1999: DAMA-NCR. Draft Version 1.2 dated 5/13/99 5 PM. Agenda.
E N D
Introduction to Modeling LanguagesStriving for Engineering Precision in Information Systems Jim Carpenter Bureau of Labor Statistics, and President, DAMA-NCR Seminar on Validating Models May 24, 1999: BLS only May 25, 1999: DAMA-NCR Draft Version 1.2 dated 5/13/99 5 PM
Agenda • Part I: History Context (coming) • Part II: Technology Framework (good start) • Part III: Business Context (if time)
Central Theme:How to Describe a System Answer: use a network of descriptions • Starting from a bunch of English sentences. • Can use any natural language • Ending in the ultimate description, i.e., the system itself • Information Technology: the executable binary code. • Architecture: the building • Manufacturing: the product
Some Basic Notions • Description = Model (for our purposes) • Model = a description in some language • The Modeling Language • Language = a set of concepts with representations • also has rules but we’ll gloss over this for now • Concept = a unit of thought, a notion • Representations • sound • word = a group of letters • graphic • mathematical symbol
The Notion of a Model • A model is a projection (translation) of our knowledge of the real world into a fixed set of concepts. • Example: • Knowledge: “This person I, Jim, am pointing at right now who I know as John owned a thing we call a car yesterday.” • Concepts: Object: relationship: • Projection: a “sentence” in the modeling language: ownership point Car Jim John Note: Dimension of “when” is lost and other subtle info. We could recover some info by extending the “sentence”. But when to stop?
Some Modeling Languages • Data & Process Modeling Languages • Entity Relationship - UML • Data Flow - Work Flow • Programming Languages • Linear Models (Math & Statistics) • Vector, V (observation) • Space, (hypothesis) • Projection, P (statistic) • Difference, E (Error) • Software packages(Microsoft PowerPoint, etc.) • Technical languages - branches of science • Natural Language Modeling Language: word, sentence, object, predicate V E P
UML - a standard language(Unified Modeling Language) • A standard set of 90 some elements (concepts) established by OMG • Each element has a fixed graphical representation • Nine (overlapping) bags of elements are defined • Each bag is called a diagram type= dialect • Use Case Diagram - Collaboration Diagram • Class Diagram - Activity Diagram • Object Diagram - Component Diagram • State Diagram - Deployment Diagram • Sequence Diagram
Natural Language Modeling Language • Words, sentences John loves Mary. = Mary is loved by John. • Objects (John, Mary) • Predicate (the glue that holds the objects together) (… loves …) = (... is loved by ...) Note: “…” is a placeholder • Complex sentence • Jack gave the ball to Jill • Objects: (Jack, ball, Jill) like a parameter set • Predicate: ( … gave … to … ) like a function • (Can you think of good graphical representations for object & predicate?)
Fundamental Axiom of Information Technology • Idea occurs repeatedly in IT • Bob Schmidt’s book Data Modeling for Information Professionals in a discussion of whether modeling is possible. • Basis for concept of “round trip engineering” • Basis for OMG’s & MDC’s tool interoperability architectures • It is possible to map some elements from one language into elements of another. • In other words: languages may have similar structures and rules.
The Universal Systems Development Process:A network of transformations between models. • Starting model is a set of statements representing the knowledge of the subject domain expert • Ending model is the system, a set of executable binary code (in a machine language) • Intermediate models • provide insightful views based on the statement set • are kept as architectural documentation of the system. • Network: The Zachman Framework is a metamodel of a network of models • http://www.dama-ncr.org/Library/Frameworks.ppt
Isomorphism, Validity, & Equivalence • ISOMORPHIC MAPPING (a very nice mathematical concept) • A mapping from one set to another (ordered pairs) • Properties of the mapping • One-to-one (some rule with pairs the elements) • Onto (no elements left over) • VALID MODEL: if there is a subset of statements that is isomorphic to the model • VALID SYSTEM: if the entire statement set is isomorphic to the system • EQUIVALENT MODELS: if there is an isomorphic mapping between them
Fundamental Problems of Systems Development • How to get a complete and accurate set of well formed statements in some natural language? • How to transform the statement set into a model in a given modeling language? • How to transform a model from one language to another? (Some good news!) • What set of modeling languages is sufficient to capture all of the knowledge embodied in the statement set?
Problem 1: Capturing the Statements**** Note common failure: statement set is not preserved. **** • Model-guided discussions with subject expert • E.g., Use Case Analysis (many variations, see articles at http://www.crim.ca/~aseffah/investigation/use_case.htm ) • Existing documentation (reverse engineering) • Mission, objectives, methods, ... • Models of all kinds • Database schemas • Forms used to collect data • Models of application packages used!!! • Code and code libraries • Guided queries based on existing documentation
Problem 1:Refining the Statements • Usual methods: conceptual statement alternatives are compared and debated • Sharp’s method: • Each conceptual statement is analyzed by a truth comparison of specific instances • Refined statement is called a fact type • Fact type: assertion that a sentence formed from a set of objects and a predicate is always true for all instances of the objects.
Problem 2: Transforming the statement set • Usual method: mental process (usually treated as part of problem 1) • E.g.: Use Case Analysis • Identify the “objects” • Identify the “relationships” • Sharp’s method: algorithm • Well defined map from set of fact types to a unique model in any given language
That’s all, so far. This is the basic technology framework of part II. I still need to show connections to Sharp’s NLM methods & a few other popular methods. Still need brief history context as a Part I. May do a business context as Part III. -- Jim C.