Dr Rami Bahsoon

Lecturer in Software Engineering

School of Computer Science

The University of Birmingham

 

 

 

Home   Profile   Research   Publications   Teaching   ArchOptions  

 

Archptions

Suggestions for BSc/MSc  Projects

2003/2004

Suggestion 1:

(Note:- Concluded 2004 at University College London, resulted in a Journal Article to IEE Proceedings Software in 2005)

 

Using ArchOptions to Inform the Selection of Software Architectures Induced by Middleware: An Empirical Study 

 

1   Supervision & Contact

  • Rami Bahsoon
  • Wolfgang Emmerich, UCL

 

2  Objectives

The project aims to empirically investigate the flexibility/stability of software architectures induced by selected middleware using ArchOptions [1]. The investigation aims to demonstrate a way to inform the selection of middleware(s) taking into consideration the added value and the future options they provide to the software architecture induced. The investigation will give a special attention to the quantification of options taking the form of contribution to Quality of Service (QoS) and/or ease of deployment.   

3  Motivating Example 

As a motivating example from [2], consider a distributed software architecture that is to be used for providing the back-end services of an organization. These architectures will be built on middleware. Depending on which middleware are chosen, different architectures will be induced [3]. These architectures will have differences in how well the system is going to cope with changes. For example, a CORBA-based solution might meet the functional requirements of a system in the same way as a distributed component-based solution that is based on a J2EE application server. A notable difference between these two architectures will be that increasing scalability demands might be easily accommodated in the J2EE architecture because J2EE primitives for replication of Enterprise Java Beans can be used, while the CORBA-based architecture will not easily scale. Thus, when selecting an architecture the question arises whether an organization wants to invest into an J2EE application server and its implementation within an organization or whether it would be better off implementing a CORBA solution. Answering this question without taking into account the flexibility that the J2EE solution provides and how valuable this flexibility will be in the future might lead to making the wrong choice.

For another motivating example, refer to the architectural stability section of Emmerich [4].

4   Benefits to the interested student(s)  

·          Familiarize the interested student(s) with at least two or more middleware technologies,

·          Provide a “taste” of  research in distributed software architectures induced by middleware,

·         Train in performing empirical studies taking an economic/value-based reasoning approach,

·         Provide a “taste” of software metrics with the encouragement to develop their own (more focused and suitable for the architecture/middleware level) as the project proceeds and motivated by the case under investigation,

5   Pre-requisite

  •  Preferably graduate standing,
  •  Familiarity with one or more middleware technologies is preferable but not a must,
  • Good programming and analytical skills,
  • Have the potential and the patience for conducting an empirical work (training/help will be provided).

6  A Rough Sketch of the Intended Experiment   

1.      Select one or more (distributed application) e.g. e-shopping,

2.      Specify the requirements and craft the architecture,

3.      Implement the crafted architecture using two or more middleware technologies (e.g. EJB, CORBA).  Obviously, you need to choose specific technology so that the comparison can make sense,

4.      Specify some likely changes that may occur in the future. For this project, you need to focus on changes in QoS and deployment strategies through the evolution of the software system.  You may need to write change scenarios that exemplify these changes. (Alternatively, you may freeze some of the requirements specified in (2) and consider these as likely future changes),

5.      Your objective is to quantify the added value of the architecture’s responsiveness (induced by the selected middleware) to accommodating these changes. To achieve (5), you may need to instrument the application to calculate some metrics (to quantify changes in QoS dimensions and deployment).  You may use or tailor existing metrics with the assumption that interpretation holds with respect to the architecture. Alternatively, you may develop your own metrics,

6.      Along with point 5, you have to estimate the cost of accommodating these changes. Again, you may use existing metrics (like COCOMO 2) or develop your own metrics when necessary,

7.      Points (5) and (6) lead to the quantification of two important parameters of ArcOptions (namely the cost and value of the architecture responsiveness to the change). Apply the ArchOption model to understand the options provided by each architecture induced by the selected middleware. Again, the options of interest for this case study are on QoS dimensions and ease of deployment,

8.      Report your results,

9.      Interpret and discuss (8) based on what you have observed and what the ArchOptions model reported. You may need to report any threats to validity and the sensitivity of the obtained results to any assumptions made.

7  The Structure of the Student’s Report or her/his Thesis (to-be)  

1.      Introduction – Scope, Motivations, and Objectives,

2.      Review of basic middleware technologies utilized in the experiment  and their software architecture use,

3.      Experimental Description

·         Application to be used,

·         Requirements,

·         Architectures,

·         Change Scenarios with particular focus on changes in QoS and deployment strategies,

·         Experimental Set-up (this includes the experimental assumptions adopted to make the comparison between the selected middlewares feasible. Also, the adopted or developed metrics to quantify the changes, instrumentation to quantify the added value, and ways to estimate the cost to accommodate the changes,

4.      Applying ArchOptions,

5.      Experimental results,

6.      Discussion (including limitations, sensitivity analysis and threats to validity)

7.      Conclusions and further work.

8  Originality & Possible Contributions

·         Empirical study of software architecture induced by middleware using economic/ value based- reasoning (first study of its kind) with the prospect of reporting it to a technical journal- of empirical/maintenance nature

9   Some Selected Readings (to start with)

1.   Bahsoon, R., Emmerich, W.: ArchOptions: A Real Options-Based Model for Predicting the Stability of Software Architecture. In:  Proceedings of the Fifth Workshops on Economics-Driven Software Engineering Research, EDSER 5, held in conjunction with the 25 th International Conference on Software Engineering  (2003)

2.    Bahsoon, R.: Evaluating Software Architectures for Stability: A Real Options Approach. Research Abstract In: Proceedings of the Doctral Symposium of  the 25 th International Conference on Software Engineering  (2003)

3.    Di Nitto, E. and Rosenblum, D.: Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures. In: Proceedings of the 21st Int'l Conf. on Software Engineering (1999) 13-22

4.   Emmerich, W.: Distributed Component Technologies and their Software Engineering Implications. In: Proceedings of the 24th Int.Conference on Software Engineering, Orlando, Florida (2002) 537-546

5.   Emmerich, W.: Software Engineering for Middleware: a roadmap In A. Finkelstein(ed): The Future of Software Engineering, ACM Press (2000)

6.   Nuseibeh, B., Kramer, J., Finkelstein, A.: A Framework for Expressing the Relationships between Multiple View in Requirements Specification. Transactions of Software Engineering, Vol. 20(10). (1994) 760-773

10  Related Links

  • ArchOptions Project web page

 

Suggestion 2- (Suitable for BSc Project)

  • Building a tool to support ArchOptions: very basic interactive spreadsheet-like tool to support evaluating software architectures for stability and evolution. More details will be provided to the interested student.

 

 

 Wall Street Pays Back:

 ArchOptions... 

 

People involved:

Dr Rami Bahsoon

Prof Wolfgang Emmerich(University College London)

 

 

 

 

 

 

For your feedback contact

Dr Rami Bahsoon

r.bahsoon@cs.bham.ac.uk

 

 

 

 

The University of Birmingham, Edgbaston, Birmingham, B15 2TT, UK
© copyright of The University of Birmingham