A Generic Open Source Framework for Auto Generation of Data Manipulation Comm...iosrjce
IOSR Journal of Computer Engineering (IOSR-JCE) is a double blind peer reviewed International Journal that provides rapid publication (within a month) of articles in all areas of computer engineering and its applications. The journal welcomes publications of high quality papers on theoretical developments and practical applications in computer technology. Original research papers, state-of-the-art reviews, and high quality technical notes are invited for publications.
Report about Software Architecture for Robotics, for class of Introduction to Robotics of Prof. Sukhan Lee, of department of computer engineering of Sungkyunkwan University.
Student: Lorran Pegoretti.
Suwon, South Korea, December 2013
Improved Strategy for Distributed Processing and Network Application Developm...Editor IJCATR
The complexity of software development abstraction and the new development in multi-core computers have shifted the burden of distributed software performance from network and chip designers to software architectures and developers. We need to look at software development strategies that will integrate parallelization of code, concurrency factors, multithreading, distributed resources allocation and distributed processing. In this paper, a new software development strategy that integrates these factors is further experimented on parallelism. The strategy is multidimensional aligns distributed conceptualization along a path. This development strategy mandates application developers to reason along usability, simplicity, resource distribution, parallelization of code where necessary, processing time and cost factors realignment as well as security and concurrency issues in a balanced path from the originating point of the network application to its retirement.
Improved Strategy for Distributed Processing and Network Application DevelopmentEditor IJCATR
The complexity of software development abstraction and the new development in multi-core computers have shifted the
burden of distributed software performance from network and chip designers to software architectures and developers. We need to
look at software development strategies that will integrate parallelization of code, concurrency factors, multithreading, distributed
resources allocation and distributed processing. In this paper, a new software development strategy that integrates these factors is
further experimented on parallelism. The strategy is multidimensional aligns distributed conceptualization along a path. This
development strategy mandates application developers to reason along usability, simplicity, resource distribution, parallelization of
code where necessary, processing time and cost factors realignment as well as security and concurrency issues in a balanced path from
the originating point of the network application to its retirement.
Cruise Plastic Surgery is a health care organization which provides comprehensive out-patient surgical services for patients having plastic/cosmetic surgery. MedGuide is a content management application of patients where the complete patient medical history is maintained using patient timelines. By utilizing the flexible and dynamic form builder, Doctor/User can create any type of forms in MedGuide without any engineering expertise. =
https://celestialsys.com/
Constructing a software requirements specification and design for electronic ...Ra'Fat Al-Msie'deen
Requirements engineering process intends to obtain software services and constraints. This process is essential to meet the customer's needs and expectations. This process includes three main activities in general. These are detecting requirements by interacting with software stakeholders, transferring these requirements into a standard document, and examining that the requirements really define the software that the client needs. Functional requirements are services that the software should deliver to the end-user. In addition, functional requirements describe how the software should respond to specific inputs, and how the software should behave in certain circumstances. This paper aims to develop a software requirements specification document of the electronic IT news magazine system. The electronic magazine provides users to post and view up-to-date IT news. Still, there is a lack in the literature of comprehensive studies about the construction of the electronic magazine software specification and design in conformance with the contemporary software development processes. Moreover, there is a need for a suitable research framework to support the requirements engineering process. The novelty of this paper is the construction of software specification and design of the electronic magazine by following the Al-Msie'deen research framework. All the documents of software requirements specification and design have been constructed to conform to the agile usage-centered design technique and the proposed research framework. A requirements specification and design are suggested and followed for the construction of the electronic magazine software. This study proved that involving users extensively in the process of software requirements specification and design will lead to the creation of dependable and acceptable software systems.
Principles of Health Informatics: Artificial intelligence and machine learningMartin Chapman
Principles of Health Informatics: Artificial intelligence and machine learning. Last delivered in 2024. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Clinical decision support systemsMartin Chapman
Principles of Health Informatics: Clinical decision support systems. Last delivered in 2024. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
More Related Content
Similar to Using Microservices to Design Patient-facing Research Software
A Generic Open Source Framework for Auto Generation of Data Manipulation Comm...iosrjce
IOSR Journal of Computer Engineering (IOSR-JCE) is a double blind peer reviewed International Journal that provides rapid publication (within a month) of articles in all areas of computer engineering and its applications. The journal welcomes publications of high quality papers on theoretical developments and practical applications in computer technology. Original research papers, state-of-the-art reviews, and high quality technical notes are invited for publications.
Report about Software Architecture for Robotics, for class of Introduction to Robotics of Prof. Sukhan Lee, of department of computer engineering of Sungkyunkwan University.
Student: Lorran Pegoretti.
Suwon, South Korea, December 2013
Improved Strategy for Distributed Processing and Network Application Developm...Editor IJCATR
The complexity of software development abstraction and the new development in multi-core computers have shifted the burden of distributed software performance from network and chip designers to software architectures and developers. We need to look at software development strategies that will integrate parallelization of code, concurrency factors, multithreading, distributed resources allocation and distributed processing. In this paper, a new software development strategy that integrates these factors is further experimented on parallelism. The strategy is multidimensional aligns distributed conceptualization along a path. This development strategy mandates application developers to reason along usability, simplicity, resource distribution, parallelization of code where necessary, processing time and cost factors realignment as well as security and concurrency issues in a balanced path from the originating point of the network application to its retirement.
Improved Strategy for Distributed Processing and Network Application DevelopmentEditor IJCATR
The complexity of software development abstraction and the new development in multi-core computers have shifted the
burden of distributed software performance from network and chip designers to software architectures and developers. We need to
look at software development strategies that will integrate parallelization of code, concurrency factors, multithreading, distributed
resources allocation and distributed processing. In this paper, a new software development strategy that integrates these factors is
further experimented on parallelism. The strategy is multidimensional aligns distributed conceptualization along a path. This
development strategy mandates application developers to reason along usability, simplicity, resource distribution, parallelization of
code where necessary, processing time and cost factors realignment as well as security and concurrency issues in a balanced path from
the originating point of the network application to its retirement.
Cruise Plastic Surgery is a health care organization which provides comprehensive out-patient surgical services for patients having plastic/cosmetic surgery. MedGuide is a content management application of patients where the complete patient medical history is maintained using patient timelines. By utilizing the flexible and dynamic form builder, Doctor/User can create any type of forms in MedGuide without any engineering expertise. =
https://celestialsys.com/
Constructing a software requirements specification and design for electronic ...Ra'Fat Al-Msie'deen
Requirements engineering process intends to obtain software services and constraints. This process is essential to meet the customer's needs and expectations. This process includes three main activities in general. These are detecting requirements by interacting with software stakeholders, transferring these requirements into a standard document, and examining that the requirements really define the software that the client needs. Functional requirements are services that the software should deliver to the end-user. In addition, functional requirements describe how the software should respond to specific inputs, and how the software should behave in certain circumstances. This paper aims to develop a software requirements specification document of the electronic IT news magazine system. The electronic magazine provides users to post and view up-to-date IT news. Still, there is a lack in the literature of comprehensive studies about the construction of the electronic magazine software specification and design in conformance with the contemporary software development processes. Moreover, there is a need for a suitable research framework to support the requirements engineering process. The novelty of this paper is the construction of software specification and design of the electronic magazine by following the Al-Msie'deen research framework. All the documents of software requirements specification and design have been constructed to conform to the agile usage-centered design technique and the proposed research framework. A requirements specification and design are suggested and followed for the construction of the electronic magazine software. This study proved that involving users extensively in the process of software requirements specification and design will lead to the creation of dependable and acceptable software systems.
Principles of Health Informatics: Artificial intelligence and machine learningMartin Chapman
Principles of Health Informatics: Artificial intelligence and machine learning. Last delivered in 2024. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Clinical decision support systemsMartin Chapman
Principles of Health Informatics: Clinical decision support systems. Last delivered in 2024. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Evaluating medical softwareMartin Chapman
Principles of Health Informatics: Evaluating medical software. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Usability of medical softwareMartin Chapman
Principles of Health Informatics: Usability of medical software. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Social networks, telehealth, and mobile healthMartin Chapman
Principles of Health Informatics: Social networks, telehealth, and mobile health. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Communication systems in healthcareMartin Chapman
Principles of Health Informatics: Communication systems in healthcare. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Terminologies and classification systemsMartin Chapman
Principles of Health Informatics: Terminologies and classification systems. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Representing medical knowledgeMartin Chapman
Principles of Health Informatics: Representing medical knowledge. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Informatics skills - searching and making d...Martin Chapman
Principles of Health Informatics: Informatics skills - searching and making decisions. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Informatics skills - communicating, structu...Martin Chapman
Principles of Health Informatics: Informatics skills - communicating, structuring, and questioning. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Principles of Health Informatics: Models, information, and information systemsMartin Chapman
Principles of Health Informatics: Models, information, and information systems. Last delivered in 2023. All educational material listed or linked to on these pages in relation to King's College London may be provided for reference only, and therefore does not necessarily reflect the current course content.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Using Microservices to Design Patient-facing Research Software
1. Using Microservices to Design Patient-facing Research
Software
IEEE 18th International Conference on e-Science
Martin Chapman
King’s College London
2. Traditional research software
Software that facilitates research is usually designed to be used by researchers themselves.
Figure 1: An agent-based model (ABM) of crowds around the London Eye.
1
3. Modern research software
Increasingly, research software is also designed for other users, where the focus of the research
is the outcome of interactions with this software. In the health informatics research domain,
these users are often patients.
Figure 2: The ‘ZOE’ COVID symptom tracking application.
2
4. Researchers vs. patients i
Developing software that can both facilitate research and effective patient interactions
presents a number of challenges:
• Software development. The research to be conducted may necessitate the use of
certain languages (e.g. a certain package that is only available in Python), which might
not match the languages that are best for developing software for potentially large
groups of patients (e.g. V8-compiled Javascript).
3
5. Researchers vs. patients i
Developing software that can both facilitate research and effective patient interactions
presents a number of challenges:
• Software development. The research to be conducted may necessitate the use of
certain languages (e.g. a certain package that is only available in Python), which might
not match the languages that are best for developing software for potentially large
groups of patients (e.g. V8-compiled Javascript).
• Modularity. Researchers naturally want to change parts of a system (e.g. a
recommendation engine) in order to facilitate different experiments. These experiments,
which might affect stability, are typically avoided in live, patient-facing systems.
3
6. Researchers vs. patients i
Developing software that can both facilitate research and effective patient interactions
presents a number of challenges:
• Software development. The research to be conducted may necessitate the use of
certain languages (e.g. a certain package that is only available in Python), which might
not match the languages that are best for developing software for potentially large
groups of patients (e.g. V8-compiled Javascript).
• Modularity. Researchers naturally want to change parts of a system (e.g. a
recommendation engine) in order to facilitate different experiments. These experiments,
which might affect stability, are typically avoided in live, patient-facing systems.
• Processing time. Similarly, the components experimented with might have longer
execution times. Long execution times should be minimised in medical systems where
expedient responses are often essential.
3
7. Researchers vs. patients ii
Developing software that can facilitate both research and effective patient interactions presents
a number of challenges:
• Reproducibility: Researchers want their methodology to be reproducible, and a
component of this is the availability of the software used to produce results. For
patient-facing systems, especially those that deal with health data, it may not be
possible/preferable to share part of a system (e.g. a proprietary health data schema).
4
8. Researchers vs. patients ii
Developing software that can facilitate both research and effective patient interactions presents
a number of challenges:
• Reproducibility: Researchers want their methodology to be reproducible, and a
component of this is the availability of the software used to produce results. For
patient-facing systems, especially those that deal with health data, it may not be
possible/preferable to share part of a system (e.g. a proprietary health data schema).
• Data quality: Researchers are likely to want to experiment with complex data sources
(high-volume, heterogeneous, etc.), and use them as input to their software. In health
systems, data sources need to be as accurate and stable as possible to ensure correct
interventions.
4
9. Microservices
To try and address some of these issues we can consider how to structure our software.
Figure 3: Example customer information microservice. Newman, 2019
A microservice design approach suggests that a system should be separated into individual
communicating services (often via HTTP), each of which provides a single piece of overall
system functionality.
5
10. Microservices in industry
The use of microservices in industrial settings (and in the wider software development
community) is commonplace.
However (at least in our experience) patient-facing research software does not adopt industry
paradigms like this.
Wider goal: encourage the use of established software engineering techniques when developing
(patient-facing) research software.
6
11. Impact of microservices
1. Software development. Each service can be built using a different language, allowing
languages to be combined. Technological heterogeneity
2. Modularity. Service logic can be replaced with minimal impact to the rest of the
system (and services can be used in other systems). Replaceability and Composability
3. Processing time. Functionality with long execution times can be isolated, ensuring the
remainder of the system is not affected. Resilience
4. Reproducibility. A system can be deployed even in the absence of certain components.
Ease of deployment
5. Data quality. The components of a system can be replicated in order to ensure
sufficient data capture. Scalability
7
12. CONSULT i
We can demonstrate each of these benefits in the context of CONSULT, a decision-support
system for stroke patients that was developed under the microservice paradigm.
Figure 4: CONSULT’s dashboard interface Figure 5: CONSULT’s chatbot interface
8
13. CONSULT ii
Blood pressure
(Withings API)
Pulse and Activity
(Garmin API)
Heart Rate / ECG
(Medibiosense API)
EHR
(EMIS)
Device
Integration
(Withings)
Device
Integration
(Garmin)
Device
Integration
(Vitalpatch)
Sensor-FHIR
converter
EHR Integration
(EMIS)
EHR-FHIR
converter
FHIR Health
Data Server
Message
Passer
Dialogue
Manager
Authentication
Server
Provenance
Server
Data
Miner
Argumentation
Engine
Tablet
Browser
Chat
Server
UI backend
PC
Browser
Sensor data
Sensor
data
Sensor
data
EHR
data
FHIR resources
FHIR resources
FHIR resources
Processed
patient data
Patient
data
Substitution
Credentials
Processed
patient data
Processed patient data,
goal
Results
Dialogue responses
Data summaries, tips
Figure 6: CONSULT’s microservice architecture
9
14. CONSULT iii
CONSULT’s full architecture is shown on the previous slide, with each line representing the
transfer of data between two services.
Here, we will consider three (simplified) example flows:
user dialogue manager argumentation engine
A user interacting with the chatbot.
user dashboard health data store
A user viewing (a summary of) their health data.
wearable device sensor integration health data store
Sensor data being passed to the system.
10
15. 1. Software development
The CONSULT team consistent predominantly of researchers familiar with Python and with R.
11
16. 1. Software development
The CONSULT team consistent predominantly of researchers familiar with Python and with R.
The use of microservices allowed us to combine these technologies with languages traditionally
better suited for scalable application development (e.g. Javascript):
user dialogue manager argumentation engine
11
17. 1. Software development
The CONSULT team consistent predominantly of researchers familiar with Python and with R.
The use of microservices allowed us to combine these technologies with languages traditionally
better suited for scalable application development (e.g. Javascript):
user dialogue manager argumentation engine
Caveat: Not all languages are optimised to work as service-based entities (e.g. R).
11
18. 2. Modularity
The CONSULT team wanted to be able to switch out the existing argumentation-based
reasoner for other reasoners in the future.
12
19. 2. Modularity
The CONSULT team wanted to be able to switch out the existing argumentation-based
reasoner for other reasoners in the future.
The use of microservices ensured a separation between interface and logic, making it possible
for this to take place:
user dialogue manager API Logic
Argumentation
Engine
12
20. 2. Modularity
The CONSULT team wanted to be able to switch out the existing argumentation-based
reasoner for other reasoners in the future.
The use of microservices ensured a separation between interface and logic, making it possible
for this to take place:
user dialogue manager API Logic
Argumentation
Engine
Caveat: Owing to the variety of reasoners that might be used, we did not deem it possible
to achieve complete API and logic separation (i.e. modifications to the interface were
inevitable). We developed a dialogue syntax, with modifiable endpoint references, as a
potential way to offset this.
12
21. REFLECT
The presence of encapsulated logic also allowed CONSULT’s services to be used elsewhere:
Blood pressure
(Withings API)
Pulse and Activity
(Garmin API)
Heart Rate / ECG
(Medibiosense API)
Device
Integration
(Withings)
Device
Integration
(Garmin)
Device
Integration
(Vitalpatch)
Sensor-FHIR
converter
FHIR server
Metadvice’s
cardiometabolic
DSS services
Sensor data
Sensor
data
Sensor data
FHIR resources
FHIR resources
Figure 7: The REFLECT architecture
13
22. 3. Processing time i
The argumentation-based reasoner was associated with longer execution times.
user dialogue manager argumentation engine
This risked affecting the response time of other parts of the system:
user dashboard health data store
14
23. 3. Processing time ii
The use of microservices ensures that interactions with the argumentation engine are a distinct
flow, and other flows are unaffected:
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
Time
0
5
10
15
20
Response
time
(secs)
argumentation
dashboard
Figure 8: Independence of argumentation engine and dashboard services
15
24. 3. Processing time iii
Caveat: Flows containing the dialogue manager still have to wait. However, other services in
the flow (e.g. the dialogue manager) remain responsive to report on longer execution times.
user dialogue manager argumentation engine
16
25. 4. Ease of deployment
We wanted the observations made based on the use of CONSULT to potentially be
reproduced, but were not comfortable releasing (the schema of) our health data server as a
part of the architecture.
user dashboard health data store
wearable device sensor integration health data store
17
26. 4. Ease of deployment
We wanted the observations made based on the use of CONSULT to potentially be
reproduced, but were not comfortable releasing (the schema of) our health data server as a
part of the architecture.
user dashboard health data store
wearable device sensor integration health data store
Microservices ensure deployment is still possible in the absence of certain services. New users
are able to plug new services into the architecture (e.g. a replacement health data store).
17
27. 4. Ease of deployment
We wanted the observations made based on the use of CONSULT to potentially be
reproduced, but were not comfortable releasing (the schema of) our health data server as a
part of the architecture.
user dashboard health data store
wearable device sensor integration health data store
Microservices ensure deployment is still possible in the absence of certain services. New users
are able to plug new services into the architecture (e.g. a replacement health data store).
Caveat: The use of services might actually hinder deployment, if too many are used and
the architecture becomes overly complex. A balance needs to be found between having
services with a limited remit and having an appropriate number of services so as to ensure
intelligibility.
17
28. 5. Scalability
We wanted to be able to have complex data sources as input to the system (e.g. wearable
device data) without losing any data.
18
29. 5. Scalability
We wanted to be able to have complex data sources as input to the system (e.g. wearable
device data) without losing any data.
Service replication ensures high volumes of data can be collected; the use of a queue ensures
data is not lost if a service enters an error state:
wearable device sensor integration
sensor integration
sensor integration
health data store
queue
queue
queue
18
30. 5. Scalability i
We can, again, see this
in practice:
monolithic CONSULT
0
20000
40000
60000
80000
100000
120000
140000
Average
responses
Ok
Timeout
Figure 9: How CONSULT responds to high load vs. an emulated monolithic
architecture
19
31. 5. Scalability ii
Caveat: Replicating services has a limited impact in some areas of the system; it does not,
for example, extend to distributed processing in the case of the argumentation engine.
user dialogue manager argumentation engine
20
32. Limitations and considerations
• Monolithic architectures are not always a bad way to structure software. If well
resourced, they too can solve many of the problems we have identified. However, we
believe that a microservice approach achieves the benefits we have seen by design.
• The use of a microservice architecture, while solving many problems, has no impact on
user interface design, a key component of patient-friendly software.
• Microservices may introduce new issues (e.g. questions of governance).
21
33. Summary and Future Work
• It can be difficult to develop a piece of software that facilitates research and is suitable
for use by patients.
• We believe developing software for these purposes under the microservice architecture
paradigm can address this issue.
• Despite its impact, we have identified limitations with the application of the paradigm. In
some cases, we have tried to offset these limitations with additional contributions (e.g.
a dialogue templating syntax), but some issues remain and should be considered when
using a microservice approach.
• Overall, we want to encourage the use of established software engineering techniques
when software is developed for research with patients.
Future work will, among other things, explore the impact of the paradigm on other users, such
as general practitioners (GPs).
22