Serving the CustomerOOPSLA Behavioral Semantics WorkshopNovember 4, 2002 |
version 0.10 last updated 2002-11-04-10:01 -0800 (pst)
Ten of us at the start. 14 by first break. The outlets do work and there are enough. I can't rent out my powerstrip yet. Three people have communicated not coming because are presently unemployed and can't do the trip. One from Australia was an example.
The co-chairman is having his slides printed one floor down at Kinkos and we are waiting a few minutes.
Edsgar Dijsktra quote from 1961- a machine serves one of its highest purposes when ...
A thorough training ... mathematics ... precludes any tendency to be fuzzy, ... Conrad Hilton quote (not on a slide)
An appeal to the value of mathematics and discussion about precision.
Then the question between precision and formalization came up.
Haim suggests maybe the kind of precision that business people want is not that kind of precision that is being offered.
The precision-mathematics fellow (Chris Partridge?) thinks that formalization is not an avenue to precision, that may not actually work. You need to be sufficiently formal to capture the degree of precision that you have, but if you use a formalization that is stricter than that, you have trouble.
Aristotle got dragged into that. And you can formalize nonsense.
Question about models actually being valid representations of systems, and what ontologies offer in resolving that question. (Suggestion that a precise model does not admit nonsense.)
This is a very international get-together. We have participants from both coasts of the US, from France, from the UK, from the Netherlands, and so on.
There are 1400 people pre-registered this year, and before that around 2500. So may still be down or may come up from 1400 this week when things start on Wednesday.
Suggestion that we are aware of what is going on in this room as an example of situation awareness!
- Awareness is knowing what is going on[!!]
- Information must be relevant
Slide bullets not in the article, and moving pretty fast. These presentations are very quick.
Uses example of 9-11 as a situation where people did not know what was going on, did not know the situation, although there was much information that something was going on.
Methodology uses UML, DAML, and Slang. And Joint Defense Laboratories (JDL). Has a model of data fusion (see table 1 in paper). Do reference some of Barwise.
RDF and DAML which extends RDF to serve as the basis for the Semantic Web. Examples in the paper.
Nice definition of ontologies. Not in the paper - there is a reference to M. Bunge treatise on Ontology: The furniture of the world (!) - 1977.
- Shared understanding within a community of people (slide up and down very quickly - I only got this bullet)
There are constraints in the methodology around monotonicity of semantics. Raises problems between open world and closed world semantics.
Some of the examples are ridiculous, depending on a closed ontological system - things can't be expressed, and open situations lead to the system inferring new relationships that may be inapt.
Proposal is that situations can't be closed because one can't assume perfect knowledge of the situation, and Barwise's work on situations is acknowledged here.
Have a top level UML formalization that allows situations to refer to situations, and uses as example the gamer or military misdirection case, where one includes in the situation what the opponent thinks the situation is and misdirecting that. Recall that the topic is situation awareness.
[SOAR graphs raised as a question.]
Discussion about storage of model, difficulties of maintaining the model efficiently, especially tracking dynamic situations.
Discussion about levels and higher-level notions, change of level. For example, if two objects are engaged in a conflict, one can't tell that from the objects. There is some higher level situation that provides something about the mutual activity of the objects.
Concern about relevance and pruning mechanism so that there is focus on what matters.
Then there are uncertainties to deal with. The Goodman book on data fusion deals with uncertainty. Goodman book intensely mathematical. Then there are beliefs -- Dempster - Shafer labelling involves a much more complicated probability notion that is situated somehow. There are propogation rules for uncertainties.
[I have an impression that this is a kind of academically-legitimized hacking. I wonder how the customers deal with this.]
Kilov: Look at dealing with too much stuff. You have lots of data and you abstract out only the "important" things. That is dependent on the viewpoint and the goal. Agreed: What you see depends on what you are looking for. It is agreed that viewpoints are important.
Just asks about open-closed. UML does not specify semantics. In the software-development and programming-language environment it would be closed. Confusion about semantics versus the axioms. UML does not have a semantics. The way it tends to be used, the semantics (models) are often closed.
Good suggestion that if one applies UML to business models, one is very careful to have open models and use roles as a way to avoid type commitment. But roles can be a closed set.
There is an interesting case with realizing that business situations are fluid and can't be closed.
Discussion about ontologies and epistemologies being kept distinct. Question about, in effect, whether systems like DAML create existential but not identified things (that is, unknown but assured to exist objects). The question is about models. Discussion about when, for example, a person is named on an insurance policy, whether that is just data and whether that is an identified person (that is, the difference between knowing existence and knowing a particular). Interesting problem between reflecting this in the theory or in the model, and maybe the model isn't monotonic?
OOP not suitable for enterprise design.
Concerned with semantic preservation.
Look at the abstract.
Example is of ATM machine (fig. 2) which is nice based on what requirements might be as a designed user experience.
RM-ODP (Reference Model for Open Distributed Processing) comes up here. This is something that appears to be receiving attention beyond MDA.
Claim is that the work here can relate models from different levels of abstraction to each other. Need to look at that. ISO/IEC 16414, ISO/IEC 10746 (-1 to -4)
Reference to (Johnson and Kilov, 1999) on a Z toolkit for RM-ODP.
Considers UML not ready for this.
Concerning RM-ODP, provide references and discussion of applications of it, and suggest that ISDL (Interaction Systems Description Language) is generic enough to describe both protocols and distributed objects.
The illustrations used for most of the slides are not in the paper.
"A 12-step program for eliminating organizational change."
Had a luggage problem and is doing manual PowerPoint
Talking about customer behavior and that software development behavior is similar to the customer behaviors that one wants to accomodate in software designs.
Then looked at teaching of creativity and appealing to music because the authors are musical.
Musicians that are hard to study. Beethoven, Mozart, and Schubert.
Looked at Bruckner, Liszt, and Dvorak. (Look at symbols for Dvorak.)
Revisionitis. Kept reworking their earlier works. Dvorak didn't fuss with that. Would move on to something else.
Software as composition (as in musical composition). Brooks's Advice.
The place of chaos in the process of getting our work done.
Is there more to it than a joke to look at negative and fractional levels of the CMM. Is there anti-process. It isn't just a process that doesn't work. Disagreeing with the idea that chaos is hell and the epitemy is the regularity of paradise.
Chaos is the place where normal human activity starts. That is George's thesis.
Anti-processes depend tremendously on the belief and subscription level of the people who participate in them. E.g., "corporate culture." There are signatures -- people who are paid to sign things. In an anti-process you get a signature for a loophole or to deviate, rather than record completion
Approach to metrics, usually not applied to anti-processes -- not open to applying metrics to itself.
Anti-process maintains corporate culture, process modifies it.
A bank sending out an e-mail saying they were going to get serious about QA. New rule: every user has to has their own user ID. Checked out what they had been doing beforehand. The SA's didn't like to create new IDs and capabilities and rights, and they assigned old IDs that were like what you seem to need. And then users would borrow someone else's ID to get a needed privilege. It took as many people to do the antiprocess as to do the actual process. The antiprocess was doing active harm.
Suggestion that it is easiest to introduce a process or antiprocess into chaos, rather than as a replacement for an existing process.
Haim makes an example of the planned economy under the Soviet system, and how did it survive so long. Because there were people who introduced chaos into the system. Bribed producers to produce other things and meet actual needs. So the controlled economy was violated by this disruptive (and criminal) behavior.
Comment about hierarchical organizations are resistent to creativity and also a lot of people in management have been trained in theories that have little to do with how things actually get done. George agrees that adoption of some of these theoretical processes can be very harmful.
George seems to be using the idea of introducing chaos as a form of disruption, destabilization, and revolution. We discuss that revolution is a good idea.
Anecdotal description that the best H-R department is a filing cabinet in which coffee cups are stored.
Putting people in silos. The sooner into a silo, the less opportunity for creativity.
Assumption of situation being bad in IT, mailing lists of people looking for work, etc.
The Bill Parker 2002 quote is about how to find work.
Yourdon talking a few weeks ago, said all work is going off-shore. Kilov points out that it is a commoditization -- if you are an expert in financial systems using Oracle 11i, it doesn't matter about all the other stuff, it matters how cheap you are. And off-shore is cheaper.
Ties it to serving the cstomer using an Adam Smith quotation.
Haim is looking at the business model for an expert. Looks at employment, versus contracting
Picture about expertise is more interesting, Generic Fragments is housing of "financial systems using Oracle 11i". Then differentiators are something else.
Talking about fungible (faster, cheaper, better) and non0fungible: 1. creative composition, 2. unique expertise in a specialized area, 3. mastering complexity (problem understanding and specification)
Fungibility is what the customer wants. If it is out of control anyhow, outsourcing it at least makes it cheaper. Business people hate IT so much that they don't even want to see or speak to IT people.
It is also a way to restrict the need to interface with IT by out-sourcing.
How can a knowledge worker make themselves valuable. Be non-fungible. Mastering complexity is currently non-fungible.
The Roles picture is from von Mises, and it works in the IT world as well. Roles may not be determined by the organization chart of the organization. You have to do an explicit organizational assessment by going there and making things explicit. The results might not be shown to the customer or all of them, because they are unpleasant.
Being a problem solver, abstract out the essentials and subcontract the accidentals (Oracle 11i), mastering complexity -- becoming a good abstractor (Booch, his Ada book).
Neville Holmes, recent IEEE Computer or Software. Contrasting engineers and tradespeople. Engineers lead by bringing their education and experience to bear when applying general principles to new problems.
If IT is seen as a trade, IT people will try to become trades people.
Tony Hoare, 1999, an optimist. ... But the more far=sighted enterprises can see the competitive advantage to be obtained by rapid transition to an engineering attitude towards software.
All in bibliography - Kilov is careful.
Discussion are what are the drivers.
Discussion about product promotions, and what constitutes success and what constitutes avoidance of failure.
Discussion of certification industry and what that is about, and this process is feeding itself and a demand.
I raised about tradespeople being more reliable, but that was shot down. It is a myth that tradesworkers are predictable and reliable, and we shared common and recognizable horror stories.
Haim does not think that the goal is commoditization, he is observing a state.
The question about marketing and marketing prevailing, over quality of a product, being the first and the best.
Religious positions, object reality of the best, etc.
Haim has a story about improving a high school (for $41M) and the Big Dig. Who are the decision majors. What do they know?
Coming back to behavioral semantics. Include in models essential stuff, not the extraneous stuff. Interesting question, can modeling using behavioral semantics assist in identifying the discontinuities.
SUVs as a marketing success.
We come back to "reality is what it is no matter what we think about it. " So marketing then, I would say, sustains an agreement about reality. But reality pays not attention.
Haim, value of being explicit -- exactified. To be precise. To be explicit -- perhaps the most important thing, because there are too many implicit assumptions. If the viewpoints of business people are visibly conflicting, but if only somewhat conflicting exposing it is difficult, but IT people can help.
Presentation of the Farias, Gueheneuc, and Sudholt work. [get the name typographies properly]
Example of a component for a ChatServer does not reveal semantics and how the components can be used, so there is no protocol description for how the operations are handled. Carefully describes that the component doe snot show this, and also that namings may suggest something about protocol, but there is actually nothing explicit.
Use a state diagram to describe protocol.
They define a notion of coherence between a protocol and a component source code.
There may be a possible misconception. The protocol is associated with a component. And the component protocol specifies completely the behavior of its component.
They are interested in verification and establishing that a code implements a protocol.
Nice questions about dealing with protocols
- Doesn't like to write protocols for every component
- Component may follow a protocol already
- How to tell the protocol is followed by the component
- How to make a component compliant with a specified protocol
CwEP - Components with Explicit Protocol (mention of Eclipse here)
Interesting question about compositions of components and the composite behavior that arises.
People forget to specify exception conditions, or in refinement processes, what is taught is not what actually happens. There are things added to implementations going from high level to low level that aren't captured by mathematical refinement.
Conversation about IT frameworks / architectures already being given or chosen.
Question about refinement having anything to do with mathematics.
Replacing a naive schema with another naive schema
Analysis - Design - Code
Now PIM - PSM - Code and the idea of model transformations
Empowering the MDA, 3 main ontologies:
UML 2.0, Unified Process Model (SPEM), and UTL (Unified Transformation Language - MOF 2.0 QVT RFP)
Revisiting the Y Cycle - weaving PIMS & PDMs to produce PSMs [Great picture] and how binding merging happens to make Platform Specific Model, with some sort of Design Decision Model that precedes it.
Want to get to, by 2005, something like 25% Manual/Automatic Code Generation
Don't have models of the platforms to work with (WinTel, Sun, Linux, .NET, etc.)
Abstract Syntax Systems Compared, growing to Technology levels, etc.
Model-Driven transformation is the big deal.
Idea of transformations and queries as models and there be higher-order transformations (that, e.g., work on transformations).
Also looking at RM-ODP and taking as many good ideas from there as they can.
Jean Beziven, Alcatel, INRIA, and others in France responding to the OMG RFP. Requirement is to be based on MOF. UML Infrastructure and OCL for precision and consistency to models and metamodels.
Problem being solved - platform independence and corresponding to business requirements, and being able to preserve the PIM across platform generations.
Fellow from ATX has been doing this for four years or more, given design rules. People have been doing MDA for a long time already.
Microsoft Research, Michael Barnett. research.microsoft.com/fse
ASML is the basic tool. Based on theories by Yuri Gurevich and manager of the group.
A lot of the details are not of theoretical interest but they are the things you need to have so working developers will use it.
So they developed a Literate specification system based on Word on XML and can be edited in an IDE or other shell and the compiler will extract the necessaries from the literate specification.
Levels: idea - model - code
comment on how many groups in MS work is without the model, going from idea to code.
So an executable format for designs, they have support for executable model that can be tested, confirmed, etc., including reuse of test suites from previous generations of the product.
Validation of the model independent of the code is possible.
Once the code is written, there is some work in verification (conformance and coherence) with respect to satisfaction of the model. Not into transformation and generation (and achieving a refinement).
It is the unforseen interaction between pieces that cause problems.
Kinds of models: operational semantics
special constructs for non-determinism (it is under-specification), clarified in discussion that use of non-determinism
None of these uses of non-determinism are what is meant by non-determinism in automata theory.
There are tools for test-case generation, etc.
The problem of systems that are instrumentalities and that are situated. The transformation between a business model and a system model is quite different than transformation between a PIM of a system model and an implementation of the system
transactional in nature - restricts sequentiality
Some discussion apparently getting at systems being embedded and situated, flexing off of the MS presentation being about tools already below the business system level.
- http://staff.develop.com/jasonm
- For the resources from this Summit. The slides and the sample code are all available for download.
version 0.10 2002-06-20 Adapt a boilerplate and start capturing notes other than on the printed slide notes pages.
created 2002-11-04-09:10 -0800 (pst) by orcmid
$$Author: Orcmid $
$$Date: 02-11-04 14:42 $
$$Revision: 5 $