1 / 17

Introduction to Modeling Languages Striving for Engineering Precision in Information Systems

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.

yagil
Download Presentation

Introduction to Modeling Languages Striving for Engineering Precision in Information Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Agenda • Part I: History Context (coming) • Part II: Technology Framework (good start) • Part III: Business Context (if time)

  3. Part II: Technology Framework

  4. 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

  5. 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

  6. 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?

  7. 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 

  8. 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

  9. 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?)

  10. 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.

  11. 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

  12. 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

  13. 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?

  14. 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

  15. 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.

  16. 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

  17. 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.

More Related