SACRED: Software Approach for Collaboration and Research Dissemination

Collaborative research is an opportunity to bring creative minds together and blend multiple disciplines to churn out innovative solutions. In this era of massive social media and information overload, a streamlined process framework with best practices and procedures is a requirement for genuine scientific collaboration. The main aim of this work is to bring forth a software-centric framework for harmonizing research. SACRED is the outcome of experiences gained during the development of ‘ARMS’-An Analysis Framework for Mixed Criticality Systems. ARMS is a collaborative platform to disseminate research and literature in real-time mixed criticality systems. ARMS is hosted on Amazon Amplify with the user interface implemented using the ReactJS framework. SACRED summarizes the software-centric process, practices and procedures followed, and renders it for similar collaborations in the future.


INTRoDUCTIoN
"None of us is as smart as all of us" -Kenneth Blanchard The opportunity of connecting scientific and engineering minds in a collaborative fashion is a boon that yields stupendous results.In this era of information technology, collaborative research is feasible to a great extent as it brings together academicians and industrial engineers in smaller constellations.This provides multi-fold benefits to society and works as a stepping stone for budding researchers.The main challenges faced by a collaborative platform are: availability/approachability of domain expertise, proper division of labor among contributors, proper utilization of available skills, setting common goals among contributors, a common understanding among stakeholders, uniformity in work product, focused plan and regular updates to the community without losing zeal.In an effort to overcome these challenges, this paper presents a software approach that will harmonize research in a wider context.In other words, the work aims to bring the wealth of research contributions generated by diverse research groups under a common umbrella.
As part of this work, a group of mixed criticality systems (MCS) researchers launched a novel initiative platform -An Analysis Framework for MCS (ARMS), to build a large-scale research repository for enabling higher visibility of research results.ARMS aims at providing a framework to encourage collaboration between industry and academia thus enabling higher acceptance of research results by considering MCS as the test domain.It is a cloud-based platform designed for archiving, updating and reporting existing tasks models in MCS.The associated cloud-based database (DB) gets updated with on-going and new task models to keep up with recent and ever evolving research works.The ARMS platform compares and contrasts domain needs vis-a-vis with task models, attributes and presents a comprehensive landscape of the existing task model parameters in the mixed criticality domain.It also provides academicians and engineers the opportunity to choose task models appropriate to the specifics of the problem under study and provides a holistic view of chosen algorithms and models by analyzing, scheduling and generating statistics.The software-centric framework used in the development of ARMS is named -Software Approach for Collaboration and REsearch Dissemination (SACRED).
SACRED provides a detailed step-by-step software-centric approach that consists of three phases namely, setup, rollout and collaboration.The setup phase includes a systematic literature review, that results in identification, grouping and clustering of task parameters based on usage scenarios and functional attributes.It includes a multi-vocal literature review consisting of published works, grey literature and industrial contributions.The rollout phase launches the ARMS framework for stakeholder's use.It is a three-stage process, consisting of platform finalization, design & development and validation & deployment of the cloud-based framework.The collaboration phase provides facility for pursuits and distribution.It further helps in establishing partnerships that allow comparison of existing research results and facilitates in performing regular updates.The software-centric processes, practices and procedures followed in the development of ARMS is extensible to other domains/ disciplines wherever collaborative research yields benefits.
The paper is organized as follows: Section 2 presents related literature on collaborative platforms.Section 3 provides the software process followed by SACRED.Section 4 presents a case study of the SACRED process applied to the cloud-based aggregator platform ARMS.Section 5 lists the challenges faced/best practices followed in SACRED and a comparative analysis with other collaborative platforms and Section 6 concludes the work.

RELATED woRKS
Software development requires innovation, collective intelligence and collaboration of many minds.Collaborative platforms encourage association between industry and academia thus enabling dissemination of research results.A large number of collaborative platforms (Beck et al., 2022;Borgho & Teege, 1993;Brownson et al., 2021;Chorfi et al., 2022;Gesing et al., 2019;Khan et al., 2021;Lautamäki et al., 2012;McLennan & Kennell, 2010;Monnard et al., 2021;Stodden et al., 2012) have been presented in literature over the years.HUBzero (Gesing et al., 2019;McLennan & Kennell, 2010) is one such platform that allows researchers to collaborate and network to develop simulation/modeling tools.These tools are made accessible to the community through the web browser and launched in a grid infrastructure.Borgho and Teege (1993) presented a collaborative editor for managing software engineering projects.The editor provides facility for distributed editing, notifications and imparts consistency through dynamic voting.A web based java editor was proposed by Lautamäki et al. (2012) to support collaboration for development of java applications.The online editor provided support for error detection, automatic code generation and social media features.Another collaborative platform to enhance programming skills was presented by Chorfi et al. (2022).Geographically distributed learners were able to interact with one another and with mentors to solve problems and develop shared programs.Beck et al. (2022) proposed an interdisciplinary collaborative research framework to disseminate innovations in the field of science.An approach to disseminate research on public health among the general and research community was proposed by Monnard et al. (2021).Mentored training for distributing cancer research is discussed in Brownson et al. (2021).Khan et al. (2021) studied the adoption of collaborative learning through social media during the Covid-19 pandemic.The work aimed at understanding the correlation between student performance and social media use, to comprehend the impact of social media on students during the pandemic.Stodden et al. (2012) pointed out that the research results presented in various works are unavailable for use by the research community.Their work presented a cloud based infrastructure that provided support and access to both the code and results from various published articles.Users were also able to experiment using their own data.The work by Peng et al. (2014) summarizes and compares software collaborative platforms in terms collaboration, co-ordination, awareness, communication and value transfer.
Based on the literature survey, it is observed that there are limited collaborative research dissemination platforms for the real-time systems community.The scope of ARMS and the corresponding software process -SACRED is to build a software-centric design level task modelling and scheduling framework of real-time MCS.It also assists the research community to understand the state-of-the-art research in the domain and evaluates by comparing with existing solutions thus allowing to propose and publish new ideas.

SACRED oVERVIEw
Collaborative research requires a framework as well as a process that describes how things are executed with a focused approach towards improvement.It is also important that this process provides a starting platform for budding researchers.Situations like the pandemic or other calamities hamper personal interactions and collaborations.But technology helps to overcome such situations by bringing about a holistic platform where researchers with a common mindset can collaborate and excel together.SACRED provides a detailed step-by-step approach to make a simple collaborative research framework and provides a cloud-based platform for researchers' use.This platform development requires a distinct mechanism rather than following well-known methodologies like verification and validation cycle, waterfall or agile model as it focuses on software research, collaboration, coordination, awareness, communication and value transfer.
SACRED consists of a three-phase software centric approach that includes setup, rollout and collaboration phase as depicted in Figure 1 .As part of the setup phase, the researcher starts with a systematic literature review, that extends to aid in identification of parameters and subsequently helps to list out a uniform nomenclature by assimilating the commonalities among these parameters.Further, these parameters are grouped based on domain specific criteria.The rollout phase includes platform finalization and the design and development of the cloud-based framework for easier access to the research data.The next phase -collaboration -provides facility to compare existing research results and makes it feasible to compare one's own results with the results available in the research fraternity.It also allows industrial and academic contributions by researchers.This platform serves as a stepping stone as well as a decision support system for existing researchers, designers and budding engineers.The following subsections describe the phases with emphasis on the expected outcomes of each phase and the best practices used.

Setup Phase
The purpose of this initial phase is to form a collaborative working group consisting of researchers, developers and collaborators and to prepare guidelines for regular communication and day-to-day activities.This step also elaborates on activities like literature review, preparation of common guidelines, work instructions, checklist and templates.Based on the domain of study, it is feasible to come up with a common framework or grouping of state-of-the-art research results.Researchers and developers have to also factor in the available time constraints and decide on the resource requirements.
The expected outcomes after the successful completion of this phase include: • Formation of an active core team -Prior to starting the literature review, a team comprising of researchers, developers and collaborators who will aid in the review, development and updating needs to be put in place.All this is achieved through brain storming and targeted discussions with like-minded people which will provide the needed momentum for subsequent stages of research.• Guidelines, checklists, templates, communication framework and systematic literature review -This step aids in preparing a common process and communication framework for working together.It includes guidelines for information exchange, regular connects and meeting agenda.It also includes preparation of checklist and templates to gather information and review of contents.An important engineering step that forms the basis of any research is a systematic literature survey.This includes collecting existing literature in a specific area and analyzing it to identify gaps and feasible improvements required in the domain of study.• Parameter Identification with Uniform Nomenclature -Based on the literature review, high level parameters are extracted and classified.The parameter extraction process involves the identification and extraction of relevant parameters from the selected papers.These parameters may be represented using different notations by various researchers.There is a need to consolidate the parameters and provide a uniform nomenclature (including the notations) to make it usable by researchers in the relevant domain.• Grouping/clustering state-of-the-art research results-Classification of research results into broad groups based on clusters in the landscape or based on industrial needs is an essential step.The parameters identified during the identification phase are grouped based on different criteria.
The best practices established during this phase include preparation of work instructions by each and every team member, establishment of the frequency and mode of communication, weekly report submission on progress and risks, template preparation and guidelines for capturing information, regular presentations and demos among team members.

Rollout Phase
The steps in the rollout phase aim to provide a dissemination framework based on the respective domain.It includes selection of the rollout platform, design, development and validation of tools.In this framework, codes of algorithms and models of the existing works are tested.The authors of the publication are contacted for the code base.If it is provided by them, the development team incorporates the same in the framework.If the authors provide only the execution permission to access their servers with the help of an interface, then the framework incorporates the work with the help of foreign servers.In the worst-case, the developer team codes the algorithms and sends them to the authors for correctness test before incorporating the same in the framework.
The expected outcomes after the successful completion of this phase are: • Platform finalization -Platform finalization is the key to providing a user friendly and multiplatform experience.For the MCS field of research, this work finalized a web/mobile based application where the MCS research community can interact with the system through an app or web browser.The platform is deployed on a cloud server (Amazon Web Services (AWS)) for seamless accessibility and security.• Framework design and development -Different methods can be used for aggregating and summarizing findings of various works.For the MCS task model work, a cloud-based aggregator is designed and developed.This aggregator is a client-server platform which will help researchers in identifying the most appropriate task models for their work.This framework archives the state-of-the-art task models and task parameters in MCS and provides various options for the researchers to choose task parameters in terms of various usage scenarios and functional attributes.• Framework validation and deployment -A deployed framework needs to be tested with published data and validated with the authors wherever possible before rolling out to collaborators.In this step, help can be taken from volunteers in the research community to support the process.
The best practices implemented at this stage include object oriented modularized design with usage of formal modelling languages like Unified Modeling Language (UML).Collaborative testing by peers, like-minded researchers and authors improves the quality and user friendliness of the framework.

Collaboration Phase
The purpose of this step is to collaborate with an extended groups of researchers and yield results as an authentic freeware platform.The expected outcomes after the successful completion of this phase are: • Distribution -Distribution, deployment and maintenance is carried out in this phase.The freeware version of the framework should be made available to users to decide and finalize on appropriate choices for their work.For example, ARMS framework will be administrated and maintained by a group formed by MCS researchers.Controlled access will be provided to users upon on-demand request.• Research assimilation, decision support system & partnership -Decision support systems aid in qualitative analysis.In this work, to facilitate decision making, the task model framework is extended with scheduling algorithms to perform schedulability analysis.This will aid designers in performing comparative analysis and identifying apt task models for their study.This step also allows integration of author's code base / execution on their server / review of newly developed code base by the authors.• Updates -Regular and streamlined updates are vital in order to add new features or improve existing ones.Regular updates with industrial and academic contributions on task models and schedulers makes the tool a robust guide to researchers and engineers thereby facilitating mutual benefits.
Swift and speedy responses among collaborators and their active participation to contribute latest research and artifacts make the framework up-to-date, relevant and purposeful.

AN ANALySIS FRAMEwoRK FoR MCS (ARMS) IMPLEMENTATIoN -A CASE STUDy
This section describes a factual experience that triggered the SACRED process methodology.It is the development of a platform for mixed criticality researchers.This platform follows a cloud-based client-server architecture and helps researchers in identifying the most appropriate task models for their applications along with detailed analysis.In this platform, the state-of-the-art task models and task parameters in MCS are archived.The aggregator tool platform generates task sets based on the chosen task model parameters and performs schedulability analysis.It facilitates researchers and engineers to add or enhance task models and scheduling algorithms.Regular bi-annual updates with industrial and academic contributions make this platform a robust guide to researchers and engineers thereby facilitating mutual benefits.
The typical architecture of the task model aggregator platform is depicted in Figure 2 .The app server consists of seven software modules -Task Model Updater, Task Model Enhancer, Task Model Generator, Task Set Generator, Analyzer, DB Process and Scheduler.The web client/app at the user end consists of a User Process, Admin Process and a Display Subsystem.Major functionalities of this aggregator platform include task model generation, task set generation with selected task parameters, scheduling of task sets with mixed criticality schedulers and detailed analysis of results.The list of features supported are: • Administered addition of task parameters and task models based on recent publications of repute.
• Collaborative maintenance framework for addition/deletion/enhancement of task models, parameters and usage scenarios.• Selection of task models and task parameters based on nature of study and usage scenarios.
• Selection of scheduler from the standard set and feasible enhancement with customized or thirdparty plug-in schedulers.

Setup Phase
As the first step, a team was setup for literature review and development.The team comprised of a team lead, researchers and developers.The team was augmented with a sustenance consortium to nurture and maintain the aggregator platform.The group of researchers conducted a systematic literature review on task models in the MCS domain.The review covered 15 years of MCS research which started with the pioneering work by Vestal (2007) in 2007.After elaborate discussions, brainstorming sessions and several iterations more than seventy task model parameters were identified.Few of these parameters are listed with uniform nomenclature in Table 1.Further, these parameters were analyzed and grouped based on hardware configurations, usage scenarios and functional attributes.
The hardware configurations include uni-core and multi-core processor types.The usage scenarios are resources, quality of service (QoS), context switching, energy efficiency, fault tolerance and parallel processing.The functional attributes are defined with respect to each usage scenario.As an example, task parameters required for modelling MCS with the resource usage scenario for both unicore and multi-core systems can be categorized into three main functional attributes namely, shared resource usage, resource synchronization and communication (message passing).When considering shared resources such as memory, the basic task model (Vestal, 2007) is extended with parameters like minimum/maximum number of memory accesses (Pellizzoni et al., 2010), worst case number of cache misses (Yun et al., 2012), worst case memory access time (Li & Wang, 2016), worst case number of L1/LL cache misses (Nair et al., 2019), number of memory accesses (Awan et al., 2018) and intra/inter-core blocking times (Burns, 2013;Nair et al., 2019).Resource synchronization includes parameters like blocking times (Burns, 2013), priority (Zhao et al., 2014), active criticality (Zhao et al., 2014) and preemption level (Zhao et al., 2015) to deal with issues of priority and criticality inversion.The parameters considered in communication are message size (Tamas-Selicean & Pop, 2011), release time jitter (Burns & Davis, 2013) and worst case communication time (WCCT) (Dridi et al., 2019).
Operating system (OS) overheads due to context switching has substantial impact on the schedulability of the system.The task parameters that contribute to context switching include priority, address space and context switching times before and after execution of the task in each mode of operation (Davis et al., 2018;Evripidou, 2016).In MCS, increasing energy requirements demand efficient energy optimization techniques.This necessitates amendments in task modelling related to energy parameters like energy/power consumption vector (Awan et al., 2016), processor frequency levels (Huang et al., 2014), voltage and frequency scaling factors (Taherin et al., 2018).In order to achieve fault tolerance, parameters like failure probability (Guo et al., 2015), worst case execution time (WCET) of backups (Pathan, 2014), replication/distribution (Thekkilakattil et al., 2014), reliability constraints, dropping factor and various overheads (Choi et al., 2018) are considered.QoS is a mechanism to improve the schedulability of low criticality tasks.It is a feature that needs to be incorporated while considering all other aspects such as energy, resources, fault tolerance, OS overheads etc.The parameters that contribute to this feature include importance (Fleming & Burns, 2014), tolerance limit (Gu et al., 2015), WCET in degraded mode (Giannopoulou et al., 2013), QoS values (Pathan, 2017), etc.
The introduction of multi-core architectures brings ample opportunities to implement parallel processing.Parallel processing systems consider parameters like number of threads (Liu et al., 2014), number of cores (Gill et al., 2018) and work and span for parallel tasks (Gill et al., 2018).Graph based task models are well suited to illustrate inter/intra task dependencies.Mixed criticality applications represented as graphs have vertices and edges.Edges can be classified as control flow edges and mode switching edges (Ekberg et al., 2013).Some of the parameters associated with graphs include mode of the job (Ekberg et al., 2013) and a function that defines the interference among tasks (Huang et al., 2013).Probabilistic task models consider parameters of execution time probability mass function (B.Alahmad et al., 2011), execution demand random variables and measure of probability (B.N. Alahmad & Gopalakrishnan, 2018).
The research team leader reviewed and accepted the task parameter grouping and confirmed the authenticity of the task models.The swimlane for this process is shown in Figure 3.

Rollout Phase
ARMS is a client-server web/mobile app that aims to provide an easy-to-use decision support system based on contemporary research results in MCS.The ARMS aggregator tool was hosted on Amazon Amplify (Version 4.43.0).The user interface was implemented using ReactJS 17.0.1.The DB is managed using Amazon DynamoDB and communication with the DB is handled using GraphQL application programming interfaces (APIs).Amazon S3 storage bucket and Amazon Cognito are used for storage and controlled access respectively.
Based on user preferences all task models that match the user selection criteria are displayed.The user selects one of the displayed task models for further analysis.The swimlane for task model generation, scheduling and analysis is shown in Figure 4. Upon selection of a model, the user can choose task parameters and retrieve task sets.The user is provided with facility to customize task parameter values before invoking the scheduler.The scheduler service, standard or custom, is used for scheduling and analyzing task parameters.The user is allowed to choose from the standard list of existing schedulers for analysis.They also have options of using customized schedulers or third-party solutions for scheduling task sets.The results of the scheduler are used for detailed analysis.The sequence diagrams for these processes are devised.Figure 5 shows the task model and task set generator sequence diagram.Here, the user selects attributes and usage scenarios.It views all the appropriate task models based on its selection.The user then selects a task model and chooses parameters.These values are used for the generation of sample task sets.The user is allowed to customize these task sets on a limited scale.These task sets are sent to the scheduler that generates schedules and statistics.Figure 6 shows the sequence diagram for scheduling and statistics generation.The task set customized by the user is used for scheduling.The user selects the appropriate scheduling mechanism.If the user  and statistics generated by this scheduler are sent to the user.ARMS provides an option to keep this scheduler in DB with visibility only to that user.Figure 7 and Figure 8 show the usability of the ARMS and analyze the feasibility of priority ceiling protocol with Earliest-Deadline-First-with-Virtual-Deadlines (EDF-VD) (Zhao et al., 2014) scheduling algorithm for the MCS domain.A user can view task models based on processor configuration and usage scenarios as shown in Figure 7(a) and Figure 8.In the current version, the processor configurations supported are uni-core processor and multi-core processor.The usage scenarios supported are basic, Multi-core processor model has parallel processing as an additional usage scenario.There are usage scenarios which require selection of functional attributes to generate task models.For instance, resource usage scenario has resource synchronization, message passing and shared memory as functional attributes.Multiple usage scenarios can also be selected to display task models based on user requirement.The generate option displays the available task models with respect to the chosen attributes with its description and related works in the MCS domain.Figure 7(b) displays the resource-based task models on selection of uni-core processor configuration, resource usage scenario and resource synchronization functional attribute.Based on research requirements, it is possible to choose and customize tasks models to suit the needs of research/usage scenarios.For each of the displayed/customized task models, sample task sets can be generated.As an example, Figure 7(c) displays sample task sets for the chosen resourcebased task model with parameters period, deadline, criticality, (WCET) vector, active criticality, active priority, nominal priority and semaphores.Further, the framework assists to choose algorithms for scheduling and profiling.The task sets generated in Figure 7(c) are scheduled using the standard EDF-VD scheduling algorithm as shown in Figure 7(d) The displayed schedule using chosen task sets for a hyper-period is depicted in Figure 7(e)and the Gantt chart of the resultant schedule is shown in Figure 9.The detailed analysis with statistics such as number of preemptions, number of decision points, min/ max/average response time of each task are shown in Figure 7(f).
These results explore the usability of ARMS framework for the MCS domain and assist in viewing existing literature, state-of-art research results and choosing the right resource parameters for priority ceiling protocol with resource constraints.It also confirms the usability of priority ceiling with EDF-VD as the protocol for schedulability analysis of resource based MCS.

Collaboration Phase
The aggregator tool is a freeware web/mobile app that will be made available to users who need to view and decide on appropriate task models for their work.The users will also be able to perform schedulability and comparative analysis.A sustenance team of the working group will play the role of aggregator tool admin.The aggregator platform aims to provide up-to-date information on task models in mixed criticality literature.To facilitate this, the admin performs periodic updates and updates based  on literature review conducted by the sustenance consortium.Figure 11 shows the sequence of events when the user sends a request to update/enhance the task model.The user sends a request to admin for updating/ enhancing the task model.The admin process reviews the request and checks its authenticity.It responds with a reject message when the request is not authentic.The admin performs further processing and acknowledges the user accordingly.Figure 12 shows the sequence of events when the admin performs either a period update or an update based on user request.The admin checks if the task model is already available in the DB.If the literature corresponding to the task model is not part of the DB, then the record in the DB is updated with new literature.If task model is not present in the DB, the DB is updated with the new task model along with newly generated statistics and results.If the request originated from a regular user, the Admin process sends an acknowledgement (as shown in Figure 11).

SACRED -Challenges and Best Practices
This section summarizes the challenges faced while developing this software centric collaborative framework.It also proposes the best practices followed to overcome these challenges.The challenges and best practices are listed in Table 2.
HUBZero is a web-based platform that develops simulation and modeling tools through collaboration.Tools hosted on HUBZero use the standard X11 windowing system.Each user is provided their own personal home directory with ownership and required access rights and tools are executed based on specific user's rights.This enables HUBZero to carefully control and track the resource consumption for each tool.HUBZero is deployed using Rappture.PBPCLG provides a collaborative platform for problem solving, learning programming and mentoring thus behaving like an educator tech app.It mainly focuses on java programming and problem solving.PBPCLG identifies four types of interactions.The first -individual responsibility, accurately depicts the writer's individual duty towards coding.The second -alternative works is when various developers create distinct variants of the same code snippet and later put them together as one fragment.The third, exchange of dynamic tasks allows developers to share code and ideas.And lastly, collective responsibility allows numerous participants to come to a consensus and create a single code.PBPCLG is deployed using java script.
OIS provides accessibility, clarity, dimension and encourages collaboration and dissemination in the field of science.It aims to transform multidisciplinary knowledge gained through collaboration into innovations through an iterative approach.Experts from several disciplines collaborated to design and develop this framework, emphasizing on the differences and similarities across systems.OIS methodology aspires to influence policy debates and offers direction to researchers and practitioners thereby creating a foundation for ongoing research.
MT-DIRC provides mentored coaching and dissemination of cancer research.Associates were mentored by the MT-DIRC programme, for a period of two-years.They developed distinct innovation and dissemination skills in multiple domains.Annual summer courses were conducted where participants received didactic, small-group, and one-on-one training.Additionally, participants engaged in national conferences and were funded for their research work.Each participant was also allocated a mentor for specialized guidance to achieve the required skill sets.Online and in-person training sessions were also conducted to train mentors.
This work SACRED presents the software framework used in the development of a collaborative platform specifically for the real-time MCS research community.The collaborative platform ARMS, deployed as a cloud-based app/web client provides a research repository and a holistic view to encourage collaboration between industry and academia.It is designed for archiving, updating and reporting existing tasks models in MCS along with their analysis and statistics.ARMS is deployed using ReactJS.Table 3. compares these collaborative frameworks based on the domain of study, purpose, associated tools and deployment.

Figure 2 .
Figure 2. Block schematic of the aggregator platform

Figure 4 .
Figure 4. Task model generator and analyzer swimlane

Figure 7 .
Figure 7. ARMS -(a) Attributes Selection (b) Attributes Output (c) Task Set (d) Algorithm (e) Schedule (f) Statistics for Resource Task model

Figure 8 .
Figure 8. ARMS Attributes Selection on web browser