1 introduction to sharp’s methods striving for engineering precision in information systems jim...
TRANSCRIPT
1
Introduction to Sharp’s MethodsStriving for Engineering Precision in Information Systems
Jim CarpenterBureau of Labor Statistics, and
President, DAMA-NCR
Seminar on Validating ModelsMay 24, 1999: BLS only
May 25, 1999: DAMA-NCR
Draft Version 1.4 dated 5/17/99 8 a.m.
2Agenda
• Part I: History Context (coming)
• Part II: Technology Framework (good start)
• Part III: Business Context (if time)
3Part II: Technology Framework
• Describe a technology context for Sharp’s methods and all other methods
• Provide contrast between Sharp’s methods and other methods
• Introduce the essential concepts in Sharp’s methods
4Summary
• Context – Universal Systems Development Process: a
network of transformations between models
• Contrast– Sharp’s methods: analysis of instances– Usual methods: conceptual debate
• Concepts– Valid fact type– Object – Predicate
5
A 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
6Some 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
7The Notion of a Model
A model is a projection (translation) of our knowledge of the real world onto 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:
John Carownership
Jimpoint
Note: Dimension of “when” is lost and other subtle info. We could recover some info by extending the “sentence”. But when to stop?
8
• Data & Process Modeling Languages– Entity Relationship UML
– Data Flow Work Flow
• Programming Languages• Software packages (Microsoft PowerPoint, etc.)
• Linear Models (Math & Statistics)– Vector, V (observation)
– Space, (hypothesis)
– Projection, P (statistic)
– Difference, E (Error)
• Other Technical languages - branches of science
• Natural Languages - English, French, Japanese, …
• Natural Language Modeling Language
Some Modeling Languages
V
P
E
9UML - 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
10Natural Language Modeling Language
• Words, sentences, equivalence John loves Mary. = Mary is loved by John.
• Object - thing we want to know facts about
(John, Mary)
• Predicate - the glue that holds the object together, words that give an object meaning, what can be known about it: attributes & relationships
(… loves …) = (... is loved by ...) Note: “…” is a placeholder
• Complex sentence – Jack gave the ball to Jill– Object: (Jack, ball, Jill) like a parameter set (variable)
– Predicate: ( … gave … to … ) like a function (fixed)
11
Class: defined by the predicate
Fact: Jack gave the ball to JillContext 1: Jack is one of 5 boys in a room with Jill
Object: Jack (Class of boys)
Predicate: … gave the ball to Jill
Context 2: Jack & Jill are among 5 children in classObject: Jack, Jill (Class of children)
Predicate: … gave the ball to …
Context 3: Jack & Jill and toys in a classroomObject: Jack, ball, Jill (Class: children, toys)
Predicate: …gave the…to
12Fact Types: describing facts.• Fact 1: Jack gave the red ball to Jill.• Fact 2: John gave the red ball to Jill.• Fact type: A boy gave the red toy to Jill.• Fact 3: Jack gave the red ball to Jane.• Fact type: A boy gave the red ball to a girl.• Fact 4: Jane gave the red ball to Jack.• Fact type: A child gave the red ball to a child.• Fact 5: Jane gave the white ball to Jack.• Fact type: A child gave a ball of a certain color to a child• Fact 6: Jane gave the green truck to Jack.• Fact type: A child gave a toy of a certain color to a child.
13
Fundamental Axiom of Information Technology
• Idea occurs repeatedly in IT– Basis for communication
– Basis for concept of “round trip engineering”
– Basis for OMG’s & MDC’s tool interoperability architectures
– Bob Schmidt’s book Data Modeling for Information Professionals in a discussion of whether modeling is possible.
It is possible to map some elements from one language into elements of another.
In other words: languages may have similar structures and rules.
14Mappings from NLM
• NLM maps well the principle concepts of existing data & process modeling languages, including business rules.
• The differences are in the methodologies
• To compare methodologies, we’ll consider a universal framework for the development process ...
15The 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 subset of statements– 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
16Isomorphism, 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 which 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
17Fundamental Problems of
Systems Development1 How to capture a complete and accurate set of well
formed statements in some natural language?
2 How to transform a set of well formed statements into a model in a given modeling language?
3 How to transform a model from one language to another? (Some good news!)
4 What set of modeling languages is sufficient to capture all of the knowledge embodied in the statement set?
18
• 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 – Statements of mission & objectives, methods handbook, ...
– Models (Sharp’s Lecture)
– Database schemas
– Forms used to collect data
– Models of application packages used!!!
– Code and code libraries
• Guided queries based on existing documentation
Problem 1:
Capturing the Statements
reverse engineering &validation
19Problem 1:
Refining the Statements
• Usual methods: conceptual statement alternatives are compared and debated– example: is a “passenger” an entity or state of a person?
• Sharp’s method: – Each conceptual statement is analyzed by a truth
comparison of specific instances– Refined statement is called a valid fact type
• well formed NLM sentence
• verifiable by tracing to yes/no answers to specific questions addressed to subject experts
20Fact Type
An assertion that a sentence formed from a set of domains and a predicate could be true for all (allowable) instances of the objects in the domains.
Person identified by social security number <SSN> has the name <PersonName>.
Domains: <SSN>, <PersonName>
Predicate: … is identified by a …
Instances: 123-45-6789 Jane Doe
987-65-4321 Jane Smith
21Problem 2:
Transforming the statement set
• Usual method: mental process (usually treated as part of problem 1)– E.g.: Use Case Analysis (scenarios)
• Identify the “objects” then “classes”
• Identify the “relationships” and “attributes”
• Sharp’s method: algorithm– Well defined map from set of valid fact types to a unique
model in any given language– Use the translator hub (next slide)
22Problem 3:
Translating between languages
• Pair-wise translation – Each tool does N translations– N x N translations total
• Translator hub (repository)– Each tool does 2 translations (to & from the hub)– 2 x N translations total
• Standard hubs– OMG: MOF– MDC: OIM (parallel structures???)
23Problem 4:
A Sufficient Network of Models
• (tentative ideas)