bacillisporins F-H (2-5) along with the known bacillisporin A (6), were isolated from the fungus Talaromyces stipitatus. Their structures and absolute configurations were determined on the basis of spectroscopic analyses, electronic circular dichroism (ECD) as well as GIAO NMR shift calculation followed by DP4 analysis. The antimicrobial activity of these compounds was evaluated against a panel of human pathogenic bacteria. Among them, bacillisporin H (5) exhibited antimicrobial activity together with modest cytotoxicity against Hela cells.

Fungi are considered as an important source of chemical diversity, such as highly elaborated polyketides. 1 These complex structures have attracted great interest because of their biological activities which may lead to new medicinal or agrochemical applications. Soil-inhabiting fungi constitute an extremely diverse fungal community and the soil fungus Talaromyces stipitatus ATCC 10500 (syn. Penicillium stipitatum) is known to produce a variety of structurally interesting aromatic polyketides such as tropolones 2 and oxaphenalenone dimers related to duclauxin (8), including complex spirobicyclic derivatives. [3][4][5][6] This strain was previously studied by Cox et al. for the biosynthesis of tropolones. 7 A recent study of Penicillium mangini by Huang and coworkers led to the structure revision of duclauxin (8) and derivatives, correcting a long-standing misrepresentation of the absolute configuration of C-9′. 8 Duclauxin ( 8) is a heptacyclic bis(oxaphenalenone) heterodimer made of two functionalized 2oxaphenalen-1-one units (corymbiferan skeleton) linked by two bonds which form the cyclopentane. Recently, Gao and coworkers characterized the phn biosynthetic gene cluster from the genome of Penicillium herquei and showed that the core skeleton of phenalenone polyketide was synthesized by the combined functions of non-reducing polyketides synthase (NR-PKS) (Phn A) and a flavin-dependent monooxygenase (Phn B). 9 Duclauxin (8) and related compounds such as bacillisporins A-E were isolated either from Talaromyces or Penicillium species and have been shown to inhibit the growth of several tumor cell lines, [10][11][12] while other analogues were efficient inhibitors of acetylcholinesterases.

In an effort to broaden our research in new bioactive polyketides, we investigated the chemistry of the fungus Talaromyces stipitatus ATCC 10500 by the one-strain many compounds (OSMAC) approach. 13 This led to the identification of five new oligophenalenone dimers named 9a-epibacillisporin E (1) and bacillisporins F-H (2-5) along with the known, bacillisporin A (6). Herein, we report their isolation, structure elucidation and their antimicrobial activity. The absolute configuration of the isolated compounds was established by a combination of ECD calculations and the DP4 probability analysis based on NMR shift calculation.

RESULTS AND DISCUSSION

9a-epi-bacillisporin E (1) was isolated as a colorless crystalline solid with an [α] 20 D of + 7.3 (CH2Cl2, c 0.1). The molecular formula C28H20O11 indicating 19 degrees of unsaturation was deduced from the molecular peak at m/z 531.0822 [M-H] -in HREIMS. Its IR spectrum pointed out the presence of hydroxy (3421 cm -1 ) and carbonyl (1670 cm -1 ) groups. The 1 H NMR spectrum (Table 1) of 1 showed signals for three methyl groups as singlets at δH 2.12 (3H, COCH3), 2.60 (3H, H-6'), and 2.86 (3H, H-6), two oxymethylene [δH 4.87 (1H, d, J = 13.0 Hz, H-1), 4.31 (1H, d, J = 13.0 Hz, H-1); 4.83 (1H, d, J = 12.5 Hz, H-1'β), 4.74 (1H, d, J = 12.5 Hz, H-1'α)], one oxymethine [δH 5.67 (1H, s, H-9')], and two aromatic protons resonating at δH 6.80 (1H, s, H-5') and 6.91 (1H, s, H-5). 13 C NMR spectrum of 1 indicated the presence of nine sp 3 carbons: three methyls, two methylenes (oxygenated at δC 68.1, 71.1), two methines (including one oxygenated at δC 83.9), one oxygenated at δC 65.9 and one quaternary carbon at δC 47.9. 13 C NMR data of 1 also displayed two sp 2 methines (δC 121.3, 122.6), seventeen sp 2 carbons (including two oxygenated at δC 163.1, 164.9, two lactones carbonyls at δC 167.3, 167.4, one ester carbonyl at δC 169.9 and two ketone carbonyls at δC 188.0, 191.2) (Table 1). Table 1. 1 H and 13 C NMR data of compounds 1-4 ( 1 H 600 MHz and 13 C 150 MHz, 298K). a Recorded in CDCl3; b in DMSO-d6; c in CD3OD; d 13 C was not obtained because of too low amount of 3; e in C5D5N.

Analysis of 2D NMR data (COSY, HSQC and HMBC, Figure 1) revealed that 1 is an oxyphenalenone dimer closely related to the known compound bacillisporin E (7) The relative configurations of C-8', C-9', and C-9'a of 1 were deduced from the proton coupling constant and NOESY correlations. Indeed, as described by Huang, 7 no coupling constant was observed between H-8′ and H-9′ suggesting a torsion angle of ca. 90° between these two protons.

In addition, NOEs between H-8′ and H-9′/CH3-6 as well as between H-9′ and H-1′α are in agreement with the recently revised configuration of duclauxin (8).

We used DP4 probability to determine the configuration at C-9a of 1. 14 This approach based on theoretical NMR calculations has been proven to be a very powerful tool in natural products structure elucidation. 9,15 Taking both 1 H and 13 C chemical shifts calculations for the DP4 probability analysis (Figure S40), the relative configuration at C-9a was defined to be R.

Electronic circular dichroism (ECD) measurements were undertaken to determine the absolute configuration of 1. Experimental and simulated spectra generated by time-dependent density functional theory (TDDFT) were then compared. 16 As observed in Figure 2, a good agreement was obtained between both predicted and experimental spectra. Therefore, the absolute configuration of 1 was deduced to be 9aR, 8'R, 9'S, and 9'aS. [M+H] + in HREIMS. Its IR spectrum pointed out carbonyl groups at 1724 and 1676 cm -1 . The 1 H and 13 C NMR data of (2) in DMSO-d6 ( ) and δC 85.5 (C-9'), respectively], eighteen sp 2 quaternary carbons including seven sp 2 oxygenated as well as one quaternary carbon. These data revealed that the structure of 2 was quite similar to bacillisporin A (6), 10 except the presence of an additional methoxy group signal for 2. Key HMBC correlation from OCH3 to C-1 suggested the position of the methoxy to be on C-1 and HMBC correlations from H-1 to C-3, C-3b, C-9, and C-9a confirmed the planar structure of 2 (Figure 3). Interestingly, 1-epi-bacillisporin F (3) was also isolated. 1 H NMR data revealed that the sole differences between compound 2 and 3 were the chemical shifts of the methoxy group in CD3OD (δH 3.66 for 3 versus δH 3.58 for 2) as well as the methine H-1 (δH 6.57 for 3 versus δH 6.55 for 2), suggesting that 2 and 3 were epimers at C-1.

The relative stereochemistry of compound 2 and 3 was determined using the same methods as described above for 1 (Figure S41). According to the calculation of 1 H chemical shifts, 1S configuration was assigned for compound 2 and 1R for compound 3. In order to further determine the absolute configurations of those two epimers, ECD spectra were measured and compared to those calculated. As shown in Figure 4, a very good agreement was observed between experimental and theoretical spectra, suggesting the same absolute configuration of compounds 2

and 3 except at C-1. Hence, the absolute configuration of 2 and 3 was respectively established as 1S, 8'R, 9'S, 9'aS and 1R, 8'R, 9'S, 9'aS. Bacillisporin G (4) gave an anion [M-H] -at m/z 487.1006 consistent with the molecular formula C27H20O9 and indicative of eighteen degrees of unsaturation. The 1 H and 13 C NMR data (Table 1) of 4 showed characteristic signals of oligophenalenone derivatives such as bacillisporin A (6).

However, the unobserved key signals of C-3 and CH2-1 belonging to the lactone moiety suggested the absence of ring A. In addition, the chemical shifts of a proton at δH 10.44 (1H, s, HCO), and a carbonyl at δC 193.5 predicated the presence of an aldehyde group. Cross peak correlations from HMBC experiments of the aldehyde proton CHO to C-9 and C-9a indicated the presence of the aldehyde group on C-9a (Figure 3). The same coupling constants and NOEs as those for the previously described bacillisporins were observed in 4, leading thus to the fully consistent structure as shown in figure 3.

Bacillisporin H (5) was also produced by the fungus T. stipitatus. The [M-H] -ion peak at m/z : 544.1221 corresponded to the molecular formula C29H23NO10. Analysis of 1D (Table 2) and 2D NMR data (Figure 3) showed that compound 5 is similar to compound 8 except for a low-field chemical shift for H-1 proton (δH 8.24). The assignment of the latter was determined by key HMBC correlations from H-1 to C-3, C-3b, and C-9a (Figure 3). The above analysis suggested a δ-lactam moiety for 5 instead of a δ-lactone, leading to the determination of the depicted structure shown.

Interestingly, one nitrogenated bis-oxaphenalenone was recently reported by Cao et al., 8 probably resulting from an azaphilone-like reactivity of duclauxin 8, allowing it to react with nucleophilic amines. Duclauxin and related compounds have been reported to display antimicrobial and cytotoxic activities. 4,10,11 Accordingly, we evaluated the cytotoxic properties of compounds 1, 2, and 4-6 against Hela cell line as well as a panel of human pathogenic bacteria. The scarcity of 3 prevented us from evaluating its biological activity. No effect was observed on the growth of Escherichia coli (IC50 > 100 µg/mL, data not show) for all isolated compounds. Similar to previous antimicrobial activities described for bacillisporins, 17 bacillisporin A (6) displayed antimicrobial activity against Gram positive with MIC values from 2.4 to 9.5 µg/mL. Also of note is the effect of compound 5 against Staphylococcus aureus with CMI value at 5.0 µM with a modest cytotoxicity against Hela cell line with IC50 value > 50 µg/mL.

EXPERIMENTAL SECTION

General Experimental Procedures

Optical rotations were determined using a Perkin Elmer 341 Polarimeter. IR spectra were taken on a Shimadzu FTIR-8400S Infrared spectrophotometer. UV spectra were recorded on a Kontron Uvikon 9X3W Double Beam UV/Vis spectrophotometer (Bioserv, France). The CD spectra were finished on Jasco J-810 spectropolarimeter system. Mass spectra were recorded on an API Q-STAR PULSAR i of Applied Biosystem. For the CID spectra, the collision energy was 40 eV and the collision gas was nitrogen. The NMR experiments were recorded on Bruker Avance III HD 300 MHz, 400 MHz, 500 MHz and 600 MHz spectrometers (Wissembourg, France) equipped with a BBFO Plus Smartprobe and a triple resonance TCI cryoprobe, respectively. Chemical shifts are expressed in δ (ppm), and are referenced to the residual non-deuterated solvent signals. Preparative HPLC was performed on an Agilent system and an Agilent PrepHT XDB-C18 column (21.2 × 150 mm i.d.; 5 µm; USA). Column chromatography (CC) was performed using silica gel (Geduran Si 60, 40-63 µm, Merck, Germany and Lichroprep RP-18, 40-63 µm, Merck KGaA, Germany) and sephadex LH-20 (Sigma-Aldrich Lipophilic Sephadex, Germany). Silica gel-precoated plates (F254, 20 × 20 cm, Merck KGaA, Germany) were used for TLC and PTLC.

Fermentation, extractions and purification. Talaromyces stipitatus ATCC 10500 was grown at 27 °C on polished rice (using Roux flasks containing 50 g rice mixed with 50 mL distilled water) or PDA medium during 21 days and 14 days respectively. Following this fermentation, the mycelium and the broth were extracted by ethyl acetate (3 times / 6 L). The combined organic phases were dried over Na2SO4, filtered and concentrated in vacuo to afford 20.2 g and 2.4 g of crude extracts, respectively.

The EtOAc extract of T. stipitatus obtained from the rice-based growth was subjected to a flash column chromatography (CC) over silica gel with a gradient elution using C6H12-CH2Cl2 (2:1 to CH2Cl2 100%, v/v) and CH2Cl2-MeOH gradient (80:1 to 5:1, v/v) to yield six fractions (Fr.1-Fr.6). Fr.4 was separated by a silica gel CC with a C6H12-EtOAc gradient (3:1-1:1 to MeOH 100%, v/v) to give four sub-fractions (Fr.4A-Fr.4D). Fr.4A was further separated by a silica gel CC with a C6H12-EtOAc-AcOH gradient (12:1:0.12-2:1:0.1, v/v) and gave six sub-fractions (Fr.4A1-Fr.4A6). From Fr.4A5, compound 5 (13.4 mg) and 6 (17.0 mg) were isolated by a silica gel CC eluted with C6H12-EtOAc-AcOH (3:1:0.1). 6 was further purified by preparative HPLC (gradient from 45% to 52% MeCN in H2O for 32 min; flow rate: 20.0 mL/min; tR = 28.5 min).

Sub-fraction Fr.4A6 was purified by preparative TLC eluted with (C6H12-EtOAc-AcOH, 3:1:0.1) to yield compound 1 (3.8 mg).

The Fr.3 was subjected to a silica gel CC with a gradient elution using C6H12-EtOAc-AcOH (9:1:0.1 to 1:1:0.1, v/v) to yield four fractions (Fr.3A-Fr.3D). Sub-fraction 3B were further purified by preparative HPLC to give 2 (3.4 mg, gradient from 40% to 55% MeCN in H2O for 43 min; flow rate: 20.0 mL/min; 2: tR = 32.8 min) and 3 (1 mg).

The crude ethyl acetate extract of T. stipitatus obtained from growth on PDA was subjected to a silica gel column chromatography eluted with C6H12-EtOAc (10:1 to 2:1, v/v) and further purified with preparative HPLC to give compound 4 (2.1 mg, gradient from 40% to 62% MeCN in H2O for 37 min; flow rate: 20.0 mL/min; tR = 25.9 min). Antimicrobial Assay. Briefly, pre-cultures of the tested micro-organisms were made by inoculating 10 mL of LB medium and incubated for 24 h at 37 °C. A culture suspension were made by 1/1000 dilution (OD600 0.01) from preculture and seeded in 96-well microtitration plates. Two microliters of two-fold serial dilutions of each compound (10 mg/mL) was prepared in 200 μL of medium. The plates were incubated at 37 °C for bacteria. After 24 h, the optical density of the bacterial suspension of each well was measured at 595 nm using a multiplate reader. The MIC which is the minimal concentration of a compound resulting in a 90% decrease in the number of microbial cultures compared to control (DMSO only) were determined by curve fitting for bacteria. Tetracycline was used as positive control.

9a-epi-Bacillisporin

ASSOCIATED CONTENT Supporting Information. Experimental details and copies of 1D and 2D NMR spectra of 1-5, CD calculations of 1-3 and DP4 probability of 1-3 are disclosed. This supporting information is available free of charge via the Internet at http://pubs.acs.org.

Figure 1 .

 1 Figure 1. Key HMBC, COSY and NOESY correlations of 1.

Figure 2 .

 2 Figure 2. Comparison of the calculated and experimental ECD spectra of 1.

Figure 3 .

 3 Figure 3. Key HMBC correlations of bacillisporins F-H (2-5).

Figure 4 .

 4 Figure 4. Comparison between calculated and experimental ECD spectra: (A) compound 2 and (B) compound 3.

  , although the relative and absolute configurations of the latter was undetermined. The only difference between

	Pos.	δC , type	1 a δH (J in Hz)	δC, type	2 δH (J in Hz) b	δH ( J in Hz) c	3 c,d δH ( J in Hz )	δC	4 e	δH ( J in Hz )
	1	71.1, CH2 4.87,d (13.0) 4.31, d (13.0)	98.1, CH2 6.66, s	6.55, s	6.57, s	-	-
	3	167.4, C	-	168.4, C	-	-	-	-	-
	3a	108.1, C	-	96.9, C	-	-	-	100.8, CH	7.47, s
	3b	143.1, C	-	130.9, C	-	-	-	138.1, C	-
	4	163.1, C	-	162.8, C	-	-	-	156.3, C	-
	5	122.6, CH 6.91, s	119.2, CH 6.99, s	6.94, s	6.94, s	119.9, CH	6.85, s
	6	148.1, C	-	146.8, C	-	-	-	139.2, C	-
	6a	116.7, C	-	118.3, C	-	-	-	120.7, C	-
	7	155.6, C	-	134.1, C	-	-	-	147.1, C	-
	8	145.5, C	-	138.9, C	-	-	-	130.7, C	-
	9	191.2, C	-	151.3, C	-	-	-	160.6, C	-
	9a	65.9, C	-	109.7, C	-	-	-	111.7, C	-
	CH3-6	24.8, CH3 2.86, s	24.3, CH3 2.95, s	3.01, s	3.01, s	25.2, CH3	2.96, s
	CH3-6'	23.9, CH3 2.60, s	23.2, C	2.50 , s	2.57, s	2.55, s	23.8, CH3	2.54, s
	H-CO	-	-	-	-	-	-	193.5, CH	10.44, s
	OH-4	-	11.24, s	-	11.78, s	-	-	-	-
	OH-9	_	_	-	10.80, s	-	-	-	-
	OCH3	-	-	55.3, CH3	3.47, s	3.578, s	3.66, s	-	-
	1'α	68.1, CH2 4.74, d (12.5)	68.8, CH2	5.11, d (12.4)	5.19, d (12.4)	5.19, d (12.5)	68.8, CH2	4.88, d (12.1)
	1'β		4.83, d (12.5)		5.03, d (12.4)	5.07, d (12.4)	5.07, d (12.5)		5.13, d (12.1)
	3'	167.3, C	-	167.2, C	-	-	-	167.7, C	-
	3'a	104.1, C	-	103.9, C	-	-	-	103.5, C	-
	3'b	135.8, C	-	146.3, C	-	-	-	145.9, C	-
	4'	164.9, C	-	163.3, C	-	-	-	164.7, C	-
	5'	121.3, CH 6.80, s	120.3, C	6.89, s	6.82, s	6.80, s	121.2, CH	6.75, s
	6'	153.9, C	-	152.8, C	-	-	-	153.8, C	-
	6'a	116.9, C	-	116.5, C	-	-	-	116.7, C	-
	7'	188.0, C	-	190.9, C	-	-	-	189.8, C	-
	8'	63.7, CH	4.71, s	61.4, CH	5.01, s	5.12, s	5.14, s	62.9, CH	5.15, s
	9'	83.9, CH	5.67, s	85.5, CH	5.80, s	5.84, s	5.84, s	85.7, CH	5.79, s
	9'a	47.9, C	-	47.9, C	-	-	-	48.0, C	-
	OCOC H3	20.9, CH3 2.12, s	20.7, CH3 1.97, s	2.05, s	2.05, s	20.8, CH3	2.04, s
	OCOC H3	169.9, C	-	170.0, C	-	-	-	170.3, C	-
	OH-4'	_	11.86, s	-	11.93, s	-	-	-	-

Table 1

 1

) indicated three exchangeable protons [δH 11.93 (OH-4'), 11.78 (OH-4), and 10.80 (OH-9)], four methyl groups [including a methoxy at δH 3.47 (3H, s) and δC 55.3], one methylene, five methines [two oxygenated at δH 6.99 (1H, s, H-1) and δC 98.1 (C-1); δH 5.80 (1H, s, H-9'

Table 2 .

 2

	Pos.	δC, type	δH (J in Hz) Pos.	δC, type	δH (J in Hz)
	1	134.3, CH	8.24, s	1'α	72.1, CH2	5.14, d (12.1)
	3	167.8, C	-	1'β		5.47, d (12.1)
	3a	108.3, C	-	3'	168.4, C	-
	3b	136.1, C	-	3'a	106.1, C	-
	4	162.6, C	-	3'b	143.8, C	-
	5	118.0, CH	6.97, s	4'	168.4, C	-
	6	149.2, C	-	5'	120.3, CH	6.59, s
	6a	117.3, C	-	6'	150.1, C	-
	7	89.4, C	-	6'a	122.0, C	-
	8	64.6, CH	4.40, s	7'	191.9, C	-
	9	194.3, C	-	8'	68.5, CH	4.56, s
	9a	112.2, C	-	9'	79.8, CH	5.60, s
	CH3-6	22.3, CH3	2.84, s	9'a	51.9, C	-
	CH3-6'	22.4, CH3	2.12, s	COCH3 20.8, CH3	2.21, s
	OH-4	-	13.26, s	COCH3 170.4, C	-
	OCH3	51.7, CH3	3.06, s	-	-	-

1

H NMR (500 MHz, 298 K) and

13

C NMR (125 MHz, 298 K) data of 5 in CDCl3

Table 3 .

 3 Cytotoxic and antibacterial activities (IC50 in µM and MIC values in µg/mL) of

	compounds 1, 2 and 4-6
	compound	S. aureus	S. haemolyticus	E. faecalis	Hela
	1	29.3±0.3	> 30	> 30	> 100
	2	15.6±0.5	> 30	> 30	> 50
	4	> 50	> 50	> 50	> 50
	5	5.0 ± 0.9	20.4 ± 6.5	>30	49.5 ± 10.3
	6	5.2 ± 0.9	9.5 ± 0.4	2.4± 0.1	NT
	Tetracycline 0.05 ± 0.005	29.5± 0.3	0.4 ± 0.1	NT
	Cisplatine	NT	NT	NT	10.6 ± 6.6
	NT: Not tested

  H and13 C NMR data (pyridine-d5) see Table1;(-) ESI-MS: m/z 545.1139 [M-H] -, (+) ESI-MS: m/z 547.1255 [M+H] + (calcd. for C29H23O11, 547.1240). The cytotoxicity was determined by the MTT assay. Briefly, HeLa cells were seeded in 96-well tissue culture plates at 2500 cells/well and incubated overnight. The exponentially growing cells were then exposed to different drug concentrations for four doubling times. Cellular viability was determined by exposing cells to the MTT tetrazolium salt for 4 h at 37 °C, and the formation of formazan was measured at 560 nm by a microplate reader. The concentration inhibiting cell growth by 50% compared with untreated controls was determined from the curves plotting survival as a function of dose. All values are averages of at least three independent experiments each done in duplicate. Cisplatin ® was used as a control compound. Bacterial Strains and Culture Conditions. References strains of Escherichia coli (ATCC 8739), Staphylococcus aureus (ATCC 6538), Staphylococcus haemolyticus (MNHN26), Enterococcus faecalis (CIP 103014) were cultivated for 24 h in Luria Bertani medium (LB) at 37 °C.

	2870, 1720, 1675, 1260; 1 Bacillisporin G (4): pale yellow semisolid; [α] D 20 +30.4 (c 0.1, CH2Cl2); UV (MeCN)
	λmax nm (log ε): 235 (6.1), 282 (5.6), 373 (5.2); IR (NaCl) νmax cm-1: 2360, 2341, 1751, 1670,
	1615, 1269, 1223, 1045, 1018, 818; 1 H and 13 C NMR data (CDCl3) see Table 2; (-) ESI-MS: m/z
	487.1006 [M-H] -(calcd. for C27H19O9, 487.1029).
	Bacillisporin H (5): pale yellow oil; [α] D 20 -10.2 (c 0.04, CH2Cl2); UV (MeCN) λmax nm
	(log ε): 215 (3.6), 238 (3.8), 315 (3.2), 355(2.8), 375(2.8), 450 (2.9); IR (NaCl) νmax cm -1 : 2956,
	2922, 2852, 2359, 2341, 1734, 1675, 1446, 1261, 800, 739; 1 H and 13 C NMR data (pyridine-d5)
	E (1): pale yellow oil; [α] D 20 +7.3 (c 0.1, CH2Cl2); UV (MeCN) λmax
	nm (log ε): 235 (5.5), 280 (3.6), 320 (3.3), 350 (3.1) ; IR (NaCl) νmax cm -1 : 3421 (br), 2924, 2851,
	1670, 1635, 1269, 1223, 1126, 1018; CD (c 2.8×10 -4 M, CH2Cl2) λmax (Δɛ) 350 (+1.6) nm; 1 H and
	13 C NMR data (CDCl3) see Table 1; (-) ESI-MS: m/z 531.0950 [M-H] -(calcd. for C28H19O11,
	531.0927).
	Bacillisporin F (2): pale yellow semisolid; [α] D 20 +43.5 (c 0.58, CH2Cl2); UV (MeCN) λmax
	nm (log ε): 228 (4.9), 275 (4.4), 320 (2.9), 355(2.8); IR (NaCl) νmax cm -1 : 2958, 2929, 2872, 2858,
	1724, 1676, 1460, 1273, 1124, 1072, 742; 1 H and 13 C NMR data (pyridine-d5) see Table 1; (-)
	ESI-MS: m/z 545.1139 [M-H] -, (+) ESI-MS: m/z 547.1255 [M+H] + (calcd. for C29H23O11,
	547.1240).
	1-epi-Bacillisporin F (3): pale yellow amorphous solid; [α] D 20 +43 (c 0.58, CH2Cl2); UV
	(MeCN) λmax nm (log ε): 208 (5.3), 238 (5.3), 280 (5.4), 322 (5.5); IR (NaCl) νmax cm -1 :2958,

see Table 1; (-) ESI-MS: m/z 544.1221 [M-H] -(calcd. for C29H22NO10, 544.1244).

Computational Methods. All calculations have been performed using Gaussian 09, Revision D.01

18

with the B3LYP functional at the 6-31g(d) level. After a frequency calculation at the same level of theory in order to check that the studied structure was not presenting any negative (imaginary) frequencies, the shielding constants have been calculated with the GIAO method at the 6-311+g(d,p) level. ECD calculations were performed for 150 exited states at the 6-31g(d) level in acetonitrile using the Polarizable Continuum Model. SpecDis 1.64 was used for the process of the quantum chemical ECD calculations.

19

Growth Inhibition Assays On HeLa Cells.

AUTHOR INFORMATION

Corresponding Author

*E-mail : sprado@mnhn.fr. Tel.: +33 1 40 79 31 19. *E-mail : bnay@mnhn.fr. Tel.: +33 1 40 79 56 09.

Notes

The authors declare no competing financial interest.

ACKNOWLEDGMENT

The "China Scholarship Council (CSC)" is acknowledged for granting a PhD fellowship to YZ.

The authors thank L. Dubost for the mass spectra, A. Deville for NMR spectra. The 400 MHz and 600 MHz NMR spectrometers used in this study were funded jointly by the Région Ile-de-France, the MNHN (Paris, France) and the CNRS (France). The CNRS is acknowledged for research funding (interdisciplinary call Physic-Chemistry-Biology 2011).


Gwendal Daniel
email: gwendal.daniel@inria.fr

Efficient Persistence and Query Techniques for Very Large Models

Keywords: Model Persistence, Model Query, Scalability, NoSQL, OCL

While Model Driven Engineering is gaining more industrial interest, scalability issues when managing large models have become a major problem in current modeling frameworks. In particular, there is a need to store, query, and transform very large models in an efficient way. Several persistence solutions based on relational and NoSQL databases have been proposed to tackle these issues. However, existing solutions often rely on a single data store, which suits for a specific modeling activity, but may not be optimized for other scenarios. Furthermore, existing solutions often rely on low-level model handling API, limiting NoSQL query performance benefits. In this article, we first introduce NEOEMF, a multi-database model persistence framework able to store very large models in an efficient way according to specific modeling activities. Then, we present the MOGWAÏ query framework, able to compute complex OCL queries over very large models in an efficient way with a small memory footprint. All the presented work is fully open source and available online.

Introduction

The growing use of Model Driven Engineering (MDE) techniques in industry [START_REF] Hutchinson | Model-driven engineering practices in industry[END_REF][START_REF] Mohagheghi | MDE adoption in industry: challenges and success criteria[END_REF]) has emphasized scalability of existing technical solutions to store, query, and transform large models as a major issue [START_REF] Kolovos | A research roadmap towards achieving scalability in model driven engineering[END_REF][START_REF] Warmer | Building a flexible software factory using partial domain specific models[END_REF]. Large models containing up to several millions of elements typically appear in various engineering fields, such as civil engineering [START_REF] Azhar | Building information modeling (BIM): Trends, benefits, risks, and challenges for the AEC industry[END_REF], automotive industry [START_REF] Bergmann | Incremental evaluation of model queries over EMF models[END_REF], product lines [START_REF] Pohjonen | Automated production of family members: Lessons learned[END_REF], and can be generated in model-driven reverse engineering processes [START_REF] Bruneliere | MoDisco: A model driven reverse engineering framework[END_REF], such as software modernization.

Since the publication of the XMI standard (OMG 2016), XMLbased serialization has been the preferred format for storing and sharing models and metamodels. The Eclipse Modeling Framework (EMF), the de-facto standard for building MDE tools, has even adopted it as their standard serialization mechanism. However, XMI-based serialization has two major drawbacks: (i) XMI files are verbose, favoring human-readability at the expanse of the compactness and (ii) XMI files have to be entirely parsed to obtain a navigable model of their contents. The first one decreases efficiency of I/O accesses, while the second greatly increases the memory needed to load and navigate a model. Moreover, XMI serializations typically lack support for advanced features such as transactions or collaborative edition, and large monolithic model files are challenging to integrate in existing versioning systems [START_REF] Barmpis | Hawk: Towards a scalable model indexing architecture[END_REF].

To overcome these limitations, several research groups have proposed their own solutions (detailed in Section 5) based on relational/NoSQL databases (Eclipse Foundation 2016a; [START_REF] Pagán | Querying large models efficiently[END_REF][START_REF] Scheidgen | Automated and Transparent Model Fragmentation for Persisting Large Models[END_REF]. They often rely on a lazyloading mechanism that reduce memory consumption by bringing objects in memory from the datastore only when they are accessed.

While this evolution of model persistence backends has improved the support for managing large models, they are just a partial solution to the scalability problem in current modeling frameworks: they often provide a single generic way to represent models, regardless the way they will be used. In particular, most of them are focused on saving and loading models in an optimized time and memory consumption, without providing adequate solutions for specific modeling scenarios, such as interactive editing, query computation, or model transformations.

Furthermore, all persistence frameworks are based on the use of low-level model handling APIs (accessing individual model element, attribute, or reference) which are then used by most other MDE tools in the framework ecosystem. This approach is clearly inefficient when used on top of lazy-loading persistence frameworks because (i) the API granularity is too fine-grained to benefit from the advanced query capabilities of the backend and (ii) an important time and memory overhead is necessary to construct navigable intermediate objects that can be used to interact with the API.

To overcomes these limitations we introduce NEOEMF, a multi-database persistence framework able to store models in several NoSQL databases, depending on the expected usage of the model. NEOEMF is strictly compatible with the EMF API, and relies on a modular architecture which allows to change underlying backend transparently. We also present MOGWAÏ, a query framework that bypasses modeling API to compute OCL queries over large models in an efficient an scalable way.

The rest of the paper is structured as follows: Section 2 introduces NEOEMF and gives an overview of its feature and supported datastores, Section 3 presents the MOGWAÏ, our solution to compute model queries efficiently. Section 4 provides some insights on the implementation of the presented tools, and Section 5 reviews existing works in the fields of model persistence and model query.

Finally, Section 6 summarizes the key points of the paper, draws conclusions and presents our future work.

NeoEMF: a Multi-Datastore Persistence

Framework for EMF

Our previous works and experiments on model persistence (Gómez et al. 2015;[START_REF] Benelallam | Neo4EMF, a Scalable Persistence Layer for EMF Models[END_REF]Gómez et al. 2015) have shown that providing a well-suited data store for a specific modeling scenario can dramatically improve performance of client applications. For example, a graph database can be the optimal solution to compute complex model queries, while it would be quite inefficient for repeated atomic accesses. Based on this observation, we developed NEOEMF (Daniel et al. 2016a) In what follows we first introduce the NEOEMF framework and its integration into the EMF ecosystem, then we present the key features of the software, and we briefly introduce the available backends and the typical modeling scenario they address.

Framework Overview

Figure 1 presents an overview of the NEOEMF framework and its integration within the EMF environment. Modelers typically access a model using Model-based Tools, which provide high-level modeling features such as a graphical interface, interactive console, or query editor. Model-based Tools internally rely on EMF's Model Access API to navigate models, create and delete elements, verify constraints, etc. In its core, EMF delegates the operations to a persistence manager using its Persistence API, which is in charge of the serialization/deserialization of the model. The NEOEMF core component is defined at this level, and can be registered as a persistence manager for EMF, same as, for example, the default XMI persistence manager. This design makes NEOEMF both transparent to the client-application and EMF itself, that simply delegates calls without taking care of the actual storage.

Once the core component has received the modeling operation to perform, it forwards it to the appropriate database connector (Map, Graph , or Column), which is in charge of the low-level mapping of the model. These connectors translate modeling operations into Backend API calls, store the results, and reify database records into EMF EObjects when needed. In addition, NEOEMF embeds a set of default caching strategies that can be configured transparently at the EMF API level. These caching strategies can be used to improve performance of client applications, and enabled/disabled according to specific requirements.

In addition to this transparent integration into existing EMF applications, NEOEMF provides its own API, which targets advanced users / high-performance applications. This API provides utility methods which overcome EMF limitations, allow fine-grained tuning of the databases, and access to internal caches.

Software Features

An important characteristic of NEOEMF is its compliance with the EMF API. All classes/interfaces extending existing EMF ones strictly define all their methods, and ensure that a call to a NEOEMF method produces the same behavior (including possible side effects) as standard EMF API calls. As a result, existing applications can move from EMF to NEOEMF with a very small In particular, NEOEMF supports the following EMF features:

Code generation: NEOEMF embeds a dedicated code generator that transparently extends the EMF one, and allows client applications to manipulate models using generated java classes.

Reflexive/Dynamic API: in addition to generated code, reflexive and dynamic EMF methods can be used on NEOEMF objects, and behave as their standard implementations.

Resource API: NEOEMF also implements the resource specific API, such as getContents, getAllContents, save, and load.

As other model persistence solutions (Eclipse Foundation 2016a; Pagán and Molina 2014), NeoEMF achieves scalability using a lazy-loading mechanism, which loads into memory objects only when they are accessed, overcoming XMI's limitations. Lazy-loading is defined at the core component: NEOEMF implementation of EObject consists of a simple wrapper delegating all its method calls to the corresponding database driver. Using this technique, NEOEMF benefits from data store caches, and only maintains a small amount of elements in memory (the ones that have not been saved), reducing drastically the memory consumption of modeling applications.

NeoEMF also contains a set of caching strategies that can be plugged atop of the data store according to specific needs. Note that these caches are available for all connectors, unless otherwise stated.

EStructuralFeaturesCaching: a cache storing loaded objects by their accessed feature. IsSetCaching: a cache keeping the result of isSet calls to avoid multiple accesses to the database. SizeCaching: a cache storing the size of multi-valued features to avoid multiple accesses to the database. RecordCaches: a set of database-specific caches maintaining a list of records to improve execution time.

Finally, in our last work (Daniel et al. 2016c) we have extended the cache support in NEOEMF with an integrated prefetching/caching framework that allows to customize data access in order to speed-up query computation. The PrefetchML framework is composed of a DSL that allows designers to specify prefetching and caching rules with a high-level of abstraction, and an execution engine that is in charge of triggering the rules and fetching the elements from the database.

Data Stores

For now, NEOEMF provide three connectors that are able to represent model into specific data stores. In this section we present these connectors and the modeling scenario they are optimized for.

NEOEMF/MAP

NEOEMF/MAP (Gómez et al. 2015) has been designed to provide fast access to atomic operations, such as accessing a single element/attribute, and navigating a single reference. This implementation is optimized for EMF API-based accesses, which typically generate atomic and fragmented calls on the model. NEOEMF/MAP embeds a key-value store, which maintains a set of in-memory/on disk maps to speed up model element accesses. The benchmarks performed in previous work (Gómez et al. 2015) show that NEOEMF/MAP is the most suitable solution to improve performance and scalability of EMF API-based tools that need to access very large models on a single machine.

NEOEMF/GRAPH

NEOEMF/GRAPH [START_REF] Benelallam | Neo4EMF, a Scalable Persistence Layer for EMF Models[END_REF]) relies on the rich traversal features that graph databases usually provide to compute efficiently complex queries over models. This specific modeling scenario is further explained in the next Section, where we present a framework able to compute OCL queries efficiently by translating them into graph traversals. NEOEMF/GRAPH maps models to property graphs, where model elements are translated into vertices, attributes into vertex properties, and references as edges. Note that to enable complex query computation, metamodel elements are also persisted as vertices, and are linked to their instances through a dedicated INSTANCE_OF relationship.

NEOEMF/COLUMN

NEOEMF/COLUMN (Gómez et al. 2015) relies on a distributed column-based data store to enable the development of distributed MDE-based applications. In contrast with Map and Graph implementations, NEOEMF/COLUMN offers concurrent read/write capabilities and guarantees ACID properties at model element level. It exploits the wide availability of distributed clusters in order to distribute intensive read/write workloads across datanodes. The distributed nature of this persistence solution is used in the ATL-MR [START_REF] Benelallam | Distributed Model-to-Model Transformation with ATL on MapReduce[END_REF] tool, a distributed engine for model transformations in the ATL language on top of MapReduce.

Mogwaï: a Framework to Perform OCL Queries on Large Models

In the previous Section we introduced the NEOEMF framework, that provides a transparent way to store models into NoSQL databases. While this architecture allows to store very large models in a scalable way, the presented solution is tailored to the low-level modeling API, which generates fragmented queries on the data store, reducing the benefits of advanced database query capabilities. Furthermore, the EMF API imposes to reify each traversed element into a navigable EMF object, even if it is not part of the final result of the query, increasing the memory needed to compute a query.

To address these issues we propose the MOGWAÏ (Daniel et al. 2016b) query framework that is able to handle complex queries on large models. The MOGWAÏ framework takes benefits of the advanced query language available on NEOEMF/GRAPH's internal data store. The MOGWAÏ framework translates queries expressed in OCL (Object Constraint Language) into Gremlin (Tinkerpop 2016), a graph traversal query language. Generated queries are then sent to the database that is in charge of their computation, bypassing EMF API limitations.

In this Section we first show an overview of the Gremlin language, then we present our transformation approach, and we introduce some experimental results.

The Gremlin Language

Gremlin is a Groovy based query language which is part of the Tinkerpop initiative, a set of tools that aims to uniform graph database under a common API.It is built on top of Pipes, a data-flow framework based on process graphs. A process graph is composed of vertices representing computational units and communication edges which can be combined to create a complex processing. In the Gremlin terminology, these complex processing are called traversals, and are composed of a chain of simple computational units named steps.

Existing work have shown that Gremlin is an interesting alternative to Cypher, the pattern matching language used to query Neo4j graph database [START_REF] Holzschuher | Performance of graph query languages: Comparison of cypher, gremlin and native access in neo4j[END_REF]) that can even outperform the native query language for specific query scenarios. Gremlin defines four types of steps:

Transform steps: functions mapping inputs of a given type to outputs of another type. They constitute the core of Gremlin: they provide access to adjacent vertices, incoming and outgoing edges, and properties. In addition to built-in navigation steps, Gremlin defines a generic transformation step that applies a function to its input and returns the computed results. Filter steps: functions to select or reject input elements w.r.t. a given condition. They are used to check property existence, compare values, remove duplicated results, or retain particular objects in a traversal. Branch steps: functions to split the computation into several parallelized sub-traversals and merge their results. Side-effect steps: functions returning their input values and applying side-effect operations (edge or vertex creation, property update, variable definition or assignation).

In addition, the step interface provides a set of built-in methods to access meta information: number of objects in a step, output existence, or first element in a step. These methods can be called inside a traversal to control its execution or check conditions on particular elements in a step.

We chose Gremlin as our target language because its expressivity allows to map the entire OCL, and because it is to our knowledge the only one that is supported by several NoSQL databases.

Framework Overview

The MOGWAÏ framework is composed of two components: (i) the OCL2Gremlin model-to-model transformation, which maps OCL expressions on to Gremlin traversals, and (ii) the NeoEMF/Mogwa persistence layer, an extension of NEOEMF/GRAPH that provides an advanced query API for graph databases. We choose OCL as our input language because it is a well-known OMG standard used to complement graphical (meta) modeling languages with textual descriptions of invariants, operation contracts, derivation rules, and query expressions. Gremlin is a NoSQL query language designed to query databases implementing the Blueprints API, an abstraction layer on top of graph stores which has been implemented by several databases. Therefore, we choose Gremlin as our target language, because it is the most mature and generic solution to query a wider variety of NoSQL databases.

Figure 2 shows the overall query process of (a) the MOGWAÏ query framework and compares it with (b) standard EMF API based approaches. An initial textual OCL expression is parsed and transformed into an OCL query model. This model constitutes the input of the OCL2Gremlin MOGWAÏ component, which consists of a model-to-model transformation generating the corresponding Gremlin traversal model.

This transformation is composed of a mapping from OCL on to Gremlin and a translation algorithm that implements this mapping and merge the created steps into a single query. The Gremlin model is then converted to a textual expression and sent to the NeoEMF/Mogwa component, that computes it on the database side. Query results are then reified as standard EMF objects by NeoEMF/Mogwa , making them usable in any EMF-based scenario.

Compared to existing query frameworks, MOGWAÏ does not rely on the EMF API to perform a query. In general, API based query frameworks translate OCL queries into a sequence of lowlevel API calls, which are then performed one after another on the persistence layer (in this example NeoEMF/Graph). While this approach has the benefit to be compatible with every EMF-based application, it does not take full advantage of the database structure and query optimizations. Furthermore, each object fetched from the database has to be reified to be navigable, even if it is not going to be part of the end result. Therefore, execution time of the EMFbased solutions strongly depends on the number of intermediate objects fetched from the database while for the MOGWAÏ framework, execution time does not depend on the number of intermediate objects, making it more scalable over large models.

Experimental Results

Experimental results presented in (Daniel et al. 2016b) show that using the MOGWAÏ framework to perform complex queries over large models can dramatically improve performances both in terms of memory consumption and execution time. In particular, allInstances based queries computed with the MOGWAÏ are up to 20 times faster and up to 75 times better in terms of memory consumption than the Eclipse OCL interpreter and the EMF-Query framework, two state of the art tools in EMF-based model queries.

Instead, if the query traverses a small part of the model, or if an important part of the intermediate results are needed anyway the benefits of using the MOGWAÏ framework are reduced. In particular, the overhead implied by the transformation engine may not be worthwhile when dealing with relatively small models or simple queries.

The main disadvantage of the MOGWAÏ framework concerns its integration to an EMF environment. To benefit from the MOGWAÏ, other Eclipse plug-ins need to be explicitly instructed to use it. Integration with the MOGWAÏ framework is straighforward but must be explicitly done. Instead, other solutions based on the standard EMF API provide benefits in a transparent manner to all tools using that API.

Tool Support

NEOEMF is composed of a set of open source Eclipse plugins distributed under the EPL license. Available components are actively developed and maintained, and the source code repository is fully available on GitHub (https://github.com/atlanmod/ NeoEMF). The NEOEMF website 1 presents an overview of the supported datastores, the key features, and current ongoing work. NEOEMF has been released as part of the MONDO platform [START_REF] Kolovos | MONDO: Scalable Modelling and Model Management on the Cloud[END_REF].

NEOEMF/GRAPH relies on Blueprints, a high-level interface designed to unify graph databases under a common API. Blueprints has been implemented by several datastores such as Neo4j, OrientDB, and Titan. Using this abstraction layer, client applications can choose the graph store of their choice to persist models through NEOEMF/GRAPH. For now, NEOEMF 1 www.neoemf.com Figure 3. Mogwaï Interactive Console embeds Blueprints 2.5.0 and provides a convenience wrapper for Neo4j 1.9.6. NEOEMF/MAP is built on top of MapDB 1.0.9, a key-value store providing Maps, Sets, Lists, and other collections backed by off-heap or on-disk storage. MapDB provides advanced features such as database snapshots, ACID transactions support, and incremental backups. NEOEMF/COLUMN persists models in Apache HBase 0.98.12-hadoop2, a wide column database providing distributed data storage on top of HDFS. HBase is designed to handle very large tables atop clusters of commodity hardware. The distribution of the model on the cluster is hidden from client applications, which accesses them transparently through the EMF API.

A prototype of the MOGWAÏ framework has been developed as part of NEOEMF (https://github.com/atlanmod/Mogwai). It extends the standard EMF API provided by NEOEMF by defining additional query methods at the Resource level. The query API accepts a textual OCL expression or an URI to an OCL file containing the expressions to compute. In addition, it is possible to provide input values that represents self and parameter variables. The framework also provides an OCL console (see Figure 3) integrated into Eclipse that allows to query NEOEMF/GRAPH models interactively.

OCL queries are parsed using Eclipse MDT OCL, and the core transformation creating the Gremlin model from the OCL one is composed of a set of 70 ATL [START_REF] Jouault | ATL: A model transformation tool[END_REF]) rules and helpers. The created Gremlin model is then expressed using its textual syntax and sent to an embedded Gremlin engin, which executes the query and returns the results. The reification of these results into model elements is delegated to NEOEMF/GRAPH, that is in charge of the mapping between graph and model elements.

Related Work

In this Section we present existing solutions that aims to tackle scalability issues to store and query large models and we compare them with NEOEMF on the persistence side, and the MOGWAÏ framework on the query one.

Scalable Model Persistence

The CDO model repository (Eclipse Foundation 2016a) is a scalable model persistence framework based on a client-server architecture to handle large model in a collaborative environment. It provides some advanced features such as transaction support or basic prefetching, and provides a lazy-loading mechanism to reduce memory consumption. CDO can be plugged with several database Morsa [START_REF] Pagán | Morsa: A scalable approach for persisting and accessing large models[END_REF][START_REF] Pagán | Querying large models efficiently[END_REF] is one of the first approaches that use NoSQL databases to handle very large EMF models. It relies on a client-server architecture based on Mon-goDB2 and aims to manage scalability issues using documentoriented database facilities and a lazy-loading mechanism. Morsa model persistence is available through the standard EMF mechanisms, making its integration transparent in existing EMF based applications. NEOEMF is similar to Morsa in several aspects, but aims to provide multiple backends that can be chosen according to a specific modeling scenario.

EMF fragments [START_REF] Scheidgen | Automated and Transparent Model Fragmentation for Persisting Large Models[END_REF]) is another NoSQLbased persistence layer for EMF aimed at achieving fast storage of new data and fast navigation of persisted models. Supported backends are MongoDB, Apache Hbase and regular files on the file system. EMF fragments is based on the proxy mechanism used by EMF for inter-document relationships: models are automatically partitioned in several chunks (fragments) using metamodel annotations, and linked together using the standard EMF proxy mechanism. Unlike our approach, CDO, and Morsa, all data from a single fragment is loaded at a time. Only links to another fragments are loaded on demand. Another characteristic of this approach is that metamodels have to be modified to indicate where the partitions should be made to get the partitioning capabilities, whereas NEOEMF can be plugged directly into existing EMF-based applications.

Model Query

There are several frameworks to query models, specially targeting the EMF framework (including one or more of the EMF backends mentioned before). The main ones are Eclipse MDT OCL (Eclipse Foundation 2016b), EMF-Query (The Eclipse Foundation 2016) and IncQuery [START_REF] Bergmann | Efficient model transformations by combining pattern matching strategies[END_REF].

Eclipse MDT OCL provides an execution environment to evaluate OCL invariants and queries over models. It relies on the EMF API to navigate the model, and stores allInstances results in a cache to speed up their computation.

EMF-Query is a framework that provides an abstraction layer on top of the EMF API to query a model. It includes a set of tools to ease the definition of queries and manipulate results. Compared to the Mogwaï framework, these two solutions are strongly dependent on the EMF API, providing on the one hand an easy integration in existing EMF applications, but on the other hand they are unable to benefit from all performance advantages of NoSQL databases due to this API dependency.

EMF-IncQuery [START_REF] Bergmann | Efficient model transformations by combining pattern matching strategies[END_REF]) is an incremental pattern matcher framework to query EMF models. It bypasses API limitations using a persistence-independent index mechanism to improve model access performance. It is based on an adaptation of a RETE algorithm, and query results are cached and incrementally updated using the EMF notification mechanism to improve performance. While EMF-IncQuery shows great execution time performances [START_REF] Bergmann | Incremental evaluation of model queries over EMF models: A tutorial on EMF-IncQuery[END_REF]) when repeating a query multiple times on a model, the results presented in this article show mitigated performances for single evaluation of queries. This is not the case for our framework. Caches and indexes must be built for each query, implying a non-negligible memory overhead compared to the Mogwaï framework. In addition, the initialization of the index needs a complete resource traversal, based on EMF API, which can be costly for lazy-loading persistence frameworks.

Conclusion

In this article we have presented NEOEMF, our solution to store and access very large models using a multi-datastore model persistence framework. NEOEMF relies on a lazy-loading capability allowing very large model navigation in a reduced amount of memory, by loading elements from the datastore only when they are accessed. NEOEMF has been designed to be fully compatible with existing EMF-based applications by providing a complete implementation of the EMF API. Datastores' behavior and internal caches can be tuned by providing options to the standard save and load EMF methods. Currently, NEOEMF provides three implementations (graph, map, and column) that can be plugged transparently to provide an optimized solution to different modeling use cases: frequent and repeated atomic accesses, complex query computation, and cloud-based model transformation.

In addition to the persistence layer itself, we have introduce the MOGWAÏ framework that generates Gremlin traversals from OCL queries in order to maximize the benefits of using a graph backend to store large models. MOGWAÏ is integrated in the NEOEMF infrastructure, extending NEOEMF/GRAPH with custom query capabilities. OCL queries are translated using model-to-model transformation into Gremlin traversals that are then computed on the database side, reducing the overhead implied by modeling API and the reification of intermediate. Experiments detailed in previous work (Daniel et al. 2016b) have shown that using this approach brings a significant improvement both in terms of execution time and memory consumption. NEOEMF and MOGWAÏ are developed as open-source Eclipse plugins and available online.

Model transformations intensively use model queries to navigate the model to transform, match source elements, or set target values. Integrating the MOGWAÏ framework in model transformation engines (such as ATL [START_REF] Jouault | ATL: A model transformation tool[END_REF])) to compute these queries could drastically reduce the execution time and memory consumption implied by the transformation of large models. Another possible approach would be to extend the MOGWAÏ to translate the transformation itself into database queries and compute it entirely on the database side.

As future work we plan to study the interest of other datastores that could be beneficial for specific use cases. For example, we want to study if a document-based representation could provide some performance gains. We also want to study how datastores can be combined to optimize a set of modeling activities (for example a map/graph backend that would speed-up both query computation and atomic accesses). Finally, we plan to integrate into NEOEMF advanced features which are typically needed by modeling processes, such as model versioning, or collaborative edition. The later could for example benefit of the distributed architecture provided by NEOEMF/COLUMN.

Another ongoing work is to study the integration of the MOGWAÏ framework into model persistence solutions that do not rely on a Gremlin compatible database. For example, we plan to adapt existing work on EOL to SQL translation [START_REF] Carlos | Mqt, an approach for run-time query translation: From EOL to SQL[END_REF]) to test our model-to-model transformation-based approach over SQL databases. Generating SQL queries would also enable to use the Spark-SQL connector for HBase in order to improve query execution time and memory consumption over NEOEMF/COLUMN.

  , a scalable model persistence framework based on a modular architecture enabling model storage into multiple data stores. It is composed of a transparent persistence layer integrated into EMF, and a set of database connectors which are in charge of the serialization of the model into specific databases. Currently, NeoEMF provides three implementationsmap, graph, and column-each one optimized for a specific usage scenario.

Figure 1 .

 1 Figure 1. NeoEMF Integration in EMF Ecosystem

Figure 2 .

 2 Figure 2. Comparison of OCL execution connectors to store a model, but in practice only relational ones are used. In addition, different experiences have shown that CDO faces scalability issues when dealing with very large models (Pagán and Molina 2014; Scheidgen et al. 2012).Morsa[START_REF] Pagán | Morsa: A scalable approach for persisting and accessing large models[END_REF][START_REF] Pagán | Querying large models efficiently[END_REF] is one of the first approaches that use NoSQL databases to handle very large EMF models. It relies on a client-server architecture based on Mon-goDB 2 and aims to manage scalability issues using documentoriented database facilities and a lazy-loading mechanism. Morsa model persistence is available through the standard EMF mechanisms, making its integration transparent in existing EMF based applications. NEOEMF is similar to Morsa in several aspects, but aims to provide multiple backends that can be chosen according to a specific modeling scenario.EMF fragments[START_REF] Scheidgen | Automated and Transparent Model Fragmentation for Persisting Large Models[END_REF]) is another NoSQLbased persistence layer for EMF aimed at achieving fast storage of new data and fast navigation of persisted models. Supported backends are MongoDB, Apache Hbase and regular files on the file system. EMF fragments is based on the proxy mechanism used by EMF for inter-document relationships: models are automatically partitioned in several chunks (fragments) using metamodel annotations, and linked together using the standard EMF proxy mechanism. Unlike our approach, CDO, and Morsa, all data from a single fragment is loaded at a time. Only links to another fragments are loaded on demand. Another characteristic of this approach is that metamodels have to be modified to indicate where the partitions should be made to get the partitioning capabilities, whereas NEOEMF can be plugged directly into existing EMF-based applications.

http://www.mongodb.org


Lionel Dupont
email: lionel.dupont@mines-albi.fr

Matthieu Lauras
email: matthieu.lauras@mines-albi.fr

Claude Yugma
email: yugma@emse.fr

How to Maintain the Network Resilience and Effectiveness in Case of Resources Reduction? A Covering Set Location Approach

Keywords: Location model, resiliency, effectiveness, network, resources reduction, covering location model

The objective of covering set location models consists in designing or modifying a network (commercial shops, antennas, drugstores, etc.) in order to cover totally or partially the demand related to a given area. When an area is covered by several activities (multi coverage), this can improve the responsiveness of the network (in case of congestion traffic for example) but this can also have negative effects such as customers' cannibalization. In this paper, we propose an innovative covering set location model able to support decision makers to design networks that have a high resiliency level (i.e. ability to maintain service level despite hazards or failures) in a context of resources reduction (i.e. closing-down of network installations). Basically, the proposal allows studying the benefits and limits of multi coverage on each part of the network. Heuristic and exact methods are suggested to solve this problem.

Introduction and Research Statement

Many investment projects can be supported through facility location models. The general principle of these models consists in supplying customer demands (goods or services) from one or more facilities spatially distributed on a given area. A facility is defined as a large variety of entities.

Many practical problems can be formulated as covering problems. Here is a nonexhaustive list of real-life problems: police stations, hospitals, radar installations, shop centers, location of retail facilities, etc. For recent surveys on this topic, see [START_REF] Berman | Generalized coverage: New developments in covering location models[END_REF] and [START_REF] Farahani | Covering problems in facility location: A review -Computers& Industrial Engineering[END_REF]. Opening or using a facility is cost expensive (regarding investment and/or use). That is why most of the companies must optimize their networks in order to be competitive. The localization decisions are critical due to the time and expenses that any further change would induce. One particular issue of modern networks consists in avoiding network overcosts by limiting the number of facilities that are necessary to work. Another particular issue is the fact that networks are more and more subjected to hazards. Thus, in a general context of means' reduction, networks should maintain a capability regarding uncertainties. In other words, the challenge is to maximize the efficiency of a network while maintaining the resiliency of this network.

One particular illustration of this problem statement is the rationalization of a banking network on a given territory. Actually, bank companies are currently trying to limit the number of their agencies in order to reduce their costs. But at a same time, they want to propose a high service level to high-potential customers and to improve their resiliency in particular zones that are considered strategic or sensitive (for instance a business district or a shopping area). To do that, the decision-makers have to design a network that is characterized by (i) a limited number of facilities, (ii) a minimum service-level in nominal situation in the whole concerned territory and (iii) a redundancy capability in high-potential areas in order to manage uncertainties. This is the purpose of the current research work.

Classically, the paper is split up into 4 sections. The first one proposes a brief background on the multi-covering facility location problem. The second one formulates the studied problem. The third section develops the proposed model and gives some information regarding the solving step. Finally, the fourth section discusses the results obtained on a numerical application.

Background

One of the most popular models in the research area of facility location is the covering problem. In this problem, the customer can receive service from each facility, of which the distance to the customer is equal or less than a predefined number. This predefined distance is called service distance, coverage distance, or coverage radius R - [START_REF] Fallah | Covering problem[END_REF]. The customer demand is then defined as a discrete set of demand nodes. Demands at a node i are "covered" by a candidate facility site j if the distance between i and j is less than R. On one hand, the Location Set Covering Problem (LSCP) minimizes the number of facilities that are required to cover, at least once, each node. On the other hand, considering a fixed number of facilities available, the Maximal Covering Location Problems (MCLP) maximizes the number of customers reached. Since seventies, many authors have discussed these covering problems such as [START_REF] Toregas | The location of emergency service facilities[END_REF], [START_REF] Berlin | Mathematical analysis of emergency ambulance location[END_REF], [START_REF] Church | The maximal covering location problem[END_REF], [START_REF] Church | Generalized coverage models and public facility location[END_REF] or ReVelle (2008).

The problem that we studied in this paper is related to multiple-coverage problems. By multiple-coverage is meant the presence of more than one facility within the coverage distance. [START_REF] Hogan | Concepts and applications of backup coverage[END_REF] introduced the multiple-coverage concept. [START_REF] Kolen | Covering problems[END_REF] worked on multiple coverage problems. In this paper, the author considers that each existing demand node has to be delivered by a set of new facilities and this set depends on the type of new facilities. He introduces also an upper bound for the number of facilities that have to be located at a given place. From his side, Kim (2008) considered a problem in which the number of facilities on a continuous space is predetermined. He proposed a model, based on two objective functions, able to maximize primary and secondary coverage in such a context. Erdemir (2010) developed a set-covering problem through a MCLP in order to optimize aero medical and ground ambulance services. The originality of this approach is the fact that the allocated budget is not sufficient to satisfy all the demand with the good level of service. To solve this issue, the author proposed to maximize the amount of demand covered within the acceptable service distance by locating a given fixed number of new facilities. Erdemir (2010) developed a covering model that is a combination of response and total service times. Three complementary service coverage have been considered: (i) the field emergency medical one, (ii) the air emergency medical one and (iii) the joint coverage ground air emergency medical thorough transfer point one. Based on those, the model assesses if a node can be fulfilled by an emergency medical service in the frame of the response and service time limits. Then, the proposed model covers both crash nodes and paths (i.e. nodes and links of network).

Multiple-coverage can be suitable or prejudicial. When an area is covered by several activities (multi coverage), this improves the responsiveness and resilience of the system (in case of congestion traffic for example) but some also have negative effects (cannibalization customer for example). In the case of service or emergency facility, multi-coverage is suitable: with high levels of multiple coverage a congested system may more often be able to respond to demand even if the most desirable facility is busy. In the case of antenna placement, on the contrary, it is prejudicial: it creates electromagnetic interference due to multiple uses of frequencies at the node.

Problem Formulation

In this research work, a new extension of the multi-covering facility location problem is proposed. Here, the decision-maker wants to develop a multi-covering solution in particular areas and to avoid it in other ones. Let's consider the following example to underline the interests of such an objective. A company has opened during the years 50 stores in a urban area. Considering the population and competitors' evolutions, the network is not adapted anymore. The company wants to keep only 20 of its 50 shops. The urban area has been split up into a 20 x 20 square. We make the assumption that a shop covers a square of 5 x 5 (25 spots). The figure 1 hereafter gives the forecasted turnover for each spot and the position of the 50 current shops.. Following a study, the urban area has been shared into three zones: 1. A zone characterized by a strong demand (in red). This is the most profitable one, where the competition is very intense. The objective is to have an important presence in any circumstance. The decision-maker wants to favor multi-covering solution able to offer a high-service level even when a hazard occurs. 2. A zone characterized by a medium demand (in orange). In this zone, there are few competitors and the decision-maker wants to be present. 3. A zone characterized by a low demand (in white). The decision-maker wants to keep a minimal presence on this area.

Each shop has a rental cost which varies depending on the location. In this example, we have considered proportional costs to turnovers (resp 4, 9, 14). Considering this network, the problem will consist in reducing the number of facilities from 50 to 20 while maintaining a high level of resiliency (evaluated through a multicovering rate) and a high level of service (evaluated through a unsatisfied demand rate).

Scientific Proposition

If a demand node i is not covered by any facility, there is a gain of gi. Conversely, if a demand node i is covered by q facilities, it is an additional (or redundancy) value that is proportional to the number of extra facilities. This value is equal to (q-1).pi where pi is the unit additional value. This value will be positive value (a gain) if multiplecoverage is suitable. Otherwise, it is a negative value (cost)

The capacity of a facility is assumed to be unlimited. Establishing a facility on a site j has a fixed cost fj. 3 2 1 1 2 2 3 1 2 3 2 1 3 3 1 2 2 3 2 1 3 1 3 3 1 1 3 4 5 4 4 4 4 6 2 3 1 2 3 2 3 4 1 4 4 3 3 9 7 5 4 4 3 1 1 1 2 1 5 6 2 3 6 3 6 5 7 10 9 9 3 5 2 2 2 3 2 The problem can be formulated through a Mixed Integer Linear Programming (MILP) with binaries variables and the mathematical integer programming written as follows.

Let: i:

index of demand nodes j:

index of potential sites S(i): set of sites that can cover the demand at node i N(j): set of nodes that can be covered by site j

Let us now define the set of decision variables:

• Binary allocation variables Xij are equal to 1 if node i is covered by site j and 0 otherwise.

∑ ∈ ≤ ∀ ) ( . ) ( ) 2 ( j N i Yj j N Xij j Wi Zi i ≤ ∀ , ) 4 ( Zi i S Wi i . ) ( , ) 5 ( ≤ ∀ Max P Yj j ∑ ≤ ) 6 (
Constraint (2) expresses the location and allocation variables and indicates that site j is established if it covers at least one node of N(j). Constraints (3) determine the number of sites that cover node i. Constraints (4) and ( 5) state that Zi is equal to 0 if Wi is equal to 0, and Zi is equal to 1 if Wi is greater than or equal to 1. Constraint (6) limits the number of located facilities at PMax.

∑ ∈ = ∀ ) ( , ) 3 ( i S j

Wi Xij i

This formulation uses 4 kinds of integer and binary variables. This formulation does not allow building a concise enumeration tree useable by a branch and bound technique. The integer variables Wi can easily be replaced by their expression (see equation 3). To limit the number of binary variables, we start by re-formulating this problem. Then, we call "main" facility of node i one and only one of the facility covering i. The other facilities covering i are "extra" facilities. They induce the multiple-coverage cost. The issue is then to select the main facilities. Let us introduce the binary allocation variables XMij. XMij are equal to 1 if site j is established (Yj=1) and site j is the main facility for node i, and 0 otherwise (site j is established and is extra facility of i or site j is not establish).

Within these variables XMij, the objective function can be written as following:

∑ ∑ ∑ ∑ ∑ - - + j j j S j j S Yj fj XMij Yj pi XMij gi . ) .( . ) ( ) ( ( ) ∑ ∑ ∑ ∑ - - - = ) ( . ). . ( j S j i j pi fj Yj XMij pi gi Let: . . pi gi ai - = ∑ - = ) ( j S

pi fj bj

The problem can be formulated:

. . . max ) 7 ( ∑ ∑ ∑ - j i j

Yj bj XMij ai

The constraints become:

∑ ∈ ≤ ∀ ) ( . ) ( ) 8 ( j N i Yj j N XMij j ∑ ∈ ≤ ∀ ) ( 1 , ) 9 ( i S j Xij i Max P Yj j ∑ ≤ ) 10 (
The objective function ( 7) maximizes the gain. Constraints [START_REF] Hogan | Concepts and applications of backup coverage[END_REF] assure that Yj=1 if and only if a demand node has j as a main facility. Equation ( 9) ensures that at most one facility is the main facility of node i. Constraint (10) limits the number of located facilities.

Solving Issue

This kind of MILP problem can be solved by current software only if the problem has a limited size. That's why we propose to use here a branch and bound method: Usually, the branch and bound algorithm performance is based on:

1. The search tree enumeration, 2. The lower bound determination, 3. A heuristic or polynomial method that makes it possible to construct a good feasible solution.

Search tree enumeration:

the enumeration tree is constructed by adding a new facility j at each step k. This facility becomes the main facility of the nodes M(j,k) of N( j) not yet covered and a extra facility for the others. Let's consider now the objective function. On one hand, we pay bj to position j. On the other hand, we gain = ∑ ( , ) . The profit is so pjk=bj-vjk. If pjk<0, site j can be rejected from the solution. The ratio rjk= bj/ajk measures the profitability of the facility selection j in step k. The sites' selection is based on a prioritization list. This list can be static (when it is once and for all fixed at the beginning of the enumeration) or dynamic (when it is reconstructed each time a decision is taken). Here the enumeration tree is built dynamically by considering the facilities with a decreasing profitability rjk.

Heuristics:

Two greedy heuristics have been retained here. The first one consists in choosing in every step the site j given that the maximum profitability rjk and in taking it as the main facility of all nodes that are not yet covered.

The second heuristic is built on the same principle by retaining the site j with the maximum profit pjk.

Upper bound:

Here again we have retained two greedy heuristics:

• The first is based on the demand nodes,

• The second is based on the facilities. To obtain the first upper bound, we retain as main facility of any node i not covered the site j not selected of maximum profitability To obtain the second upper bound, we retain at step k, the PMax-k facilities not selected with maximum gain.

We do not detail here the branch and bound and its performances. Nevertheless, up to 60 facilities, the optimal solutions have been obtained in less than 15 minutes (fixed time deadline).

Numerical Application and Discussion

Let's consider the problem described in section 3 and the model proposed to solve it. If we are looking to maximize the profit (turnover minus rental costs), then we obtain the following solution (Fig. 2). The left side of the figure indicates the opened facilities while the right side gives the number of facilities that cover a spot. 1.

Within this solution, 18 demands on 1544 are not satisfied (1.17 %) and the multicoverage is more or less similar in the 3 zones. This result is presented in Tab. 1.

The Fig. 3 proposes an alternative solution, also for 20 facilities (black spots). Regarding this second solution, a light increase of the unsatisfied demand appears (21 instead of 18, or 1.36%). The zone 3 is now favored comparing to zone 1 (see table 1). Moreover, if we consider the uncertainty that exists on the demand associated to each part of the network, the decision-maker should retain this second solution. Our objective consists in supporting decision by proposing to the decision-maker several alternatives and their associated impacts in terms of effectiveness and resiliency. 1.

The Table 1 shows an experiment plan on which we have applied a value p1=-v to zone 1, p2=0 to zone 2 and p3=+v to zone 3. The objective is to find a solution that allows maximizing the resiliency (multi-covering) of the strategic zone (zone 3 in this case) and limiting the unsatisfied demand of low-potential zone (zone 1 in this case), despite of resources reduction (from 50 to 20 facilities).

1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 3 4 1 1 1 1 2 2 2 2 2 2 1 1 1 1 5 6 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 7 8 9 10 1 2 3 3 2 2 2 1 1 1 1 2 2 2 3 3 1 1 1 11 12 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 13 14 15 16 17 1 2 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 1 1 18 1 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 19 20 21 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 22 23 24 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 25 26 27 1 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 2 2 1 28 29 30 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 31 32 33 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 34 35 2 2 2 3 3 1 1 1 1 1 1 1 1 1 2 2 2 2 1 36 37 38 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 1 39 40 41 1 2 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 42 43 44 1 2 2 2 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 45 46 47 48 1 2 2 2 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 49 50 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 2 3 4 1 1 1 2 2 1 1 2 1 1 1 1 5 6 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 7 8 9 10 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 1 1 11 12 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 13 14 15 16 17 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 18 2 2 2 2 2 1 1 1 3 2 2 2 2 1 1 1 1 1 19 20 21 1 1 1 2 3 2 2 2 3 2 2 2 3 1 2 2 2 1 1 22 23 24 1 1 1 2 3 2 2 2 2 1 1 1 2 1 1 1 1 25 26 27 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 28 29 30 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 2 2 1 1 1 31 32 33 1 1 1 2 2 1 1 1 1 2 2 2 3 2 1 1 1 34 35 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 36 37 38 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 39 40 41 1 2 2 2 1 1 2 2 2 2 3 2 2 2 2 1 1 1 1 1 42 43 44 1 2 2 2 1 1 2 2 2 2 3 2 2 3 3 2 2 2 1 1 45 46 47 48 1 2 2 2 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 1 49 50 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 2 1 1
The first part of the Table 3 (multi-covering ratio) gives the average number of facilities that cover a slot of each zone 1, 2 or 3. The second part (unsatisfied demand ratio) indicates the percentage of turnover that has been lost in each zone. If v=0, then we are just looking for to maximize the profit (turnover minus rental costs of the shops). Without favoring a zone regarding another one, there is very few difference between the multi-covering ratio of each slot. This rate evolves from 1.29 for zone 2 to 1.41 to zone 3. The unsatisfied demand ratio is low and varies from 0.47% in zone 1 to 1.60 % in zone 2.

When v increases, we observe that the solutions evolve step by step. In this table, we show 8 different solutions corresponding to v={0; 0.05; 0.20; 0.40; 0.45; 0.60; 0.65; 0.75}. We can remark that the multi-covering ratio -that is representative of the resiliency capability of the network -decreases continuously from a solution to another one (from 1.34 to 0.52). At a same time, this ratio increases for zone 3 from 1.41 to 2.48. At the opposite, the unsatisfied demand ratio increases, particularly when v is upper than 0.60. Based on our objective, the decision-maker should retain solution 3 or 4.

This paper presents a simplified case, treating each facility equally in terms of operating costs, benefits and homogeneous coverage. In further works, we will propose a new model able to avoid this limitation and to get closer to reality. Another perspective consists in considering randomly distributed demand points.

Fig. 1 .

 1 Fig. 1. Forecasted turnovers and the current shops' map

Fig. 2 .

 2 Fig. 2.First solution for 20 facilities: Solution 1 in Table1.

Fig. 3 .

 3 Fig.3. Second solution for 20 facilities: solution 3 on Table1.

•

  Binary location variables Yj are equal to 1 if a facility is located at site j and 0 otherwise. • Binary coverage variables Zi are equal to 1 if node i is covered by at least a site and 0 otherwise. • Integer variables Wi are equal to the number of established sites which cover node i

	) 1 (	max	∑ i	Zi . gi	+	∑ i	pi (	Ni	-	Zi )	-	∑	j	Yj . fj
	subject to:

Table 1 .

 1 Numerical results.