13 - Case Study: DYNAMO www.cc.gatech.edu/dynamo Kurt...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
Case Study: DYNAMO www.cc.gatech.edu/dynamo • Kurt Stirewalt and Spencer Rugaber. "Automated Invariant Maintenance Via OCL Compilation." Lionel C. Briand and Clay Williams, editors, Model Driven Engineering Languages and Systems, Springer-Verlag, Lecture Notes in Computer Science, Number 3713, pp. 616-632, October 2-7, 2005, Montego Bay, Jamaica.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Architectural Design Process • We have talked so far about various representations that can be used for expressing architectures • But we haven't indicated yet what process might be used to actually perform architectural design • The following case study presents one approach that combines top down and bottom up techniques • Note that it makes use of UML to describe architecture in a way that could be enforced using metamodel OCL constraints
Background image of page 2
Case Study: Text Browser • Consider the hypothetical situation where you must solve the following problem: – You have a source of textual data ( Document ) with a file system interface ( FileManager ) – You have a resizable viewing window resource capable of displaying lines of text ( ViewPort ) – You have a controlling device ( ScrollBar ) capable of selecting a discrete value via a handle • The objective is to specify the properties of the TextBrowser , choose an architecture and assemble the components
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Phase 0 • Construct a context diagram for the TextBrowser • Indicate external actors but only one activity, the TextBrowser itself • Indicate external stimuli ( events ) that can effect the TextBrowser • Indicate how the TextBrowser communicates its results back to the external actors ( percepts ) • Specify, in English, the properties you want the TextBrowser to have
Background image of page 4
Phase 0 User {The moveHandle event changes the position of the handle in the scrollbar tray} {The resizeWindow event changes the height of viewport} +contents : sequence(line) Document {The viewport presents the maximum consecutive subsequence of whole lines from the document that fit} {The position of the top of the scrollbar handle with respect to the scrollbar tray reflects the position in the document of the top line currently visible in the viewport} {The size of the scrollbar handle with respect to the size of the scrollbar tray indicates the portion of the document's lines visible in the viewport} +height : int +viewContents : sequence(line) +handleSize : int +handlePosition : int TextBrowser resizeWindow(newSize : int) moveHandle(newPosition : int) Note that certain subtleties are being elided, for example, zero length files
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
The ViewPort displays the maximal consecutive subsequence of complete lines from the Document that fit within it The position of the top of the ScrollBar handle relative to the ScrollBar tray reflects the position in the document of the line currently visible at the top of the ViewPort . That is, moving the ScrollBar handle allows different portions of the Document to be displayed The size of the ScrollBar handle with respect to the
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 05/03/2010 for the course SA 5010 taught by Professor Spen during the Spring '10 term at Asian Institute of Management.

Page1 / 26

13 - Case Study: DYNAMO www.cc.gatech.edu/dynamo Kurt...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online