13
Green Software Engineering Sheryl John Introducing green elements and guidelines in Software Engineering

Green Software Engineering Sheryl John Introducing green elements and guidelines in Software Engineering

Embed Size (px)

Citation preview

Green Software Engineering

Sheryl John

Introducing green elements and guidelines in Software Engineering

Why Go Green??

Why Green Software Engineering??

• Green IT is a holistic approach that applies to green concepts to IT and hardware.• Some of the areas that Green IT focuses are: a. power management b. server virtualization c. Data center design layout

• Green software engineering is an approach that applies the “green” principles known from hardware products on to software product, product life cycles and processes.

• We need to models or steps to implement these steps in software engineering or product development to produce green and sustainable software.

Definitions

• Green software engineering is an approach to developing, operating and maintaining sustainable software that recognizes and counteracts the threats to the environments.

• Sustainable software is software whose direct and indirect negative results impacts on economy, society, human beings and environment that result fromm development, deployment, and usage of the software and/ or has positive effects on sustainable development.

Ongoing research

• Green Software Engineering(GREENSOFT) is an ongoing project undertaken by Institute of Software Systems of the University of Applied Science Trier (Germany).

• They have developed a conceptual reference model for the sustainable development and usage of software:

Application of the reference model to ICSM (CSCI-577ab projects)• The development model for Sustainable Software Engineering

spans from Product Definition to Disposal.

• In ICSM, we can integrate “green” principles in various activities that take place in each phase.

ICSM phases : Exploration Phase

• Additional role: Sustainable Software Expert -> can be integrated with the OCE.

• Activities and tasks: i. Explore the current system :

- Check for areas where Green IT can be applied. Eg. Virtualization - Reuse and Refurbish hardware after establishing hardware

requirements. - Propose new sustainable operational concept. E.g. Process that

will reduce paper work, reuse resources etc.

Exploration Phase Contd.

ii. Plan and Manage Project: - Project Manager : Assign a team member who will ensure

that the design with the material of technologies is directed towards sustainability. This is can be a separate role or integrated with the duties of the OCE.

- Business/Client meetings: Transportation to meetings

Valuation , Foundation and Rebaselined Phase - Focus on the energy-saving goals. - The benefits chain diagram should reflect the benefits that the

company will get by implementing the proposed sustainable system.

- QFP should ensure that the traceability of all requirements should match with the sustainable operational goals.

- Assess the feasibility of implementing the sustainable alternatives.- Optimize the development process to mitigate negative impacts or

enforce positive impacts.- Use tools or applications to what help analyze costs and benefits

of applying green elements in SE.

Development Phase( Construction and Transition):• As a developer, the following are some rules for writing greener

code( by Hamid Shojaee): - Faster code over future hardware : Use old machines and run code

with acceptable performance - Include environmental costs in cost analysis: This includes rack

costs, cooling costs, bandwidth costs, software costs. - Resolve critical areas: Go back and solve the code again and figure

out more efficient way to run the code. - Optimize graphical design elements, logos and photographs. - Optimize videos and animations. - For transition, provide videos for demos and e-copies of manuals.

Milestones/ Reviews

- Sustainability reviews which can take place along with the ARB before each phase.

- Stakeholders should look at the work done and assess results according to sustainability criteria.

- In the Operation Phase the following are some critical areas:• Hardware requirements• Memory and Processor usage during execution.

Conclusion

• Though Green software engineering is a relatively new field, it is slowly gaining popularity.

• Software engineers in industry should be encouraged to apply the principles.

• Since we are next generation of software engineers we should start integrating these guidelines while developing code/software.

• Possible areas of research in this field are developing metric and assessment tools that will enable developers and users of software system in monitoring the energy consumption or comparing the results of applying the green principles.

Go Green!!