short notes is a journal on software, systems, engineering practices among other things.
Copyright © 2002-2006 short notes. All rights reserved.    contact address: email to the editor   ISSN 1543-6489

short notes
 
Sunday, 30. March 2003

CRC


Ward Cunningham calls his invention CRC or class, responsibilities and collaborators "a way of describing objects". After all, much of OOAD is to think about software inhabited by various roles (or classes), who interact with each other as collaborators, fulfilling their respective responsibilities. The beauty of CRC is its simplicity: Write on small index cards and shuffle them around as needed. Another beauty of CRC is its wide applicability. CRC's usefulness for designing implementation is obvious. Mostly overlooked aspect of CRC is its usefulness for high level activities like requirements analysis, use cases design and even setting up engineering process.

References: The original CRC cards "Object Design: Roles, Responsibilities, and Collaborations" by Rebecca Wirfs-Brock and Alan McKean


 
permalink   
 

Sunday, 16. March 2003

UML is UNCOL


Upcoming release of UML 2 will generate interest in "model driven architecture" or MDA. MDA has to be one of the most ambitious ideas from software engineering. It envisions development process as creation and refinement of models expressed in UML. Architects will provide UML models as input to new tools that support UML 2, and the tools will generate code for implementation technologies like J2EE, or .Net. In other words, UML 2 and its tools are programming languages and their compilers taken to higher level of abstraction to bridge the gap between business and IT. Right model means quality software. UML is UNCOL.

Dave Thomas' "UML - Unified or Universal Modeling Language?" helps us build resistance to seduction of top-down mindset. Ted Neward also points out a few pitfalls of "model-first" mentality. We welcome readers' models on the relation between this kind of ambitious deductive reasoning and confusion of nomenclature and phenomena.

Update on 2003-09-13 Martin Fowler (who should get credit for making UML useful and accessible through his books and articles) argues that MDA's claim of platform independence is baseless.


 
permalink   
 

Tuesday, 18. February 2003

Add one in Java


Do you ever wonder which of the following is the fastest way to increment an integer in Java? i++; ++i; i+=1; i-=-1; Answer here.


 
permalink   
 

Tuesday, 21. January 2003

Dancing with many partners


Existing specifications for Web services describe the indivisible units of interactions. It has become clear that taking the next step in the development of Web services will require the ability to compose and describe the relationships between lower-level services. Although differing terminology is used in the industry, such as orchestration, collaboration, coordination, conversations, etc., the terms all share a common characteristic of describing linkages and usage patterns between Web services. For the purpose of this document, and without prejudice, we use the term choreography as a label to denote this space. [...] The Web Services Choreography Working Group, part of the Web Services Activity, is chartered to create the definition of a choreography, language(s) for describing a choreography, as well as the rules for composition of, and interaction among, such choreographed Web services. The language(s) should build upon the foundation of the Web Service Description Language 1.2 (WSDL 1.2).

from "Web Services Choreography Working Group Charter"

This new W3C working group's importance is obvious: web services industry needs "the ability to compose and describe the relationships between lower-level services". However the term "choreography" is not entirely welcome as it carries deterministic outlook that precludes spontaneity and emergent behavior.


 
permalink   
 

Tuesday, 7. January 2003

X11 grows up


After all these years X11 whose excuse has been "it's not, repeat, not a windowing system but a toolkit/protocol for such" becomes a useful GUI. X11 for Mac OS X even lets users to replace the native Aqua window manager with their own choice.


 
permalink   
 

Saturday, 28. December 2002

Semantic Web is harder


"When people see web pages, they understand their meaning. When computers see web pages, they get only words and HTML tags. We'd like computers to see meanings as well, so that computer agents could more intelligently process the web. These desires have led to XML, RDF, agent markup languages, and a host of other technologies which attempt to impose more syntax and semantics on the web -- to make life easier for agents. Now, while some of these technologies are certain to see a lot of use (XML), and some of the others may or may well not, I think their proponents all rather miss the mark in believing that the solution lies in mandating standards for semantics. This will fail for several reasons: (i) a lot of the meaning in web pages (as in any communication) derives from the context -- what is referred to in the philosophy of language tradition as pragmatics (ii) semantic needs and usages evolve (like languages) more rapidly than standards (cf. the Académie française), (iii) meaning transfer frequently has to occur across the subcommunities that are currently designing *ML languages, and then all the problems reappear, and the current proposals don't do much to help, and (iv) a lot of the time people won't use the standards -- it's just like how newspaper advertisements rarely contain spec sheets. I will argue that, yes, agents need knowledge, ontologies, etc., to interpret web pages, but the aim necessarily has to be to design agents that can interpret information in context, regardless of the form in which it appears. And for that goal work in natural language processing is of some use, because that field has long been dealing with the uncertain contextual interpretation of ambiguous information. In case the abstract so far hasn't made it obvious: I intend this as more a pontifical than a technical talk, but will discuss a little relevant natural language processing technologies."

Christopher Manning's "Information Pragmatics" (in Powerpoint) provides a thoughtful resting place for those chasing Semantic Web. Above abstract is from an earlier version of the talk given at Stanford Database Seminar in 2000.


 
permalink   
 

Friday, 13. December 2002

Games for enterprise computing


From the latest Contours we find this gem:
The problem: Most software used in large organizations (business, academic, government, etc.) is complex only at the level of implementation -- the real behavior is simple. Invoices are totaled. Invoices are mailed. Accounts are balanced. Appointments are made in a deterministic fashion. ("If exchange server shows her available at 10:20 tomorrow, schedule her to meet with the downsizing committee").
The gaming world frequently addresses more interesting issues. These days game developers study physics [and] (what passes for) AI. The problems of moving a ship through space may have more in common with processing an invoice or an appointment than one might expect.

A limted solution: For example, software that supports workflow is being used for more sophisticated approaches for handling invoices and appointments. (IBM, Microsoft, Bea are working on Business Process Execution Language for Web Services (BPEL4WS) and other flow specifications). The specifications attempt to handle well defined interactions. It’s not clear, however, that ‘well defined’ is good enough to support rich behavior in an organizational context in which personnel,organizational relationships (partners, competitors, etc.), and requirements are constantly shifting.

A deeper solution? Metaphors from the physical world may be more appropriate and the game developers may have a leg up.

See also previous short notes on agents and on business process management (parts one, two and three).

Steven Johnson's essay in Wired about AI in the latest games provides a generalist overview on how AI is changing games.


 
permalink   
 

 
Published since 2002-04-23
Updated: 2010-10-16
status
Youre not logged in ... Login
menu
May 2024
SunMonTueWedThuFriSat
1234
567891011
12131415161718
19202122232425
262728293031
October
recent
recent

RSS Feed

RSS integration

Made with Antville
powered by
Helma Object Publisher