Title: Introduction to Sharp
1Introduction to Sharps MethodsStriving 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.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 Sharps methods
and all other methods - Provide contrast between Sharps methods and
other methods - Introduce the essential concepts in Sharps
methods
4Summary
- Context
- Universal Systems Development Process a network
of transformations between models - Contrast
- Sharps methods analysis of instances
- Usual methods conceptual debate
- Concepts
- Valid fact type
- Object
- Predicate
5A Central ThemeHow 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 well 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
ownership
point
Car
John
Jim
Note Dimension of when is lost and other
subtle info. We could recover some info by
extending the sentence. But when to stop?
8Some Modeling Languages
- 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
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)
11Class defined by the predicate
- Fact Jack gave the ball to Jill
- Context 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
class - Object Jack, Jill
(Class of children) - Predicate gave the ball to
- Context 3 Jack Jill and toys in a classroom
- Object Jack, ball, Jill (Class
children, toys) - Predicate gave theto
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.
13Fundamental Axiom of Information Technology
It is possible to map some elements from one
language into elements of another. In other
words languages may have similar structures and
rules.
- Idea occurs repeatedly in IT
- Basis for communication
- Basis for concept of round trip engineering
- Basis for OMGs MDCs tool interoperability
architectures - Bob Schmidts book Data Modeling for Information
Professionals in a discussion of whether modeling
is possible.
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, well consider a
universal framework for the development process
...
15The Universal Systems Development ProcessA
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 Development
- How to capture a complete and accurate set of
well formed statements in some natural language? - How to transform a set of well formed statements
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?
18Problem 1 Capturing the Statements
- Model-guided discussions with subject expert
- E.g., Use Case Analysis (many variations, see
articles at http//www.crim.ca/aseffah/investiga
tion/use_case.htm ) - Existing documentation
- Statements of mission objectives, methods
handbook, ... - Models (Sharps Lecture)
- Database schemas
- Forms used to collect data
- Models of application packages used!!!
- Code and code libraries
- Guided queries based on existing documentation
reverse engineering validation
19Problem 1Refining the Statements
- Usual methods conceptual statement alternatives
are compared and debated - example is a passenger an entity or state of
a person? - Sharps 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 ltSSNgt
has the name ltPersonNamegt. - Domains ltSSNgt, ltPersonNamegt
- 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
- Sharps 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 3Translating 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 4A Sufficient Network of Models