Presentation is loading. Please wait.

Presentation is loading. Please wait.

2005WICSA 20051 Towards an Operational Framework for Architectural Prototyping Klaus Marius Hansen Henrik Bærbak Christensen Author Department of Computer.

Similar presentations


Presentation on theme: "2005WICSA 20051 Towards an Operational Framework for Architectural Prototyping Klaus Marius Hansen Henrik Bærbak Christensen Author Department of Computer."— Presentation transcript:

1 2005WICSA 20051 Towards an Operational Framework for Architectural Prototyping Klaus Marius Hansen Henrik Bærbak Christensen Author Department of Computer Science University of Aarhus Denmark

2 2005WICSA 20052 What is an architectural prototype? Definition: An architectural prototype consists of a set of executables created to investigate architectural qualities related to concerns raised by stakeholders of a system under development. Architectural prototyping is the process of designing, building, and evaluating architectural prototypes. Bardram, Christensen, Hansen: WICSA 2004

3 2005WICSA 20053 Characteristics –architectural prototypes are constructed for exploration and learning of the architectural design space. –architectural prototyping addresses issues regarding architectural quality attributes in the target system. –architectural prototypes do not provide functionality per se. –architectural prototypes typically address architectural risks. –architectural prototypes address the problem of knowledge transfer and architectural conformance. The focus here is on this construction phase

4 2005WICSA 20054... what is the process? Investigation of the AP process itself Interesting from two perspectives: Practical perspective –1 st : Provide a operational framework for practitioners define concrete steps, provide examples “how do I start?, what do I do next?, why should I do this?” Research Perspective –2 nd : Define terminology and conceptual framework research perspective

5 2005WICSA 20055 Case Activity-Based Computing (ABC) –Suspending the set of running applications at any point in time ( the activity ) –Resuming the set at any computer at any point later in time Handling large sets of parallel activities Supports nomadic, hectic, interrupted work. Envisioned to support clinicians in hospitals. Computer X Computer Y State space in XML suspend resume

6 2005WICSA 20056 Example To handle state management the ABC architecture require all ABC services to implement: A) Easy for ABC client middleware B) But tedious for ABC service developers! public interface Statefull { XmlNode getState(); void setState(XmlNode node); } foreach (ABCService s) { xml += s.getState(); }

7 2005WICSA 20057 Example Result: ABC Architecture as a whole suffers –high development cost –low reliability –low maintainability Proposal: –The ABC should provide (semi) automatic state management support as default. To: –strengthen overall reliability and maintainability –lower cost

8 2005WICSA 20058 Observations Architect isolated architectural problem in separate executables –architectural problem faithfully preserved –everything else abstracted away –example: ABC (41.000 LOC C# & Java)  TestSetGetAP (175 LOC) –reason: sandboxing problem, fast experimental cycle Architecture evolved solutions through iterations –often isolating architectural sub problems Architect used best solutions in original context

9 2005WICSA 20059 Architectural process Harvesting: –The process of extracting architecturally significant code/behavior or knowledge from a super-AP to a sub-AP Retrofitting: –The process of inserting architecturally significant code/behavior or knowledge from a sub-AP into a super-AP.

10 2005WICSA 200510 Summary Architectural prototyping –using executable systems as means for design exploration and evaluation –used in practice (limited empirical data) The process of doing AP –what are the steps? what characterizes them? what are the options? when to one or the other step? Start of tentative framework –Harvesting and retrofitting as process patterns available for architects –Hierarchical / recursive process

11 2005WICSA 200511 Thank you for your attention.

12 2005WICSA 200512 Detail section The case

13 2005WICSA 200513 Case study First tentative framework based on case study in ABC (Activity-Based Computing). We followed an architect addressing a specific challenge: –new architecture for state management in ABC –quality attributes drivers: automation will give higher reliability, lower maintenance, lower development cost Problem: Large code base, slow turn-around Computer X Computer Y State space in XML suspend resume

14 2005WICSA 200514 Status Presently –TestSetGetAP: 850 LOC –Staff hours: 53 Buildability property –Small code size, quick edit-compile-test cycle has made experimentation and learning easy. –“Works”. Handles transitive closure of annotated objects. Other quality attributes pending...

15 2005WICSA 200515 Architectural Prototyping In perspective

16 2005WICSA 200516 Discussion The concept “Prototype” in architecture –executable architectural prototype [RUP] eliminate major risks, skeletal systems supporting incremental construction of system –skeletal system [Bass et al.] Once an architecture is sufficiently designed […], a skeletal system can be constructed. That is – emphasis on skeletal system to grow in the construction phase… In contrast, we propose APs as learning vehicles and technique in the analysis phase…


Download ppt "2005WICSA 20051 Towards an Operational Framework for Architectural Prototyping Klaus Marius Hansen Henrik Bærbak Christensen Author Department of Computer."

Similar presentations


Ads by Google