Research on Flexible Robust Software Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Research on Flexible Robust Software Systems

Description:

... subject will develop along the line of least resistance, that the stream, so far ... innocent and the murderer should be the one that is least suspected. ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 22
Provided by: hartik
Category:

less

Transcript and Presenter's Notes

Title: Research on Flexible Robust Software Systems


1
Research on Flexible Robust Software Systems
  • Lecture 1 Introduction

2
Position Yourself
Your Interest
Your Strength
Societal Needs
  • right thing
  • right time
  • right place

3
Which Way to Go, Please?
  • Now you have positioned yourself and selected an
    area. The easiest thing to start research is to
    read a set of papers and do incremental
    improvements.
  • Extend a result to make it more general
  • improve the efficiency of an algorithm and a
    protocol
  • Solve a problem differently and show
    improvements.
  • The real question is along which direction you
    would extend and improve? How do you know that
    you are creating a theorem or mere a homework
    problem, so to speak?

4
Von Neumanns Advice
  • as a mathematical discipline travels far from
    its empirical source, or still more, if it is a
    second and third generation only indirectly
    inspired by the ideas coming from reality, it
    is beset with very grave dangers. It becomes
    more and more pure aesthetics, more and more
    purely l'art pour l'art'. ... there is grave
    danger that the subject will develop along the
    line of least resistance, that the stream, so far
    from its source, will separate into a multitude
    of insignificant branches, and that the
    discipline will become a disorganized mass of
    details and complexities."
  • John Von Neumann, "The Mathematician" an essay
    in "The works of Mind", Editor E. B. Heywood,
    University of Chicago Press, 1957.
  • Dont do it just because it is obvious or easy
    for you.
  • Do it if it leads towards the solution of a
    significant real world problem.

5
Want to be Real? Know the Real World
  • Dont invent solutions and then look for
    problems. It may work but the odds are poor.
  • Listen to von Neumanns reflection of his life
    long work. Talk to developers, look at incident
    reports (what you did at the beginning of this
    class) and then develop the model problems
  • what are the common threads/patterns in the
    problems that bogged down development?
  • Can I develop a simple model problem that
    embodies the essence of the technical
    difficulties. (Think of dining philosopher for
    concurrency control.)
  • Look at the engineering practice. What has been
    overlooked. (Think of Priority Inversion.)
  • Look at the literatures. What the simplifying
    assumptions used by the authors that makes their
    live easy but the solution less than practical?

6
Generalization, Specialization and Integration
  • A research problem can be generalized in some
    aspects and then specialized in some other
    aspects. The GS process creates a new
    angle/focus. For example,
  • Generalization there can be some general
    software patterns to support the use of diversity
    in software architectures
  • Specialization
  • picking a promising application domain
  • real time control
  • telecomm,
  • binding the high level reliability concerns with
    domain specific concerns
  • Not all OS primitives are equally reliable, this
    means
  • Your software pattern code could be a source of
    added complexity, the trick to escape this
    dilemma is
  • Integration combining two ideas together, e.g.,
    NVP and RB. (But is it a good idea? Why?)

7
Negation of Implicit Assumptions
  • Why and why not? Newton implicitly assumed that
    time and space are independent, Einstein said
    no...
  • For example, both RB and NVP, outputs are checked
    by acceptance test or by voting mechanism
    respectively. It is implicitly assumed that the
    system would fail if incorrect outputs are sent
    to the system.
  • We can negate the assumption. It is ok to let the
    incorrect output sent out if we can contained the
    damages.
  • The negation leads us to the discovery of
    forward error recovery
  • In many applications such as airline
    reservation, tele-communication systems, what
    is important is the aggregate remains sound
  • In feedback control applications, what is
    important is that the system remains stable such
    that Individual control errors are correctable.

8
Next
9
Presentations
  • In the 1/18/99 UIUC faculty retreat,
    communication of ideas was identified again as
    one of the most important skills in research.
  • I heard the same message in 1979, when I was a
    Master student at CMU. It has not changed in 20
    years, probably a lot longer.
  • Your presentations skills will greatly affect how
    your competence is perceived by others.
  • If you have doubt, consider this
  • Ph.D. qualifier is entirely verbal. To a great
    extent, you will be judged by your presentation.

10
My I3 Model
  • I have thought about this for many years. To me,
    a great presentation should be
  • Interesting (Tell me more..)
  • Informative (Add to my knowledge base...)
  • Insightful (Impart a deeper understanding ...)

11
Being Interesting
  • Interesting arousing ones curiosity...
  • The apparent evidences should lead to the
    innocent and the murderer should be the one that
    is least suspected.
  • Shas formula Build a model of your audiences
    mind-sets, and maximize the unexpected events.
    Topics should be interesting to the audience
  • For intellectuals with an inquisitive mind, this
    often means
  • something seemingly unimportant actually holds
    the key
  • something widely believed to be true turns out to
    be not true
  • new and significant ideas, results, connections
    between different areas
  • counter-intuitive, unbelievable results
  • something insightful (see Slides on Insightful)

12
Being Informative
  • Inform give new knowledge...
  • New is relatively to your audience.
  • what they already know?
  • what they should know after my presentation?
  • what are the steps in-between?
  • Why from specific to general and from concrete
    example to abstract is the preferred style
    presentation?
  • Consistent with how most people learn
  • Give an easy to grasp anchor first
  • Easy to involve the audience and make them think
    actively

13
Being Informative - 2
  • After 2 weeks, we tend to remember (Edgar Dale).
  • Passive learning
  • 10 of what we read
  • 20 of what we hear
  • 30 of what we see (pictures)
  • 50 of what we hear and see
  • Active learning
  • 70 of what we say
  • 90 of what we say and do
  • That is why I try to make you think, say and do!

14
Being Informative - 3
  • Can you tell me what is the fundamental
    difference between
  • the notes that you take
  • the presentations that you make
  • Presentation is audience centered Do they
    already know this? Can they follow the argument?
    Do I need a picture? An example?...
  • Tips for getting the information across
  • be energetic in your presentation, maintain eye
    contacts
  • pay attention to your audiences reactions and
    adjust your presentation
  • get them active and get them involved whenever
    you can

15
Being Insightful
  • Insight getting right to the heart of a complex
    problem, shedding lights on,,,
  • explain a seeming complex and confusing problem
    in a way that is easy to understand
  • unearth hidden/unstated assumptions... And
    quickly put an argument to rest
  • showing things in new angles, new lights and new
    forms and gain new understandings e.g., Fourier
    Transforms,
  • demonstrate subtle but important
    connections/inter-dependencies between seemingly
    unrelated subjects e.g., identify the link
    between Aspirin and heart attack

16
High Levels of Thinking
  • The key to become insightful is to exercise the
    higher level (4, 5, 6) of thinking skills as
    characterized by B. S. Bloom - analysis,
    synthesis and evaluation.
  • Level 6 Evaluation judge, select, decide,
    critique, verify, debate, assess
  • Level 5 Synthesis create, predict, construct,
    design, imagine, improve, produce and propose
  • Level 4 Analysis Classify, categorize, derive,
    model
  • Level 3 Application Calculate, solve,
    determine, apply
  • Level 2 Comprehension Explain, paraphrase
  • Level 1 Knowledge List, recite

17
Steps in Original Research in a New Area
  • Incremental research can be done by reading
    papers and improve the results. Original ground
    breaking research requires the additional step of
    problem formulation.
  • 1. A general understanding of the high level
    issues
  • the mainframe computer became too fast and
    wasteful to run one program at a time. We needed
    somehow to make sure concurrent programs do not
    adversely interfere with each other.
  • 2. Identify concrete instances that succinctly
    characterize the problem
  • read/write a shared queue
  • read/write a shared table
  • 3. Distill the complex application into a
    self-contain and challenging model problem and
    derive a clean solution
  • the dining philosophers problem

18
High Level Research Problems
  • Can you define a concrete example for the
    following high level problems, formulate your
    model problem and then solve it?
  • Reliable Cooperation
  • how can the reliable component protects against
    abuse from unreliable components?
  • how can the reliable component take advantage of
    the service offered by unreliable components
    without getting hurt?
  • Stability
  • how can the simple and reliable service continue
    to provide essential services in spite of
    failures in non-essential features?
  • Flexibility and Recoverability what should be
    the architecture pattern that would allow
  • new features easily added to improve the system
    service
  • the failed features should be easily fixed or
    replace
  • Others ...

19
Research Problems in Reliable Cooperation
  • Formulate a model problem
  • Identify a high level key problem the
    interaction between reliable software component
    and unreliable software components.
  • Get a concrete example interaction between a
    reliable financial transaction service and your
    flashy website interface.
  • Formulate a model problem Tunneling through
    unreliable component. That is, the financial
    transaction gets reliable data through unreliable
    web interface. To make the tunneling problem it
    a model problem, we need a few more application
    examples
  • Example 2___________________________
  • Example 3___________________________

20
Research Problems in Reliable Cooperation
  • Devise a research approach
  • Formulate a reasonable Interaction requirement,
    for example, in spite of the faults in the web
    interface, the financial transaction will either
    function correctly or not available to users.
    Can you formulate alternative requirements?
  • Digging the tunnel Ok, we cannot make the entire
    flashy web site highly reliable. But can we make
    the data entry portion has a high integrity. That
    is,
  • when it works, it will get the data correctly and
    confirmed by the user
  • should the data be corrupted by the rest of the
    web site software, the corruption of the data can
    be detected and rejected.

21
Research Problems in Reliable Cooperation
  • Summary
  • Can you give concrete examples involve the
    interaction between reliable and unreliable
    components?
  • Can you create a model problem of reliable
    cooperation between reliable and unreliable
    components?
  • Can you specify the fault model of the unreliable
    components (what can go wrong and how)
  • Can you develop a reliable cooperation protocol
    and prove that it can withstand the faults
    defined by the model.
  • Is your fault model reasonable? That is, faults
    not addressed by the model has very low
    probability of occurrence.
  • Is your protocol has reasonable efficiency? Can
    you create a convincing interactive demo?
  • Challenge Can you formulate model problems for
    the stability problem and the flexibility-and-reco
    very problem?
Write a Comment
User Comments (0)
About PowerShow.com