dataesr/scientific-paragraphs-categorization huggingface dataset:
In contrast, the approach in  [32]  describes the dependency management mechanism of Gradle, a well-known build automation tool that works in a declarative fashion in which the developer sets its dependencies and versioning; as a result, there is no need to calculate dependencies between libraries for higher compatible versions. These solutions are not precisely focused on the same scope as that of the present study as we aim to handle dependencies between pre-built services and, thus, do not require an external library. However, studies  [33] ,  [34] ,  [35] ,  [36]  seek solutions to the same problem presented in our study. Among these solutions,  [36]  is notable for containing a fundamental definition of software components, in which a component is equivalent to a mono-functional service with a set of dependencies on other components.
These effects comprise newly available services, new forbidden services, new forbidden components, and new dependencies (represented by a dependency graph). Considering a similar scope, study  [33]  presents a fourphase process composed of: (1) collecting historical service network flow data set and pre-processing it, (2) computing dependencies and constructing dependency matrices, (3) compiling the constructed matrices into a graph database, and (4) mining this graph database to identify service dependencies. In study  [34] , the authors use declarative contracts to calculate the dependency graphs in a controlled environment, while in  [35] , an implementation is proposed for a dependency management mechanism for fully private blockchains to track service logs and collaboratively calculate unknown service dependencies.
A. FENRIR BASICS In Fenrir, we define the Software Application Package, (SAPckg) as an ensemble of a Software Package Structure (SPS) and its associated Software Transaction Block (STB) published into the blockchain, whose formal definition is illustrated in Fig. 8. This SAPckg is first submitted to the Pending Submission Repository (PSR), a distributed temporary repository in which application proposals are stored until at least one automaker is interested. Once the temporary SAPckg has sufficient endorsers, it will be pushed into the Main Storage Chain (MSC), its endorsements will be assigned to the Distributed Green List Ledger (DGL), and the software block can then be distributed to authorized vehicles. More details about this process are presented in §V-C. As our framework is initially conceived for an SOA/Micro-service architecture, each SAPckg shall contain exactly one service identified by a tuple (service identifier, version) and the list of dependency relationships with the other services in the infrastructure described in the Requirements field of the STB.
1) SAPckg format and verification mechanisms As noted above, Fenrir's SAPckg is formed from an SPS and its associated STB, mostly like a smart contract, which is stored in the MSC. Fig. 8  provides a detailed definition of these structures. Note that the temporary SAPckg data structure stored in the PSR waiting to be approved by an Automaker is highly structurally similar to the classic SAPCkg, changing only the STB ID to a temporary one and removing the Authenticity and smart contract verification fields. Thus, to verify the SAPckg authenticity and integrity, Fenrir proposes a simple three-step verification process: (1) STB validation, performed by comparing the hashes and the validity of the signatures and green-list endorsements ( §V-C2) from the precedent, actual and posterior STBs, (2) ensuring that the SAPCkg ID link matches both the STB and SPS and (3) verifying the SAPCkg ID signature consistency.
2) The Distributed Green List Ledger (DGL) As a means to preserve automakers' authorization control over what can and cannot be installed in the vehicles individually, Fenrir benefits from the aforementioned identitybased and role-based authority proofs to build an auxiliary software authorization chain, the DGL. The DGL comprises an authorization transaction graph in which the details of the endorsements (whose structure is defined in Fig. 9 ) for a given software package are stored. To keep the MSC clean, Fenrir also uses the DGL and endorsements to regulate the addition of SAPckgs to the definitive chain, from which they will never be erased, requiring a temporary SAPckg endorsed by at least one automaker to be added to the MSC. Endorsements from other companies can also occur after adding the block to the chain.
Note that if all endorsers stop supporting a certain SAPckg, it will not be removed from the final chain. A global overview of the entire pipeline is presented in §V-F. Finally, as shown in Fig. 10 , given the previously described secure key-authorization and block verification mechanisms, the integrity of the endorsement can be readily traced without needing to link the endorsements. Thus, when verifying and retrieving the software certificates, our approach is based on the indexing patterns of the databases, with the DGL organized as a four-leveled graph instead of a classical list  [37]. Furthermore, we simplified the indexing model by picking a classic automotive semantic classification-automaker, car model, and software block ID (cf. Fig. 10 ).
This process takes place once the SAPckg is already in the MSC and represents one of the last phases of the software deployment process. Whenever a vehicle wishes to check for new software availability, it will send its vehicle manifest, i. e. , a file containing the vehicle's identity and a list of currently installed software, to check for updates and new desired software. After receiving this manifest, the updater node will then check inter-software dependencies and incompatibilities and generate a global dependency graph to determine the order to preserve when determining the different software versions. Note that this first step is only performed whenever the graph in the updater cache does not contain all the requested software. As shown in Fig. 11 , the global dependency graph algorithm will consider all the inter-software dependencies on the graph and generate a tuple < X, Y > for each of the applications, in which X is the number of software packages for which this software is a dependency and Y is the number of dependencies of this software (e.
F. SOFTWARE AUTHENTICITY & TRACEABILITY DISCUSSION At this point, we have presented all the different mechanisms that allow authenticity to be preserved throughout the software distribution pipeline, however, these must now be connected. This process begins when an application's development is complete and a company wants to publish this application to Fenrir. The developer will start by generating their application proposal, in which they create a temporary SAPckg (as detailed in §V-C). As noted above, this SAPckg is like the final SAPckg but without the STB ID, hashes, or relation with the DGL. This package is then submitted to the PSR. Once in the PSR, as presented in §V-C2, the automaker can then endorse their submission request, generate the final SAPckg, and push it to the MSC. Once in the MSC, other automakers can endorse the SAPckg and authorize its installation into their vehicles.
B. ENERGY CONSUMPTION MODEL DESCRIPTION As energy consumption is crucial in the automotive sector, particularly for non-electric vehicles, we studied the energy consumption of the Raspberry Pi 3b for the different mechanisms in our proposed system. We started by measuring the real consumption associated; however, given the proximity of the first tests energy consumption measures to the consumption model proposed by PowerPC  [43] , we chose to simplify the test set-up by basing our work directly on this model. In this model, the energy consumption is estimated as: P u,d,if (W ) = P idle + P CP U (u) + X if P Nw,idle + P Nw,dl/ul,d (r) (1) Where u is the RPI %CPU, d is the data sent or received (in MB/s), and if is the interface (Wi-Fi, Bluetooth, Ethernet, etc. ). In our case, all scenarios were tested with LTE-M (which can be taken as 1.
C. BENCHMARK SPECIFICATION JUSTIFICATION The data set used in our experiments consist of a realistic ensemble of keys (RSA-2048-based) and SAPckgs following the inter-software dependenciesand characteristics described in §III and detailed in appendix A (cf. , §IX-A). We test all the different SAPckg profiles described (i. e. , AOTA, FOTA, SOTA, and MOTA), which limits the number of simultaneous SAPCkgs to 200 the (limit imposed by the MOTA tests). The size of these packages is around 1 kB for configuration updates (AOTA), 1. 133 MB for firmware or delta software updates (FOTA or SOTA), 10. 531 MB for full software package updates (SOTA), and 33. 5 MB for media updates (MOTA). However, to be able to explore the limits of the solution and its behavior in unexpected situations more unnatural dispositions (i.
1) On-board software verification mechanism evaluation Before investigating the addition of blocks to the chain, we first focus on the performance of the software verification mechanism described in §V-C. Fig. 16  depicts the impact of the update package size on the verification execution time. As anticipated, increasing the package size also increases  the time to calculate the hashes and signatures needed to verify the SAPckg. However, as shown in Fig. 16 , the number of blocks already inside the MSC does not influence the verification mechanism performance. We now consider the performance of the verification mechanism in response to changing its verification level (i. e. , Critical, Medium, and none) as presented in §V-C, Fig. 17  shows that the size of the SPS only impacts the critical verification as this level is the only one in which the hash of the code files is calculated.
It illustrates once again that the impact of the blockchain mechanism itself is negligible; all of the overhead is due to the hashing verification itself, which is mandatory to preserve package integrity irrespective of the underlying storage structure. In addition, from Fig. 17 , we can also confirm the system's suitability for realtime applications given the different verification levels and package sizes. Thus, in a fully dynamic SOA embedded architecture, AOTA, FOTA, SOTA, and MOTA verification can be performed in real-time, with the services chosen at will to match the user's needs. However, for the addition of new FOTA, SOTA, and MOTA packages to the MSC for the first time, the vehicle will require a certain calculation time, adding a delay between the vehicle receiving the package and when it will use it.
3) Blockchain pruning mechanism evaluation Blockchain pruning mechanism evaluation: In this subsection, we study the impact of the pruning mechanism on system performance depending on the number of nodes to be preserved. Fig. 19  illustrates the impact of the number of blocks to be saved on the backup generation. This study also includes the pruning calculus, whose impact is negligible compared to the whole backup generation mechanism. Fig. 19  shows that the impact on the backup generation is significant (over 75% performance improvement on the 80% pruned example). This mechanism will only become more effective as the number of blocks in the chain increases. The pruning mechanism also greatly impacts the package size, reducing the SAPckg size to almost the size of the STBs (a few kB) for the pruned blocks, representing an enormous reduction for SOTA, MOTA, and even FOTA SAPckgs.
G. EVALUATION OF THE SYSTEM OVERHEAD As described above, the Fenrir framework overhead can be divided into two phases: a first phase involving adding the incoming software blocks to the vehicle's local chain and a second phase whenever these blocks are used. However, even though these two phases are entirely independent, their performance depends mainly on the integrity verification mechanism, which is described in detail in §VI-E1. From this section, and considering the typical automotive industry update cycle of around a dozen minutes per service update (value given on the discussion with industrial experts), the overhead added by this verification mechanism can be estimated as 0. 579% both in terms of performance and energy consumed for the worst-case verification scenario (i. e. MOTA package verification); thus, this overhead can be considered negligible.
Combining the definition of the block addition mechanism presented in V-C, the results shown in §VI-E2, and the key addition mechanism results in §VI-D, the overhead of this mechanism can be estimated as 2. 911% in a worst-case scenario in a MOTA SAPckg must be added to a whole MOTA SAPckg chain and all the keys are needed to verify this software. However, despite the increased overhead, this value is still not significant in terms of the whole system performance given the low frequency.
VII. DISCUSSION Despite the encouraging results, considerable progress is still required in the automotive industry before being able to move to Fenrir's application store framework. Marked changes in the development process need to occur, including addressing the granularity of SAPckg packages  [48] ,  [49] , which is currently at an application level and not at a service level, and the frequency of updates, which remains relatively low compared to IT systems. Additionally, significant effort must be put into the entire standardization and software reuse process  [50]  between different companies to reduce software development and maintenance costs, thereby paving the way for new innovative services. In addition, to improve the software installation process, hardware and software should be decoupled , moving towards a higher-level businessoriented top-down software conception.
1d ). This is in agreement with the sedimentation assay, where E. coli cells expressing Ag43a and Ag43 EDL933 deposited more rapidly due to the formation of larger aggregates, which in turn resulted in more rapid biofilm formation compared to Ag43 UTI89 and Ag43b. Different Ag43 variants adopt the L-shaped β-helical structure The different functional properties of Ag43 variants prompted us to characterise their atomic structures, noting that the passenger domains of Ag43 EDL933 , Ag43 UTI89 and Ag43b share 66%, 62% and 86% sequence identity, respectively, with Ag43a (Supplementary Fig. 2 ). All α-domain proteins were recombinantly expressed in the cytoplasm. The crystal structures of α 43_UTI89 and α 43b were solved by molecular replacement using the previously determined structure of α 43a (PDB: 4KH3)  13  as a search model (Fig.
2d ). This region shows structural similarities with previously characterised AT domains; where it can be superimposed with r. m. s. d values ranging between 1. 50 and 4. 37 Å with the AC domain from EspP (PDB: 3SZE), IcsA (PDB: 3ML3), p69 (PDB: 1DAB), Hap (PDB: 3SYJ) and Hbp (PDB: 1WXR)  [36] [37] [38] [39] [40] [41]  (Supplementary Table  1 ). Previous studies have shown the AC is involved in α-domain folding  30, [42] [43] [44]. In the α 43_UTI89 and α 43_EDL933 structures the main β-helix and AC domain is covalently linked via an extended 18 amino acid loop. This loop is mostly undefined in the electron density maps of α 43_UTI89 (434-451) and α 43_EDL933 (435-452), possibly due to its flexible properties. Ag43 UTI89 and Ag43b self-associate via an interface with fewer interactions Ag43a from CFT073 drives bacterial aggregation by homotypic interactions between α 43a molecules from neighbouring cells in a head-to-tail conformation  13.
a, b Side and top cartoon representations with β-strands in green, purple and blue, respectively. Turns are coloured in salmon and F1-F3 represent the three faces of the three-stranded β-helix. The two loops (loop 1 and loop 2) that protrude from the β-helices are shown in black, while the four β-hairpins appear in light orange. The AC domain of both α 43_EDL933 and α 43_UTI89 are coloured in hot pink. Side view of α 43a (PDB: 4KH3), depicted in grey is shown for comparison  13. c Stereo view of the 2Fo-Fc electron density maps contoured at 1σ of a cross-section of α 43_EDL933 (residues T 65 -D 84 ), α 43_UTI89 (residues L 90 -E 108 ) and α 43b (residues I 52 -D 70 ) β-helices. d Superimposition of α 43_EDL933 , α 43_UTI89 and α 43b on that of α 43a , with α 43a depicted in grey. The AC domain is displayed in hot pink and light pink for α 43_EDL933 and α 43_UTI89 respectively, with the β-hairpin motifs yellow.
coli pathotypes: EDL933 (EHEC) as well as UTI89 and CFT073 (UPEC). Our characterisation of the cell aggregation phenotypes of Ag43 EDL933 , Ag43 UTI89 and Ag43b compared to Ag43a, are largely consistent with previous studies  22  , but show some further variations. Ag43 EDL933 (C2) shows a strong aggregation phenotype that is also shared by Ag43a (C3). However, Ag43b, which is also from group C3, mediated reduced aggregation, thus demonstrating inter-group functional variability. Our data show that this difference in aggregation between Ag43a and Ag43b is based on amino acid variation in their interacting interfaces. Like Ag43b, Ag43 UTI89 (C4) also mediated reduced aggregation. The aggregation properties of these variants were consistent with differences in bacterial clumping as shown by fluorescence microscopy and flow cytometry, with Ag43 EDL933 showing strongest aggregation in these assays.
Flow cytometry pBAD/Myc-HisA plasmids encoding Ag43a, Ag43b, Ag43 UTI89 and Ag43 EDL933 were transformed into the agn43-negative gfp-positive E. coli K-12 strain OS56  14. Each sample was washed in PBS once and suspended in equal volume of PBS. Sample dilutions in PBS were analysed in triplicate using BD Accuri C6 flow cytometer (BD Bioscience, San Diego, CA, USA) 488 nm laser for excitation and measuring emission at 530/30 nm. Readings were collected in logarithmic mode comprising at least 5000 events per sample. Data was analysed using FlowJo 10. X. 7 (Tree Star).
05% Tween 20), incubation with primary rabbit polyclonal antibody α 43_UTI89 /α 43_EDL933 (1:10,000) to detect α 43_UTI89 and or primary rabbit polyclonal antibody α 43a (1:10,000) to detect and α 43a and α 43b , followed by incubation with secondary anti-rabbit IgG/HRP antibody (Promega, W401B, 1:10,000). Bands were detected using Bio-rad Clarity Western ECL Substrate. The uncropped and unprocessed scans of the blots are included in the Source Data file. Ag43 immunodetection on the bacterial cell surface pBAD/Myc-HisA plasmids encoding wild-type and mutant versions of Ag43a, Ag43b, Ag43 UTI89 and Ag43 EDL933 were transformed into the E. coli fim agn43 null strain MS528. Bacterial cultures were grown in 3 ml of LB supplemented with ampicillin (100 μg/ml) and 0. 2% arabinose at 37 °C overnight.
Crystallisation and diffraction data measurement Purified α 43_UTI89 , α 43_EDL933 and α 43b in 25 mM HEPES, 50 mM NaCl, pH 7 were concentrated to 15. 6, 18. 3 and 12 mg mL -1 , respectively, and crystallised using the hanging-drop vapour diffusion method. Small block-like crystals were obtained for α 43_UTI89 (0. 10 × 0. 20 × 0. 10 mm) from a solution consisting of 20% 2-propanol, 100 mM trisodium citrate/citric acid pH 5. 2, 20% PEG 4000. Large needle crystals were obtained for α 43_EDL933 (0. 7 × 0. 05 × 0. 05 mm) in 100 mM SPG (succinic acid, sodium dihydrogen phosphate and glycine) pH 7. 4, 27% PEG 1500. Stacked plate crystals were obtained for α 43b (~0. 5 × 0. 25 × 0. 05 mm) from a solution consisting of 100 mM Na cacodylate pH 6. 4, 14% PEG 4000, 20% MPD. Diffraction data were collected at the Microcrystallography MX2 beamline at the Australian Synchrotron using an ADSC Q315r CCD detector.
Structure determination of Ag43 variants and refinement The structure of α 43_UTI89 and α 43b were solved with Phaser 57 by molecular replacement using the structure of α 43a (PBD: 4KH3)  13  as a model. Similarly, the structure of α 43_EDL933 was solved via molecular replacement using α 43_UTI89 as a reference. The corresponding protein models were manually built in Coot  58  , and refined with phenix. refine  59 and translation/libration/ screw (TLS) refinement  60. Model quality was monitored by the R-free value, which represented 5% of the data. The models for all variants were evaluated by MolProbity 61 and figures were generated using PyMOL  58, 62. Coordinates and structure-factor files for α 43_UTI89 , α 43b and α 43_EDL933 have been deposited in the Protein Data Bank, with accession codes 7KO9, 7KOB, 7KOH, respectively.
Analytical ultracentrifugation Sedimentation velocity experiments were performed using a Beckman Optima XL-A analytical ultracentrifuge, 8-hole An-50 Ti rotor. Protein samples (380 µL) obtained after size exclusion chromatography of the recombinant Ag43 variants in 25 mM HEPES, 150 mM NaCl, pH 7. 0 and reference buffer (400 µL) were loaded into double-sector quartz cells. Initial scans were performed at 3000 rpm to determine the optimal wavelength and radial positions. Absorbance readings were collected at 285 nm and 40,000 rpm at 20 °C. Solvent density, solvent viscosity and estimates of the partial specific volume of α 43b (0. 7211 mL g -1 ), α 43_UTI89 (0. 7197 mL g -1 ), α 43a (0. 7215 mL g -1 ) and α 43_EDL933 (0. 7207 mL g -1 ) at 20 °C were calculated with SEDNTERP  63. Data were analysed using c(s) with SEDFIT  64.
Small angle X-ray scattering SAXS data were collected on the SAXS/WAXS beamline at the Australian Synchrotron  65. Approximately 60 μL of α 43a and α 43_UTI89 , at 1. 2 mg mL -1 , in 25 mM HEPES, 150 mM NaCl, pH 7. 4 were loaded into a 1 mm quartz capillary. Samples were flowed during data collection to reduce radiation damage. Data reduction was carried out using the ScatterBrain software (v. 2. 71) and the data were corrected for solvent scattering and sample transmission, then radially averaged to produce I(q) as a function of q, where q = (4πsin θ)/λ, θ is half the scattering angle, and λ is the X-ray wavelength. For α 43a (SASBDB ID: SASDKQ3) and α 43_UTI89 (SASBDB ID: SASDKP3), data were fit as a linear combination of model curves to quantify the nature and proportions of different oligomeric states in solution  66.
ACKNOWLEDGEMENTS This work was supported by the  Australian Research Council (ARC)  project grants ( DP150102287 ,  DP180102987 ,  DP210100673 ),  Future Fellowship  ( FT130100580 ), a  Discovery Early Career Researcher Award  ( DE130101169 ), a  National Health and Medical Research Council (NHMRC)   Project Grant  ( GNT1143638 ) and an  NHMRC  Fellowship (GNT1106930). Support from  INRAE  ( Institut National de Recherche pour l'Agriculture, l'Alimentation et l'Environnement ) and  Région Auvergne  with  FRI IRP (Fond Régional Innovation Institut de Recherche Pharmabiotique)   CoMBa grant  ( AV0003483  and  DOS0019690/00 ) are also acknowledged. We acknowledge the use of the MX1, MX2 and SAXS/WAXS beamlines at the  Australian Synchrotron (ANSTO)  and the  CSIRO Collaborative Crystallisation Centre  (www.
DATA AVAILABILITY The crystallography, atomic coordinates, and structure factors reported in this paper have been deposited in the Protein Data Bank, www. pdb. org (PDB ID codes 7KO9, 7KOB and 7KOH). The Small Angle X-ray Scattering data reported in this paper have been deposited in the Small Angle X-ray Scattering Biological Data Bank, www. sasbdb. org (SASBDB ID codes: SASDKP3 and SASDKQ3).
, 2018) , atomic beam sputtering  (Katagiri et al. , 2001) , spray pyrolysis, electrodeposition  (Altamura et al. , 2015) , SILAR method, screen printing, atomic layer deposition  (Erkan et al. , 2016) , and physical vapor deposition  (Shyju et al. , 2015). In this article, we mainly employed a regarded simulation program called SCAPS-1D (Solar Cell Capacitance Simulator), a window-oriented program developed with Lab Windows/CVI from National Instruments at Ghent University  (Niemegeers et al. , 1998; Olekseyuk et al. , 2002). SCAPS-1D is a S. C. simulation program of one dimension made for cell structures, to facilitate and further understand solar cells' performance. An exhaustive analysis of all films involved in S. C. has been performed using this program in order to simplify and better comprehend the CZTSe performance thin films solar cells as well as manufacture cells with top efficiencies.