dataesr/scientific-paragraphs-categorization huggingface dataset:
Multiple users So far, we considered a setup comprising one user, but multiple user directly supported by HardIDX. Multiple users are able to concurrently query data without limitations, as concurrent tree traversals do not influence each other. The only requirement is that each user has access to the key SK k to create query tokens and SKv to decrypt the result. It is also possible that each user shares a different key SK k with the enclave. This would hide the search pattern of one user from all other users, but it requires a small modification in the protocol: the token has to be accompanied by client information, because the enclave has to identify the key to use for the token decryption. The nodes can be encrypted by any key that is known to the enclave. Particularly, it is not required to be a key shared with any user.
IMPLEMENTATION Subsequently, we elaborate on implementation details, which are important with respect to performance or security. Platform. Our HardIDX implementation is based on Intel's Software Development Kit (SDK) for SGX. Services like attestation are available through the interfaces of the SDK. The hardware platform is described in the evaluation (see  Section 7). Provisioning. As described before, the client initially provisions SK k to the enclave. This has to be done securely since SK k should not be revealed to any untrusted party. We use the attestation feature of SGX to establish a secure channel between the client and the enclave. As described in Section 2. 1, the initial enclave memory content is measured during its creation. The first operation performed by the enclave is the creation of a key pair (secret key skE and public key pkE).
Subsequently enclave and client share SK k , which they use for secure communication. Side channels. Our implementation is concerned with three types of (side) channels: external resource access, page-fault side channel and cache timing side channel (see Section 3. 2). In particular, by means of all three channels an adversary can observe access patterns to memory with the goal of inferring sensitive information from the observed access patterns. In HardIDX, access to external resources by the enclave is limited to B + -tree nodes. Here, the attacker's goal is to leak information about the tree structure and ultimately the order of values stored in the database and searched for by the client. Our Construction 2 explicitly covers the access to external resources, i. e. , nodes, in its leakage.
While the external resources used by HardIDX store only data, page-fault side channel and cache timing side channels allow to observe access to enclave memory which contains both, data and code. These side channels do not reveal sensitive data directly. However, they might reveal access to memory locations, which can reveal sensitive information if the memory access to code or data differs depending on sensitive data. As before, the attacker's goal might be to extract information about the tree structure and the order of values stored and searched. Additionally the attacker might try to extract cryptographic secrets from the enclave. For instance, the attack might aim at learning the secret key SK k used to encrypt tree nodes or learning one of the keys used during the establishment of a secure channel in the initial provisioning phase.
Our algorithm, however, accesses every key and pointer, whether the pointer is followed or not. By this and other fine grained implementation details, we achieve data independent accesses and thwart the cache timing side channel. Leakage of cryptographic keys are thwarted for page-fault and cache timing side channel by using leakage resilient implementations and hardware features  [11]. For instance, the AES implementation used in HardIDX uses AES-NI hardware which holds the S-Boxes in CPU registers instead of RAM, thus hampering cache side channel attacks  [52, 69]. Memory Management. We implemented both constructions of HardIDX. In particular Construction 2 is optimized with respect to memory transfer operations, and context switches between untrusted and trusted part. To reduce the number of context switches a list of requested nodes is hold by the untrusted part.
Encrypted Databases Encrypted databases, such as CryptDB  [59] , use propertypreserving encryption for efficient search. Property-preserving encryption has very low deployment and runtime overhead due to the ability to use internal index structures of the database engine in the same way as on plain data. Order-preserving encryption  [3, 12, 13, 44]  allows range queries on the ciphertexts as on the plaintexts. With order-revealing encryption  [19, 46]  a generalization of order-preserving encryption has been published recently. However, Naveed et al. [54]  initiated the research direction of practical ciphertext-only attacks on property-preserving encryption, in particular order-preserving encryption, which recover the plaintext in many cases with very high probability (close to 100%) and further attacks followed  [26, 36].
In  [25] , Demertzis et al. present several approaches for range queries. The authors also evaluate the security and performance based on the OXT protocol. The scheme that is most comparable to ours, Logarithmic-URC, is quite equal to the range query approach without false positives from  [28]  and thus exhibits equal additional leakage. We provide an experimental comparison in Section 7. 3. Secondly, Pappas et al. [57]  evaluate encrypted bloom filters using Secure Multiparty Computation. However, in order to achieve practical efficiency they propose to split the server into two non-colluding parties. Our approach does not require any additional party. Thirdly, Egorov et al. [27]  presented ZeroDB. A database system that enables a client to perform equality and range searches with the help of B + -trees.
TEE-Based Applications Trusted Database System (TDB) uses a trusted execution environment (TEE) to operate the entire database in a hostile environment  [50]. While TDB encrypts the entire database storage and metadata (e. g. , tree structures to organize the data), TDB is not concerned with information leakage from the TEE. Neither does TDB aim at hiding access patterns nor does it consider side channels attacks against the TEE. Furthermore, since the entire DB operates in the TEE the trusted computing base is very large exposing a very large attack surface. Haven is an approach to shield application on an untrusted system using SGX  [7]. The goal of Haven is to enable the execution of unmodified applications inside an SGX enclave. This technique could be used to isolated off-the-shelf databases with SGX, however, Haven does not consider information leakages through memory access patterns or interactions with the untrustworthy outside world.
Furthermore, this approach limits the size of the database due to limited enclave size. VC3 (short for verifiable confidential cloud computing) adapts the MapReduce computing paradigm to SGX  [61]. Mapper and Reducer entities are executed in individual enclaves, this means the data flow between them can leak sensitive information. While VC3 is tailored towards SGX they exclude information leakage from their adversary model. In contrast, we provide the first work on SGX that specifically focuses on information leakage in the interaction of an enclave with other entities. Data-oblivious machine learning for SGX was presented in  [55]. Four machine learning algorithm have been adapted by the authors in order to prevent the exploitation of side channels. All data and code accesses that are dependent on sensitive data are transferred into data-oblivious accesses by using a library providing a set of data-oblivious primitives.
Then, implementing a circular buffer is necessary for increasing the scanning volume up to hundreds of cube meters. In order to develop our measurement method, we modified the RtabMap software  [6-7-8]  provided by IntroLab (Sherbrooke). By this way, we are able to use visual odometry with 3D cameras in order to reconstruct the environment and compute the device trajectory at 25Hz. Pose-graph visual Slam is based on the principle that each acquisition step is a combination of constraints links between observations. These constraints are established using features detection and extractions of each processed image. This kind of SLAM problem is represented with graphs of constraints. Each observation of the robot creates node, new links and constraints. This method allows fast node recognition and including loop & closure based-on optimization methods.
Visual Odometry The goal of visual odometry is to detect the relative motion between two poses of the camera, and then to back-project the 3D and RGB streams in a computing reconstruction volume. This problem can be exposed as equation 1. This equation describes the transformation of each pixel of the camera to a 3D point, depending on intrinsic and extrinsic camera parameters (Equation  1 ). Visual odometry is processed on a real-time RGB data stream to detect the motions of the device in volume and get the colour for reconstruction. Simultaneously, the corresponding depth stream is used for calculating the rotation/translation matrix between two successive frames. The corresponding pixel in the depth map is also extracted. ‫ܢ‬ ቆ ‫ܝ‬ ‫ܞ‬ ቇ ൌ ൭ ‫ܠ‬ ‫܋‬ ‫ܠ‬ ‫ܡ‬ ‫܋‬ ‫ܡ‬ ൱ ൮ ‫܀‬ ǡ ‫܀‬ ǡ ‫܀‬ ǡ ‫܂‬ ‫܀‬ ǡ ‫܀‬ ǡ ‫܀‬ ǡ ‫܂‬ ‫܀‬ ǡ ‫܀‬ ǡ ‫܀‬ ǡ ‫܂‬ ൲ ቌ ‫ܠ‬ ‫ܡ‬ ‫ܢ‬ ቍ [1] Depending on the pine-hole model, features are then back-projected in volume.
Other tools address the designer's need to control their overall workflow. Adobe Comp 1  lets designers quickly draw initial layout ideas before moving to expert software. Gem-ni  [36]  and Parallel Paths  [32]  support parallel editing and active comparison of multiple divergent visual elements. Adaptive Ideas  [20]  helps designers create website layouts by sampling example elements. DÉCOR  [29]  supports web design workflow by providing recommendations for adapting layouts to accommodate a variety of screen sizes; and Adobe Edge Reflow 2  uses media query breakpoints to help designers envision their layouts on various devices. Both local and workflow tools can significantly enhance the work practices of expert graphic designers, but only for welldefined tasks. However, graphic design, like many other creative activities, is undergoing a paradigm shift toward more programmatic approaches.
Automatically applying graphical substrates Reifying their substrates in code lets designers choose how the system applies them to content. This partnership helps designers focus on the early exploration and creation of substrates rather than the time-consuming task of manually applying them to each content element. For example, P10 a used a system of styles and grids to automatically lay out book content from a database. He greatly appreciated this workflow: "I could focus on the most interesting part: choosing pictures, making sure that every detail was correct and creating a cover page". Similarly, P2 a used Markdown to semantically tag the content of her book and then played with CSS properties to quickly explore alternative layouts. "I didn't have to manually select all the images to see the change".
PROBING GRAPHICAL SUBSTRATES In study 1, we observed multiple designers explicitly reify graphical substrates into code to support (1) collaboration with the reader, (2) more diverse input, and (3) automatic application of substrates, none of which are supported by traditional tools. Inspired by these stories, we created two software probes  [15]  that reify graphical substrates into novel layout creation tools. The goal is not to support all possible substrates, but rather to open new opportunities for graphic designers and inspire new directions for designing tools that generate innovative layouts. Contextify reifies aspects of the reader's context, modifying the layout according the reader's preferences and the current reading environment  (1). Linkify reifies spatial relationships, providing new inputs for modifying the layout according to dynamic properties of the content (2).
Contextify -Richer inputs for structuring layout Although Responsive Design lets designers adapt layouts to the width of the reader's display, designers must write code to accommodate other sources of input. We were inspired by P2's book layout, which lets readers choose the page dimension, thus taking an active role in the creation of the layout. Contextify provides a visual interface for defining sub-layouts based on inputs from the readers' intentions and context. The system combines sub-layouts according to these inputs and generates the layout displayed to the reader. We implemented a contextual condition, night or day, and a condition specified by the reader when entering the page or web site: preview or detailed reading. Contextify redefines the relationship between the reader and the designer: combining these conditions results in a layout that can be tailored to four reading contexts.
STYLEBLOCKS To further explore the power of graphical substrates for web layout, we created a prototype, StyleBlocks, that combines and extends Linkify and Contextify. The goal is to rethink CSS stylesheets as interactive graphical substrates. CSS (Cascading Style Sheets) is a declarative language to specify web content layout. CSS supports a large set of properties but is a very static language. Designers have to use Javascript to implement any non-trivial dynamic behavior. Preprocessors such as SASS  4  support higher-level constructs, including variables and expressions, but still generate static style sheets. StyleBlocks (Fig. 10 ) reifies CSS declarations into interactive blocks that can be attached to content with pipes. In addition to CSS declarations, blocks can also represent operators, which perform functions on style declarations, e.
CONCLUSION This paper explores how professional graphic designers structure layouts beyond the use of grids. Based on interviews with 12 professional graphic designers, we discovered that they all use sophisticated ways to structure layout. We call these structures graphical substrates and show that they consist of mapping a variety of inputs, including conceptual, content and contextual inputs, onto outputs, most notably spatial and temporal properties. However, current layout tools provide very limited support for graphical substrates and graphic designers currently either manage them by hand or rely on code to explicitly represent them in their designs. To explore how graphical substrates can be reified into tools, we created and tested two software probes: Contextify reifies context inputs and lets designers tailor layouts according to the reader's intention and context; Linkify reifies spatial relationships to let designers create dynamic properties based on content.
PowerGrASP , graph compression based on FCA We propose an implementation of Power graph compression 1  as a formal concept search using a non-monotonic logical formalism, ASP, to model the constraints on the power nodes and power edges introduced in section 1. 2. ASP (Answer Set Programming) is a form of purely declarative programming oriented towards the resolution of combinatorial problems  [20]. It has been successfully used for knowledge representation, problem solving, automated reasoning, and search and optimization. In the sequel, we rely on the input language of the ASP system Potassco (Potsdam Answer Set Solving Collection  [13]  developed in Potsdam University. An ASP program consists of Prolog-like rules h :b 1 ,. , b m , not b m+1 ,. , not b n , where each b i and h are literals and not stands for default negation.
The Potassco system  [14]  proposes an efficient implementation of a rich yet simple declarative modeling language relying on principles that led to fast SAT solvers. ASP processing implies two steps, grounding and solving. The grounder generates a propositional program replacing variables by their possible values. The solver is in charge of producing the stable models (answer sets) of the propositional program. The main objective of this section is to show, through its application to the stated graph compression problem, the effectiveness and flexibility of ASP for modeling various searches in the concept lattice. Of course, it remains always preferable from the point of view of efficiency to design a specific algorithm for a particular FCA problem. However, ASP systems are not "toy" environments and are useful for the design of efficient prototypes or to take into account a knowledge-rich environment while keeping a simple code.
ASP has shown to be an attractive alternative to standard imperative languages that enable fast developments and is most of the time sufficient in real applications where many constraints have to be managed. In fact, Potassco proposes an integration of ASP and Python that allows the development of hybrid codes. The reminder of this section provides the relevant part of the encoding for solving variants of Power graph compression. All lines starting with % are comments. The initial graph is assumed to be coded with facts edge(X, Y ), where X and Y are vertices (e. g. edge(a, d). edge(a, e). ) If the graph is non oriented and not bipartite, edges are made symmetric by adding a clause edge(X, Y ) : -edge(Y, X). Many input graph examples are available in the PowerGrASP source code 2.
Implementing the Stable Search and Heuristics Stables are used to split the search space as exposed in proposition 1 (see section 2. 3). They are searched in the complement context, i. e. with 0 and 1 inverted, using the code defined in listing 1. 1 without the bipartite constraint (line 5). The implementation of heuristics takes only a few ASP lines. The code of HDF is provided in listing 1. 4 (PowerGrASP 5  ) predicate interest_ok states that one of the concept nodes must be chosen among top interesting nodes. It uses max_interest, a predicate true only for nodes with highest interest in the current graph. In the PowerGrASP source, the computation of this atom is performed on the Python side. The code of FHDF is provided in Listing 1. 5 (PowerGrASP 6  ). It needs each node to get a degree of interest computed in Python and coded in predicate interest_level.
Biological benchmarks The powergraph compression code is benchmarked here using three networks coming from biological data. Our aim is just to show that our ASP code is already useful in managing real graphs. A complete evaluation on a larger benchmark is out of the scope of this paper, which mainly tries to take the first steps in FCA applied to the powergraph issue. The network named rna comes from a study on the pea aphid (A. pisum)  [27]. It is a bipartite interaction graph linking two disjoint populations of molecules  (15 × 1810). The second network, mdb, comes from the database MatrixDB  [19]  describing interactions between extracellular proteins. It contains 5 connected components, the largest one involving 273 nodes and 642 edges. The third graph, sbind comes from biological data of Royer et al.
Connectome-based modeling of large-scale brain network dynamics enables causal in silico interrogation of the brain's structure-function relationship, necessitating the close integration of diverse neuroinformatics fields. Here we extend the open-source simulation software The Virtual Brain (TVB) to whole mouse brain network modeling based on individual diffusion magnetic resonance imaging (dMRI)-based or tracer-based detailed mouse connectomes. We provide practical examples on how to use The Virtual Mouse Brain (TVMB) to simulate brain activity, such as seizure propagation and the switching behavior of the resting state dynamics in health and.
Introduction Dedicated software environments are available to simulate detailed neuronal dynamics such as Neuron, Genesis, and MOOSE, which model the complex dendrite geometry, reaction-diffusion processes and receptor distributions of individual neurons and smaller networks  (Hines and Carnevale, 1997). To simulate larger networks, neuron models are reduced to point neurons  (Izhikevich, 2003; Brette and Gerstner, 2005) , which is the case of the simulator BRIAN  (Goodman and Brette, 2009) , NEST  (Diesmann and Gewaltig, 2001) , and NENGO  (Eliasmith et al. , 2012). However, scaling up for detailed models beyond an entire cortical column  (Markram, 2012)  and a few brain regions becomes quickly intractable even for networks of point neurons. Although neuromorphic computation offers interesting alternatives for the future (the SpiNNaker project http://apt.
cs. manchester. ac. uk/projects/SpiNNaker/ and the BrainScaleS project http://brainscales. kip. uni-heidelberg. de/), macroscopic modeling using neural population approaches is the only viable whole-brain network modeling strategy nowadays. The Virtual Brain (TVB) is an open-source simulation software designed to model whole-brain network dynamics, where the network's connectivity is based on diffusion magnetic resonance imaging (dMRI)-based individual connectomes or adaptations of more precise primate connectomes (Sanz  Leon et al. , 2013). TVB comprises several generative neural population models, defined in physical 3D space and constrained by anatomy, allowing simulating neuroimaging signals [such as magneto-and electroencephalography (MEG, EEG), or functional MRI (fMRI)]. Whole-brain dynamics can also be manipulated in TVB, e.
TVMB is integrated into TVB and adapted to the mouse brain to enable its virtualization. It uses the validated TVB simulators to generate brain network activity, as well as analysis and visualization tools. In what follows, we will show how the platform can be used to virtualize not only individual mouse brains (based on dMRI connectome) but also to construct very detailed connectome-based models using tracer data obtained by the Allen Institute for Brain Science  (Oh et al. , 2014). As a worked example to show how the platform can be used to generate predictions or interpret data, we will simulate resting state dynamics in a control and "epileptic" mouse and seizure propagation. We will also show how to integrate TVMB in a research project in which theoretical and experimental approaches benefit from one another.
The Allen Institute provides its data through an Internet-accessible interface, namely the Allen Software Development kit (Allen SDK), from which TVB, through The Allen Connectivity Builder interface, is able to obtain a volumetric atlas as well as the raw experimental information necessary to build complete mouse brain connectomes. The platform allows to choose the main characteristics of the connectome; specifically the user can set: 1. The resolution of the grid volume in which the data are registered (25, 50, and 100 m). 2. The definition of the connection strength between source region i and target region j. Specifically the connection strength can be defined as: -The detected projection density (the number of detected pixels in the target region normalized on the total number of pixels belonging to that region).
The pipeline, once downloaded the raw data from the Allen dataset, cleans the data to obtain a set of experiments in which the injection structures are exactly the same as the target structures and vice versa; this step ensures that the connectome will be a square matrix. Then, the pipeline excludes from the experimental set the area that do not fulfill the criteria set by the user (minimum volume (3) and minimum number of voxels infected (4)). The experiments of the Allen Institute consider source regions always located in the right hemisphere, thus we build a complete structural connectivity matrix, taking the mirror image of the right hemisphere to build the left one. Therefore, if we divide the SC matrix in four blocks R-R, R-L, L-R, and L-L (clockwise order starting from upper left), we will have the symmetries R-R ϭ L-L and R-L ϭ L-R.