Next Issue
Volume 1, June
 
 

Software, Volume 1, Issue 1 (March 2022) – 6 articles

Cover Story (view full-size image): It is common knowledge among computer scientists and software engineers that building robotics systems is hard. The process includes applied and specialized knowledge from various scientific fields such as mechanical, electrical and computer engineering as well as physics, among others. This work proposes a novel, resource-oriented architecture supporting the rapid development of robot-agnostic applications. The contributions stem from the methodology and model-driven middleware built, which can be used to provide remote robot-agnostic interfaces to support robotics application development from citizen developers by reducing hand-coding and technical knowledge requirements. This way, non-robotics experts will be able to integrate robotics in a wide range of application domains in the context of cyber-physical systems. View this paper.
  • Issues are regarded as officially published after their release is announced to the table of contents alert mailing list.
  • You may sign up for e-mail alerts to receive table of contents of newly released issues.
  • PDF is the official format for papers published in both, html and pdf forms. To view the papers in pdf format, click on the "PDF Full-text" link, and use the free Adobe Reader to open them.
Order results
Result details
Select all
Export citation of selected articles as:
39 pages, 1386 KiB  
Article
Athlos: A Framework for Developing Scalable MMOG Backends on Commodity Clouds
by Nicos Kasenides and Nearchos Paspallis
Software 2022, 1(1), 107-145; https://doi.org/10.3390/software1010006 - 07 Mar 2022
Viewed by 4581
Abstract
The development of resource-intensive, distributed, real-time applications like Massively Multiplayer Online Game (MMOG) backends entails a variety of challenges, some of which have been extensively studied. Despite some advancements, the development and deployment of MMOG backends on commodity clouds and high-level computing layers [...] Read more.
The development of resource-intensive, distributed, real-time applications like Massively Multiplayer Online Game (MMOG) backends entails a variety of challenges, some of which have been extensively studied. Despite some advancements, the development and deployment of MMOG backends on commodity clouds and high-level computing layers continues to face several obstacles, including a non-standardized development methodology, lack of provisions for scalability, and the need for abstractions and tools to support the development process. In this paper, we describe a set of models, methods, and tools for developing scalable MMOG backends and hosting them on commodity cloud platforms. We present Athlos, a framework that allows game developers to leverage our methodology to rapidly prototype MMOG backends that can run on any type of cloud environment. We evaluate this framework by conducting simulations based on several case-study MMOGs to benchmark its performance and scalability, and compare the development effort needed, and quality of the code produced with other approaches. We find that MMOGs developed using this framework: (a) can support a very high number of simultaneous players under a given latency threshold, (b) elastically scale both in terms of runtime and state, and (c) significantly reduce the amount of effort required to develop them. Coupled with the advantages of high-level computing layers such as Platform, Backend, and Function-as-a-Service, we argue that our framework accelerates the development of high-performance, scalable MMOGs, that leverage the resources of commodity cloud platforms. Full article
Show Figures

Figure 1

27 pages, 5822 KiB  
Article
The MESSIR Flexible Scientific Approach to Requirements Engineering
by Nicolas Guelfi
Software 2022, 1(1), 80-106; https://doi.org/10.3390/software1010005 - 07 Mar 2022
Viewed by 3245
Abstract
Among the software engineering development phases, requirements engineering is the one that has the most impact on project success or failure. To be executed in various contexts, there is an important need for flexibility and efficient tool support. A flexible requirements engineering method [...] Read more.
Among the software engineering development phases, requirements engineering is the one that has the most impact on project success or failure. To be executed in various contexts, there is an important need for flexibility and efficient tool support. A flexible requirements engineering method should include several levels allowing for more or less completeness and precision. Some project contexts would need a lightweight activity using structured natural language but still being guided and grounded partly on professional standards. Some more advanced projects would need more complete requirements documents and would benefit from a description language based on scientific notions allowing for better precision for specific system operations. Some business or safety critical systems would need an approach allowing for requirements simulation and verification. Requirements engineering education is an important objective to prepare future engineers to understand those requirements engineering needs and be prepared for practice in a professional setting. In the last five years, we have developed a requirements engineering method called Messir with a tool Excalibur and experiments in academia have been made to see how it was solving actual software engineering problems focusing first on requirements engineering education. Messir components represent in themselves some improvements w.r.t. the state of the art of the “standard” theories, methods and tools, mainly by introducing an improved requirements engineering process, language and verification support based on executable requirements specifications. Furthermore, the Messir approach solves also some actual problems related to software engineering education by offering a product line framework for setting up or improving courses in computer science curricula. The main result being to contribute to develop the software engineering capabilities of engineers and scientists that feed the job market in industry, research or education. Full article
Show Figures

Figure 1

27 pages, 1333 KiB  
Article
A Framework for Rapid Robotic Application Development for Citizen Developers
by Konstantinos Panayiotou, Emmanouil Tsardoulias, Christoforos Zolotas, Andreas L. Symeonidis and Loukas Petrou
Software 2022, 1(1), 53-79; https://doi.org/10.3390/software1010004 - 03 Mar 2022
Cited by 2 | Viewed by 5314
Abstract
It is common knowledge among computer scientists and software engineers that ”building robotics systems is hard”: it includes applied and specialized knowledge from various scientific fields, such as mechanical, electrical and computer engineering, computer science and physics, among others. To expedite the development [...] Read more.
It is common knowledge among computer scientists and software engineers that ”building robotics systems is hard”: it includes applied and specialized knowledge from various scientific fields, such as mechanical, electrical and computer engineering, computer science and physics, among others. To expedite the development of robots, a significant number of robotics-oriented middleware solutions and frameworks exist that provide high-level functionality for the implementation of the in-robot software stack, such as ready-to-use algorithms and sensor/actuator drivers. While the aforementioned focus is on the implementation of the core functionalities and control layer of robots, these specialized tools still require extensive training, while not providing the envisaged freedom in design choices. In this paper, we discuss most of the robotics software development methodologies and frameworks, analyze the way robotics applications are built and propose a new resource-oriented architecture towards the rapid development of robot-agnostic applications. The contribution of our work is a methodology and a model-based middleware that can be used to provide remote robot-agnostic interfaces. Such interfaces may support robotics application development from citizen developers by reducing hand-coding and technical knowledge requirements. This way, non-robotics experts will be able to integrate and use robotics in a wide range of application domains, such as healthcare, home assistance, home automation and cyber–physical systems in general. Full article
Show Figures

Figure 1

22 pages, 341 KiB  
Article
Ethical Issues in Software Requirements Engineering
by Seblewongel Esseynew Biable, Nuno Manuel Garcia, Dida Midekso and Nuno Pombo
Software 2022, 1(1), 31-52; https://doi.org/10.3390/software1010003 - 18 Feb 2022
Cited by 3 | Viewed by 7366
Abstract
Context: Ethics have broad applications in different fields of study and different contexts. Like other fields of study, ethics have a significant impact on the decisions made in computing concerning software artifact production and its processes. Hence, in this research, ethics is [...] Read more.
Context: Ethics have broad applications in different fields of study and different contexts. Like other fields of study, ethics have a significant impact on the decisions made in computing concerning software artifact production and its processes. Hence, in this research, ethics is considered in the context of requirements engineering during the software development process. Objective: The aim of this paper is to discuss the investigation results regarding ethical problems of requirements engineering processes by taking sample software developing companies and exposing existing research gaps. Method: This research uses interviewing, focus group discussions, purposive sampling, and qualitative analysis research methods. Result: This research finds an absence of industry practices, professional responsibility code of conduct standards, and other guidelines within companies when integrating ethical concerns of software during requirements engineering. It also indicates that almost all companies have no identification methods and checking mechanisms for ethical concern considerations. Furthermore, the major identified ethical concerns are classified into six categories as requirements identification problems, quality-related problems, carrying out unpermitted activities, unwillingness to give requirements, knowledge gaps and lack of legal grounds/rules for accountability. Conclusion: From the findings of this research, it can be concluded that, in the case software companies, there is no specific method for identifying ethical concerns. Additionally, there are no standards and guidelines used within the companies. This implies the need to overcome the existing and emerging ethical issues of requirements engineering. Full article
28 pages, 388 KiB  
Review
Automated Code Assessment for Education: Review, Classification and Perspectives on Techniques and Tools
by Sébastien Combéfis
Software 2022, 1(1), 3-30; https://doi.org/10.3390/software1010002 - 08 Feb 2022
Cited by 17 | Viewed by 8996
Abstract
Automatically assessing code for learning purposes is a challenging goal to achieve. On-site courses and online ones developed for distance learning both require automated ways to grade learners’ programs to be able to scale and manage a large public with a limited teaching [...] Read more.
Automatically assessing code for learning purposes is a challenging goal to achieve. On-site courses and online ones developed for distance learning both require automated ways to grade learners’ programs to be able to scale and manage a large public with a limited teaching staff. This paper reviews recent automated code assessment systems. It proposes a systematic review of the possible analyses they can perform with the associated techniques, the kinds of produced feedback and the ways they are integrated in the learning process. It then discusses the key challenges for the development of new automated code assessment systems and the interaction with human grading. In conclusion, the paper draws several recommendations for new research directions and for possible improvements for automatic code assessment. Full article
Show Figures

Figure 1

2 pages, 455 KiB  
Editorial
Software—A New Open Access Journal on Software Engineering
by Pekka Abrahamsson and Tommi Mikkonen
Software 2022, 1(1), 1-2; https://doi.org/10.3390/software1010001 - 06 Jan 2022
Cited by 2 | Viewed by 2549
Abstract
Software (ISSN: 2674-113X) [...] Full article
Next Issue
Back to TopTop