Advanced Software Engineering: Assignment 1 and 2
Envisioning Software Engineering in 2060: Setting the Scene
The construction site of 2050 will be human-free. Robots will work in teams to build complex structures using dynamic new materials. Elements of the build will self-assemble. Drones flying overhead will scan the site constantly, inspecting the work and using the data collected to predict and solve problems before they arise, sending instructions to robotic cranes and diggers and automated builders with no need for human involvement. The role of the human overseer will be to remotely manage multiple projects simultaneously, accessing 3D and 4D visuals and data from the on-site machines, ensuring the build is proceeding to specification. The very few people accessing the site itself will wear robotically enhanced exoskeletons and will use neural-control technology to move and control machinery and other robots on site.
Today this vision may seem far-fetched. But consider the complex tasks performed by robots in a modern factory and it is not so hard to imagine such a future for the construction site. Indeed, in many areas of life the robots are not coming, they are already here.
From automated tills in supermarkets, to autonomous vehicles on roads and voice-activated technologies in our homes, digital technologies are changing the way we work, shop, travel and relax, how we interact with the world around us and how we think about, commission and build our infrastructure.
But behind all of these changes is software; software designed by humans.
However software is now increasingly being leveraged to design other software, in many cases replacing the role of humans. In other words, software is beginning to write itself.
So what would be the role of software engineers in 2050?
Title: The Future of Software Engineering: Visions of 2050 and Beyond
Imagine it is 2050 and you have been asked to propose a research direction for the next five years of your research program or organization. What will the state-of-the-art and state-of-the-practice of software engineering be in 2050? What will be the major problems and challenges then? What will be your visionary ideas for overcoming those problems and challenges?
To broadly answer these questions, this assignment is looking the following types of papers:
• Visionary forward looking research: exciting new directions or techniques that may have yet to be supported by solid experimental results, but nonetheless supported by strong and well argued scientific intuitions.
• Thought provoking reflections: bold and unexpected results and reflections that can help us look at current research directions under a new light, calling for fundamentally new directions of future research.
Therefore, you are encouraged to speculate on possible directions and the challenges faced by the research and software engineering community that needs to start now in order to be relevant tomorrow. The emphasis is on long-term challenges in software engineering research, and ideas for attacking these challenges. So, you are encouraged to present truly visionary concepts!
Some of these challenges include:
Smart Cities – according to the United Nations, currently more than 50 percent of the world’s population lives in cities, a number that is expected to increase to nearly 70% by 2050 and by 2100 humanity will almost be exclusively an urban species with 80 to 90 percent of people living in cities. Around 90% of this rural-urban migration is expected to occur in Africa, Asia and Latin America even though currently, Africa and Asia are home to nearly 90% of the world’s rural population. By 2100, the world population centres would have shifted to Africa, Asia and Latin America. In response, government and cities around the world are harnessing ICT and digital tools to transform their urban centers into Smart Cities.
The Internet of Things (IoT) – which implies a wide set of intertwined and interconnected devices and things to provide value to stakeholders. Software Engineering plays a key role in the IoT but what is the role of software and the specific challenges to overcome for success?
The Fourth Industrial Revolution (Industry 4.0) draws together Cyber Physical Systems, the Internet of Things and the Internet of Services whereby interconnections between machines, systems, assets and people will enable massive improvements in efficiency and performance. New technologies and approaches are merging the physical, digital, and biological worlds in ways that will fundamentally transform humankind. What are specific software engineering challenges?
Software Engineering in Society – what is the role and impact of software engineering in a sustainable society that is incrementally intertwined with ecological changes, social challenges, economic imperatives and technical demands and opportunities. In this sense, software will need to evolve, adapt to changing requirements, adapt to ever-changing society. The goal is to investigate the reasons for these trends, to analyze possible novel contributions from the Software Engineering community, and to identify novel research challenges that these disciplines pose to software engineering methods and practices.
This assignment answers three main questions:
1. What will the state-of-the-art and state-of-the-practice of software engineering be in 2050 and beyond?
2. What will be the major problems and challenges then?
3. What will be your visionary ideas for overcoming those problems and challenges?
This assignment is therefore seeking for a paper reporting case studies, experience reports, practices, approaches, techniques, and guidelines. The paper will be judged on the articulation of challenges that reach beyond the current state-of-the-art and state-of-the-practice, and on the likelihood that the ideas proposed can address those challenges and define new research directions
The assignment is in two parts.
PART A: 70% – Due in Week 10. This part can be co-authored, i.e. two authors
In this part of the assignment please discuss the current state-of-the-art and state-of-the-practice in software engineering and then identify some long-term challenges in software engineering research. You should then propose some ideas for overcoming those challenges and report some case studies, experience reports, practices, approaches, techniques, and guidelines that address the likelihood that the ideas proposed can address those challenges and define new research directions.
Each submission must not exceed 10 pages, including all text, appendices, figures, and references. Your paper should be in IEEE double column and the formatting instructions are available at https://www.acm.org/publications/proceedings-template for both LaTeX and Word users. Papers that fail to conform to these requirements will be rejected without review.
Submissions will be reviewed by at least two members. Each submission will be reviewed and evaluated in terms of the following quality criteria:
• Value: whether the problem is worth exploring (25%);
• Impact: the potential for disruption of current practice (25%);
• Soundness: the validity of the rationale (25%);
• Quality: the overall quality of the paper’s writing (25%)
PART B: 30% – Due in Week 10-12
Paper Presentation to an open invited audience in a conference setting. In this part of the assignment, you should prepare a professional power point oral presentation on your research paper. Your presentation should 30 minutes long including questions from the audience. The assessment will be performed according to the following criteria: quality of presentation (25%); clarity of presentation in line with the submitted paper (20%); quality and handling the Q & A session (30%); presentation style (25%)