Toward Boxology: Preliminary Classification of Architectural Styles

Proc. COMPSAC97, 21st Int’l Computer Software and Applications Conference, August 1997, pp. 6-13. Preliminary version, “Toward Boxology: Preliminary Classification of Architectural Styles,” Proc. Second Int’l Software Architecture Workshop, October 1996. [pdf]
——

This paper list a taxonomy of graphical style used by computer scientists to describe their system architecture. The paper highlights different architectural styles: the set of design rules that identify the kinds of components and connectors that might be used to compose a system or a subsystem, together with global and local constraints on the way composition is done. What diffenrenciate the styles it is largerly the interaction among the components. The paper identifies how each style is best fitted to represent a particular architectural structure.

Two Worlds Apart: Bridging the Gap Between Physical and Virtual Media for Distributed Design Collaboration

Katherine M. Everitt, Scott R. Klemmer, Robert Lee, James A. Landay. Two Worlds Apart: Bridging the Gap Between Physical and Virtual Media for Distributed Design Collaboration. CHI 2003: ACM Conference on Human Factors in Computing Systems: pp. 553–60. [pdf]
——

A tension exists between designers’ comfort with physical artifacts and the need for effective remote collaboration: physical objects live in one place. Previous research and technologies to support remote collaboration have focused on shared electronic media. Current technologies force distributed teams to choose between the physical tools they prefer and the electronic communication mechanisms available. We present Distributed Designers’ Outpost, a remote collaboration system based on The Designers’ Outpost. The system provides a shared workspace that employs physical Post-it notes as interaction primitives. We implement and evaluate two mechanisms for awareness: transient ink input for gestures and a blue shadow of the remote collaborator for presence. We informally evaluated this system with six professional designers. Designers were excited by the prospect of synchronous remote collaboration but found some coordination challenges with the interaction with shared artifacts.

Fujaba: a public domain case tool for UML

The primary topic of the Fujaba Tool Suite project is to provide an easy to extend UML and Java development platform with the ability to add plug-ins. Fujaba Tool Suite combines UML class diagrams and UML behaviour diagrams to a powerful, easy to use, yet formal system design and specification language. Furthermore the Fujaba Tool Suite supports the generation of Java sourcecode out of the whole design which results in an executable prototype, ideally. Moreover the way back is provided, too (to some extend so far), so that Java sourcecode can be parsed and represented within UML.

Tags: , ,

Notes from the last meeting with M. Rajman

Notes from the last meeting with M. Rajman (30.5.2006)

Standard Information Retrieval techniques provide a solid treatment of computation of similarity and ranking based on well tested and accepted methodologies. In a multidimensional space, similarity between two points is computed as the angle between the vectors representing the two points. This is called Cosene Similarity.

Standard IR measures for ranking similarities use enhanced variants of the tf*idf formula called BM25 (a.k.a. “Okapi”) and Deviation From Randomness, DFR (a.k.a. “Prosit”).

One of the advices of Dr. Rajman was to rely on these standard Information Retrieval techniques instead of spending energies trying to implement a new ranking system. It is possible to use a standard platform for Information Retrieval as “Terrier” that allows to used these standard solutions.

As a second step in the discussion we talked about the Multidimensional Filtering. One of the objectives of the thesis, in fact, is the definition of a criterion for mixing different types of relevance that we are considering (i.e., semantic relevance; geographic relevance; popularity / social relevance; etc.). These different features are not compatible or comparable, so one of the ideas is to not try to mix them.

We can use a technique called sequence filtering which works on the principle that: “rejection is local and acceptance is global”. The principle is based on the idea that we should start filtering using the feature that discriminates the most, and then move to the next feature. In other words this method allows taking into account all the features without mixing them in a particular fashion.

As a third step in the discussion, Dr. Rajman illustrated his view on another big challenge on the acceptance of the relevant document. In fact, the ultimate step for defining the criterion of acceptance of a certain feature is the definition of the boundaries of acceptance.

In a continuum of distribution of relevance in the document set, we need to define how to define acceptance. This can be achieved on the Relevance axis using a Rmin boundary or on the document axis, using a k-best factor over the ordered distribution of relevance in the document set. A combination of these criteria is also possible. One of the big challenges for my thesis work would be to infer experimentally these bounding limits.

To summarise the challenges of my thesis work are: 1) the selection of the relevant features necessary for the retrieval process; 2) an user study to define the acceptance boundaries for the retrieval process; and 3) the final validation of these parameters through an experimental study.

Tags: , , ,

SHriMP: a visualization technique for exploring software architecture

SHriMP is both an application and a technique, designed for visualizing and exploring software architecture and any other information space. SHriMP (Simple Hierarchical Multi-Perspective) is a domain-independent visualization technique designed to enhance how people browse and explore complex information spaces. Among the applications we are actively exploring is the exploration of large software programs, and the understanding of complex knowledge-bases (via the Protégé tool).

Technorati Tags:

Olympic Peninsula, Port Townsend and Hurricane Ridge

This week end we visited the Olympic Peninsula, the huge piece of land in front of Seattle. It was a great experience. We took the ferry from Edmond to Kingston that was worth the price. Then we visited Port Gamble where we could participate in the reconstruction of the American civil war. After we left for Port Townsend a Victorian-style village on the north edge of the peninsula.

In Port Townsend we lodged at the Manresa Castle, home of the first mayor of the village and after center for religious studies of the Jesuit. We ate at Finns [review], a gorgeous restaurant on the seaside. The seafood was excellent. I had Crab cakes and Alaskan wild salmon: yum!

The biggest attraction of this w.e. though was Hurricane Ridge: an American National Park with its visitor center at 5200 foot of hight! The view was just astonishing. We could also hike a bit with the stroller.

Img 2474  Img 2492

Img 2427  Img 2428

Relo: Helping Users Manage Context during Interactive Exploratory Visualization of Large Codebases

Vineet Sinha, David Karger, Rob Miller, “Relo: Helping Users Manage Context during Interactive Exploratory Visualization of Large Codebases”, OOPSLA’05 Eclipse Technology eXchange (ETX) Workshop. Oct. 16-20, 2005, San Diega, California, USA. 5 pages. [pdf]
———-

As software systems grow in size and use more third-party libraries and frameworks, the need for developers to understand unfamiliar large codebases is rapidly increasing. In this paper, we present a tool, Relo, that supports developers understanding by allowing interactive exploration of code. As the developer explores relationships found in the code, Relo builds and automatically manages the context in a visualization, thereby helping build the developers mental representation of the code. Developers can group viewed artifacts or use the viewed items to ask Relo for further exploration suggestions. Relo is built as an Eclipse plug-in integrated into the Java Tooling (JDT), and uses a standard, RDF, based backend allowing for maintaining code relationships and performing inferences about the relationships.