Hi Pierce,
I have created the link. The link is as follows :

https://docs.google.com/document/d/1k_vjIiLIdvZh470HCDAqxJoj8EKq4V7n0wPe2O538eg/edit?usp=sharing

I have created the draft under the GSoC proposal site under Apache
foundation with the same title.
I have provided commenting and suggesting privileges.


Regards,
Abhishek Jain

On Mon, Mar 21, 2016 at 4:50 PM, Pierce, Marlon <[email protected]> wrote:

> Hi Abhishek,
>
> This is a good start but it will be easier to manage comments if you go
> ahead and start a draft proposal in the GSOC 2016 submission site.  I
> prefer the google doc option to pointing to the Airavata wiki for proposal
> development since I can easily comment inline.  Please make sure you give
> commenting and suggesting privileges.
>
> Marlon
>
>
> From: Abhishek Jain <[email protected]>
> Reply-To: "[email protected]" <[email protected]>
> Date: Monday, March 21, 2016 at 10:37 AM
> To: "[email protected]" <[email protected]>
> Subject: [GSoC Proposal] - Re-Factoring Apache Airavata Codebase to
> incorporate well-known object-oriented Design patterns and principles
>
> Hi Dev Team,
>
> Please review the following GSoC proposal that I plan to submit:
>
> *Title**:* Re-Factoring Apache Airavata Codebase to incorporate
> well-known object-oriented Design patterns and principles
>
> *Abstract:*
>
> Analyze the Airavata code base to incorporate well known creational,
> structural, and behavioral design patterns. As the Airavata code base has
> steadily grown over the years, this project will evaluate the architecture
> and make updates wherever necessary so that the code uses classic, well
> tested, maintainable, readable, and extensible solutions to common design
> problems.
>
> *Introduction:*
>
> Analyze the Airavata code base to incorporate well known creational,
> structural, and behavioral design patterns. As the Airavata code base has
> steadily grown over the years, it consists of both old and new modules.
> While the Airavata codebase has been extensively tested for functionality,
> it has not been evaluated for design elegance. Given the maturity of the
> current code base, it is the appropriate time to study and evaluate which
> well-known patterns seem to emerge from all the additions of modules and
> features.
>
> This project will evaluate the architecture, refactor the code wherever
> appropriate, and make updates wherever necessary so that the code uses
> classic, well tested, maintainable, readable, loosely coupled, and
> extensible solutions to common design problems.  The application of
> patterns will also ensure that the established design principles and
> guidelines are followed in all the modules.
>
> The current use cases of Airavata, including the planned integration with
> Cloud and Big Data technologies, will be studied to identify the common
> traits of the problems being addressed by Airavata, and incorporate or
> adjust the code patterns accordingly. For example, as Airavata is extended
> for use in Cloud environments, and different components, some with multiple
> implementation choices, have to be wired together, the Dependency Injection
> pattern is appropriate for modularity, and loosely coupled designed. The
> Logger code in Airavata can be extended to include levels to capture the
> severity of messages, errors, and exceptions.  Additionally, the code will
> be updated to use newer Java features such as lambda expressions.
>
> *Goals:*
>
>    -
>
>    Develop a dependency graph of all the modules in the Airavata code base
>    -
>
>    Evaluate how the components are wired for a successful job launch to
>    understand the coupling of objects (loosely coupled vs tightly coupled)
>    -
>
>    Evaluate the current use of patterns and well-known design principles
>    in Airavata and make updates whenever necessary along with updates to the
>    test suites
>    - Evaluate the design patterns and principles of newly added services
>    such as adding email functionality to send job status messages, integration
>    of support for Cloud environments such as Mesos, Marathon, and Aurora, and
>    accordingly update the code with proven design solutions.
>
>
>
> Any comment and suggestions would be very helpful.
>
>
> - Abhishek Jain
>

Reply via email to