Were Jupiter himself to woo.
In the wind and flowing wave.
In terms of content, a link between this poem and Catullus 72 (translated earlier on this blog) can clearly be seen. Both portray the poet's changing attitude towards his love (referred to in 72 as "Lesbia"), although this is less explicit in 70: they begin with Lesbia's assurances of her faith to the poet, and then demonstrate how the poet has begun to mistrust her. Both employ the image of Jupiter as a rival to the poet for her affection. This similarity extends also to structural features: both poems seem to fall naturally into two halves, highlighting fundamental changes in the poet's opinion of his love.
In terms of technical achievement, I am rather pleased with my translation: it reads very smoothly in iambic tetrameter (with the final line varying only slightly from this metre). However, it seems to me that certain aspects of the original Latin have been lost. I could find no way of replicating the emphatic "nulli" at the beginning of the first line, without compromising the evenness of my English translation.
I think I am justified in extending the translation, transforming a four-line poem into two verses of three lines each. I do not feel that the original poem is fast-paced; instead, I think that it is a reflective, thoughtful poem, which can best be conveyed with a slow pace. The original Latin contains emphatic enjambments: "malle / quam mihi" and "amanti / in vento". Adding more lines will inevitably change the number of enjambments present, but I endeavoured to maintain their nature: "prefer / to wed" and "writ / in the wind" have a similar effect to the enjambments in the original Latin.
The style of my translation can be described as archaic, almost Shakespearean. Words that stand out as examples are "wed", "woo", "writ" and possibly "ardent". I felt that this creates a more wistful, nostalgic tone. Because, in our imagination, such words are often linked to courtly love and romance, I am suggesting that the poet is longing for a time when he trusted what his love said to him.
Last week, I visited Silchester (Hampshire, England). This is the site of the Roman town of Calleva Atrebatum, which is currently being excavated by a project run by the University of Reading.
Sadly, my visit to this (outdoor) site was cut short by rain. I was, however, able to view the archaeological site – I was given a short tour of the site by a very friendly and informative graduate named Helena (if she's reading this, many thanks!!). I also walked around the Roman walls. Since no more recent settlement has been built on this site, the Roman town remains extremely well-preserved, and thus provides an extremely useful location for archaeological study. The archaeologists are even able to see traces of an Iron Age settlement underneath the Roman town.
Helena mentioned that the Roman town was abandoned, but did not explain why or whether this was linked to the general withdrawal of the Romans from Britain. I performed a little research (my sources are cited below, as usual), and discovered that Calleva Atrebatum may have survived until the sixth century (the Roman legions withdrew in 410 A.D.). After the departure of the Romans, the administration of the town probably deteriorated over time, with a disease perhaps finally destroying this relic of Roman civilisation in Britain. The reasons for the abandonment of Calleva Atrebatum are still not completely understood.
Here is a small collection of photographs from my trip to Silchester.
The North Gate. Its function was to control traffic as well as defend the town.
Two days ago, I visited the British Museum.
There was one exhibit in particular which I wanted to see: the tombstone of Julius Classicianus.
gentesque praeferoces tardius ad pacem inclinabant, quia Iulius Classicianus, successor Cato missus et Suetonio discors, bonum publicum privatis simultatibus impediebat disperseratque novum legatum opperiendum esse, sine hostili ira et superbia victoris clementer deditis consulturum. simul in urbem mandabat, nullum proeliorum finem expectarent, nisi succederetur Suetonio, cuius adversa pravitati ipsius, prospera ad fortunam referebat.
Nations, too, so high-spirited inclined the more slowly to peace, because Julius Classicanus [sic], who had been sent as successor to Catus and was at variance with Suetonius, let private animosities interfere with the public interest, and had spread an idea that they ought to wait for a new governor who, having neither the anger of an enemy nor the pride of a conqueror, would deal mercifully with those who had surrendered. At the same time he stated in a despatch to Rome that no cessation of fighting must be expected, unless Suetonius were superseded, attributing that general's disasters to perverseness and his successes to good luck.
The background to this extract: the general Suetonius (Gaius Suetonius Paulinus) has put down the rebellion of several native British tribes, led by Boudicca. Now, he is consolidating his victory: the army has been concentrated, and reinforcements sent from mainland Europe.
I think it is probably fair to say that the extract above does not give Classicianus a very favourable review. It is the words "privatis simultatibus" that reveal the most: the negative connotations of the word "simultatibus" (translated above as "animosities", but I prefer "quarrels" or "grudges") imply that Classicianus' character is resentful, to the extent that it impedes the public interest ("bonum publicum") The chiastic structure in "bonum publicum privatis simultatibus" (noun-adjective-adjective-noun) emphasises the antithesis of "publicum privatis", which essentially juxtaposes Classicianus' duty (i.e. to uphold the interest of the public) with his actions (imposing his private quarrels on the province). These words suggest that Tacitus distrusts Classicianus' opinion of Suetonius.
But why does Tacitus give Classicianus such a poor write-up? To find out, I think we have to look at the next chapter – chapter 39 – of Tacitus' Annals XIV. In this next chapter, the emperor sends the freedman Polyclitus to Britain: this freedman reports back to the emperor rather more favourably about Suetonius, so the latter is allowed to stay on as governor. When, however, Suetonius makes an error – losing a few ships and their crews on the shore – he is recalled from the province and loses his position as governor.
Tacitus was the son-in-law of Agricola, who was recalled from Britain, probably in unfair circumstances, by the emperor Domitian. Perhaps Tacitus believes that Suetonius' circumstances were similar: therefore, he portrays Classicianus in a negative light, in order to imply that the latter's report on Suetonius was distorted. Indeed, other sources (e.g. cited below) suggest that Classicianus' criticisms were in fact correct, and that Suetonius' heavy-handed crackdown against the British tribes was severely damaging the economy of the province. In fact, the Encyclopaedia Britannica states that Classicianus "possessed a truer vision of provincial partnership with Rome [than Suetonius]". Taking this evidence into account, it seems plausible to conclude that Tacitus' depiction of Classicianus was unfair.
Tacitus. The Annals & the Histories. Trans. Alfred John Church and William Jackson Brodribb. Ed. Moses Hadas. N.p.: Modern Library, 2003. Print.
"Julius Classicianus". Encyclopædia Britannica. Encyclopædia Britannica Online.
Some new books which I ordered recently have just arrived. All Classics-related, obviously (otherwise I wouldn't be blogging them!). Written below are my reasons for buying them and first impressions – please bear in mind that I haven't started reading any of them yet!
Firstly, the Loeb Classical Library bilingual edition of Xenophon's Anabasis, in hardback.
The Loeb Classical Library (part of Harvard University Press) is an excellent source of texts in the original ancient Greek and Latin. And it's worth getting them in hardback, since you'll want them to last for a long time.
Again, a very nice hardback. It was reviewed very favourably by The Spectator. This review focused on the horrifyingly depraved actions and habits of the Roman emperors from Julius Caesar to Domitian; however, the synopsis of The Twelve Caesars suggests it does more than that. "As well as vividly recreating the lives, loves and vices of this motley crew…he paints a portrait of an era of political and social revolution…" Naturally, I will reserve judgement on the book until I have actually read it – but this sounds as though it will make excellent light reading over the summer!
Admittedly I took a punt on this purchase – I couldn't find any reviews. But I think this book will be useful: I have been doing some research recently on Roman superstition (looking at both literature and artefacts such as curse tablets), and this short book should supplement that.
The cover of this book informs us that it deals with "Rhetoric from Aristotle to Obama" and a brief glance suggests that it does exactly what it says on the tin. As well as informing the reader about the theoretical aspects of rhetoric, the book deals with several "Champions of Rhetoric" from across the ages: these include Abraham Lincoln, Marcus Tullius Cicero, and even "Satan – The Original Silver-tongued Devil". This much can, of course, be gleaned simply by looking at the chapter headings in the contents page; but this book will certainly receive some of my time over the summer.
If anyone has read any of these books, do share your views with a comment on this post.
Well, I did warn you that most of my blog posts would be literature-based!
Recently, I have been translating more Classical poetry, with a focus on the poetry of Catullus. One poem which I particularly enjoyed was Catullus 72, but before I produce my effort to translate it, I will outline my philosophy regarding the translation of Classical poetry. I have always approached this area with perhaps a little more freedom and creativity than a purist would approve of. My usual objective is to try to elucidate the poet's emotions, and focus on conveying them, using as far as possible equivalent vocabulary and structures to those used by the poet. Essentially I think that, if anything will be "lost in translation", it should be the vocabulary and structures – not the emotion they contain.
'Twas only I that knew you.
And sons, I found I loved you.
And far less worthy are you.
No longer a friend to you.
Catullus 72 is characterised by fascinating dichotomies: present emotion is set against past feeling, and carnal love juxtaposed with affectionate friendship and familial love. I think that my translation is for the most part successful at drawing this out. Rendering the imperfect "dicebas" as "you used to say" underlines this word as a reference to the distant past; meanwhile, my placement of "Once" at the beginning of the poem replicates the effect that "dicebas" has in the equivalent position in the original. Later, "Back then" again serves to reproduce the position and effect of a past-tense verb. An important creative decision I took in the first half of the poem was to add "I found", which is not in the original. This adds what is almost a note of surprise to the revelation of Catullus' feelings for Lesbia. I also decided to turn Catullus' use of his own name (in line 1) into simply "I", which I felt was needed in an English translation to convey adequately its personal nature.
While the first half of Catullus' poem seems to flow smoothly, the second half – which shifts abruptly to the present tense – is fragmented by caesuras in the 5th and 7th lines, conveying Catullus' confusion and pain. Adding "But" to the very beginning of the second half was my way of conveying the force which "nunc" carries, itself placed at the beginning of its line: this is vital for emphasising the division between the two halves.
What to me stands out the most about my translation is the hypnotic repetition of "you" at the end of every second line. I intended this to capture what I felt was the spirit of the poem: the subject matter is remorselessly focused on Catullus' fluctuating feelings for Lesbia. Indeed, this is particularly striking during the first half of the poem, with the word "you" appearing in conjunction with words connoting powerful emotions. Examples are "knew you" (with "knew" perhaps meant in a Biblical, carnal sense, as referenced by Godwin – see my bibliography below), "possess you", "adore you", and the simpler and heartfelt "loved you". Perhaps surprisingly, the recurrence of "you" required little freedom of translation: it appears so frequently in the original Latin that excessive creativity proved unnecessary.
Overall, it now occurs to me that this is not such a good example of my approach to the translation of ancient poetry! Unusually for me, I made little change to the words used by the poet, but managed to convey the emotions he felt in what I hope was an effective manner. I also took the opportunity to add a minor innovation of my own, by making every second line end with "you".
n.b. the ideas above specifically concerning my translation of Catullus 72 are, of course, my own. I referred, however, to the book edited by John Godwin and the journal article by John T. Davis for some extra depth of analysis of the original. I have also cited the Perseus Digital Library, whence I obtained the original Latin text.
Catullus. Catullus: The Shorter Poems. Ed. John Godwin. N.p.: Aris & Phillips, 1999. Print.
Crane, Gregory R., ed. "C. Valerius Catullus, Carmina 72." Perseus Digital Library. Tufts University, n.d. Web. 6 July 2012. <http://www.perseus.tufts.edu/hopper/>. Gregory R. Crane is the general editor-in-chief of the entire Perseus website. This specific text was edited by E. T. Merrill.
Davis, John T. "Poetic Counterpoint: Catullus, 72." American Journal of Philology 92.2 (1971): 196-201. Print.
This delightful little book contains a selection of Greek literature (surprisingly enough) from Homer through the three tragedians to Plotinus "the last great pagan philosopher" and many more besides.
So I was just flicking through this book when I encountered Theognis.
never to know the light of sharp sun.
and there lie under the massive shield of earth.
Fairly depressing, then. I liked it immediately.
καὶ κεῖσθαι πολλὴν γῆν ἐπαμησάμενον.
And not to see the light which from the harsh bright Sun is torn.
For under a piled-up heap of earth forever must one dwell.
Clearly I took some liberties with the original text. The repetition of "best" in the first line essentially serves to fit in with the metre of my translation, while a small leap of the imagination was required to produce "torn" – a word which, as well as making the rhyme-scheme work, fitted in rather neatly (I felt) with the sense of pain and danger associated with the Sun in the original ("ὀξέος"), and which Barnstone conveys using "sharp".
The use of a rhyme-scheme in itself will probably require some justification. I think that the words I have chosen to make up the rhymes express their own sharp contrasts. "Born" is usually a positive, hopeful image, which is put in a negative, unpleasant light by the rhyme with the word "torn". Meanwhile, the location of " H ell " casts a shadow of suffering and misery over "dwell". The rhymes in my English translation almost make this poem sound like an aphorism or a maxim – which fits in with the style of the rest of Theognis' poetry.


text:
Information on entry requirements, scholarships, and agents for applicants from United States of America
Events in the United States of America
NACAC College Fair Montgomery County (MD)
Tuesday 18 April 2023, 09:45 - 13:00
Meet and discuss your study plan with delegates from the University of Dundee
Fair | Free | No booking required
Tuesday 18 April 2023 Starts at 09:45
Tuesday 18 April 2023, 18:00 - Thursday 18 May 2023, 20:00
Wednesday 19 April 2023, 09:45 - 13:00
Wednesday 19 April 2023 Starts at 09:45

redpajama_set_name: RedPajamaCommonCrawl


These poems will be presented by a collective of poets, all of them regular performers at Off the Wall, a poetry group that has been running in Observatory, Cape Town, since 2000. The poems will explore the loss or scarcity of underappreciated resources, and of difficult emotions that have become landlocked and unavailable. They will celebrate drives and forces that have been taken for granted and ignored at our peril, but which nevertheless persist, and demand to be acknowledged and understood.
EDUARD BURLE: as been a regular contributor and reader of poems at Off the Wall Poetry Performing at A Touch of Madness in Observatory, Cape Town, since 2005.
JACQUES COETZEE: Jacques Coetzee is a musician and a freelance editor. He matriculated from the Pioneer School for the Blind in Worcester, and completed a Masters Degree in creative writing at the University of Cape Town, for which he submitted a manuscript of poems called Singing Through.
HUGH HODGE: Despite being commonly left-brained, and occasionally no-brained, I write poetry that is sometimes published. I edit poetry and mentor some poets.
TAURIQ JENKINS: Tauriq Jenkins is the founding artistic director of the Independent Theatre Movement of South Africa, and Shakespeare in Prison South Africa.
JULIA KRAMER: rearranges words in translation and poetry. Loves the outdoors.
KRIS MARAIS: Kris Marais' unfolding poetry project, engaging with militarism, socially constructed silence and related inherited and bequeathed traumas, continues with various collaborators.
MAURA TALBOT: is an emerging confessional poet exploring ways to facilitate self-connection and personal transformation through poetry, story-telling, non-violent communication & Presencing facilitation methods.
JEAN WATERMEYER: is a scientist-turned-teacher. She wrote her first poems as a child and began reading her work in public while working in London.


Abstraktion.org / Blog: Richard Tuttle, Turbine Hall, Tate Modern, review: 'evokes nothing whatsoever'?
Richard Tuttle, Turbine Hall, Tate Modern, review: 'evokes nothing whatsoever'?
It 'evokes nothing whatsoever', but that's abstraction...Read The Telegraph Review here..


text:
COVID-19 UpdateAnalyticsDevelopmentDownstream ProcessingManufacturingOutsourcingQuality/GMPsUpstream Processing2020 Bio/Pharma Virtual Congress
Analytical MethodsBioBusinessCell Culture/FermentationContinuous ProcessingDrug DeliveryFill/FinishFormulationProcess ChromatographyProcess Control/PATProcess DevelopmentQA/QCSeparation and PurificationSingle-Use SystemsSupply Chain
All NewsTop NewsBio/Pharma NewsIndustry NewsSupplier NewsEvents
All PublicationsBioPharm International
Biopharma InsightsSponsored eBooksSponsored PodcastsSponsored VideosWhitepapers
EnewsMagazine
© 2021 MJH Life Sciences and BioPharm International. All rights reserved.
Quality/GMPs
Cell Culture/Fermentation
Continuous Processing
Fill/Finish
Process Chromatography
Separation and Purification
Single-Use Systems
© 2021 MJH Life Sciences™ and BioPharm International. All rights reserved.
Regulatory Gaps Regarding Sugars Used in Injectable Biopharmaceuticals
BioPharm International, BioPharm International-05-01-2006, Volume 19, Issue 5
Page Number: 40–45
The sugars used to stabilize lyophilized proteins often have not been subjected to appropriate cGMP standards.
In the rapidly evolving biopharmaceuticals industry, technical developments frequently outpace regulatory developments. One such area is in current good manufacturing practice (cGMP) guidelines for the manufacture of excipient sugars used to stabilize lyophilized proteins for injectable biopharmaceutical drugs. The industry needs clarification of the cGMP expectations for selecting and qualifying these injectable drug ingredients
In a 2004 letter to the FDA, the Biotechnology Industry Organization (BIO) stated that:
"the manufacture of all protein products generally involves numerous highly variable and specialized steps, which must be tightly controlled to ensure the consistent production of pure, potent, and high-quality products. The manufacturing process is particularly critical to the overall safety and effectiveness of protein products. Seemingly trivial changes to the purification process have the potential to alter the purity profile of the product and cause changes to its safety and effectiveness. The ability to identify impurities during the manufacturing process enables manufacturers to design a purification process that will isolate and remove the contaminants."1
Regarding formulation and filling of the purified product, BIO notes that, "a change in any of the equipment, the product contact materials, or methods used in these final steps (including freeze-drying) may affect product integrity."1 .
From the initial cell lines to fill and finish, high-value, sensitive proteins have been handled in cleanroom conditions with validated and documented processes that meet cGMP criteria for active pharmaceutical ingredients (APIs) or injectable ingredients. The sugars used to stabilize these proteins for lyophilization, however, often have not been subjected to similar standards of scrutiny, purity, and documentation.
Since the initial research findings that adding excipients to solutions helped protect protein structures during the folding and unfolding involved in freeze-drying and reconstitution, sugars that are qualified as excipients for oral drugs typically have been utilized. In the early days of the biopharm industry, these sugars were widely available as pharmaceutical ingredients. They are often produced under food-processing GMP conditions, with limited testing of samples for the presence of impurities, and labeled as meeting compendial specifications for orally administered drugs.
Most therapeutic protein drugs must be administered by injection, which requires a much higher purity level than is required for drugs taken orally (Figure 1). Food-grade sugars used as taste-improving pill coatings are a minor ingredient, and their impurities are filtered by digestion. When stabilizing lyophilized proteins, however, sugars are regularly used in ratios of up to 100:1 by weight, and are injected—sometimes directly into the bloodstream. Adverse patient reactions have been associated with sugar polymers in injectable drugs,2,3 and protein stability and efficacy can also be compromised by microbial contaminants and trace metal ions.
Figure 1. Degree of regulatory control by product category, ranked in descending order.
CURRENT REGULATIONS
According to Rafidison and Ulman:
"Currently, control of excipient manufacturing and distribution is not a key priority for regulatory authorities or pharmaceutical manufacturers, perhaps due to the fact that most of these excipients originated in the food industry and have generally recognized as safe (GRAS) status. However, with the emergence of novel excipients and delivery systems, better control of these materials becomes increasingly important."4
Typically, regulatory agencies are not directly involved in monitoring excipient manufacturers. Or, as indicated in the FDA guidance to investigators of Bulk Pharmaceutical Chemicals (BPC), "inspections of manufacturers of inactive ingredients will only be conducted by special assignment or for cause."5
While the BPC guidance document states that there are situations in which these materials should be produced under the same GMP conditions as finished drugs, it also stresses that such controls are not necessary in most cases. Sugars seem to be regarded in the latter category due to their long-term safe usage in oral applications. Notably, this guidance was last published in May 1994, but that was due to "editorial changes;"5 the last content revision was in September 1991—more than 14 years ago.
The FDA guide to inspection of BPCs is applicable to all BPCs produced in the United States or in foreign countries intended to be exported to the US or to be delivered to a US overseas base. A key part reads:
"Although the GMP regulations under 21 CFR, Parts 210 and 211, apply only to finished dosage for drugs, Section 501(a)(2)(B) of the Federal Food, Drug, and Cosmetic Act requires that all drugs be manufactured, processed, packed, and held in accordance with current good manufacturing practice (cGMP). No distinction is made between BPCs and finished pharmaceuticals, and failure of either to comply with cGMP constitutes a failure to comply with the requirements of the Act. There are many cases where GMPs for dosage for drugs and BPCs are parallel. For this reason, the requirements under Part 211 will be used as guidelines for inspection of BPC manufacturers, as interpreted in this document. Although strict observance of GMPs, approaching or equaling those expected for finished drug products, may be expected in some types of bulk processes, in most others it is neither feasible nor required to apply rigid controls during the early processing steps."5
United States Pharmacopoeia and National Formulary (USP—NF)
USP <1078> "Good Manufacturing Practices for Bulk Excipients — General Guidance" combines existing governmental regulatory GMP principles and international quality management system requirements as developed by the International Organization for Standardization (ISO), using as its framework ISO 9002, which is appropriate for manufacturing. The sections of USP <1078> provide an overview; as the chapter says, "no attempt has been made to include details specific to particular excipients."6 The chapter notes that many excipients have other applications than for pharmaceutical uses, thus their manufacture often reflects chemical industry standards rather than those of the pharmaceutical industry.6 It also states that the end use of the excipient should be identified and considered during facility inspections.
However, as the first guidance that specifically addressed the manufacture of bulk pharmaceutical excipients, the provisions of USP <1078> are more appropriate for oral product specifications. NF monographs typically include the name of the excipient, description, packaging and storage conditions, labeling, identification, microbial limits, acidity or alkalinity, loss on drying, specific surface area, limit tests, organic volatile impurities, and assay. The NF monograph for sucrose, which is commonly used to stabilize proteins, currently has no compendial testing requirement for microbial limits.7
USP standards are enforceable by the FDA for drugs manufactured or sold in the US. The US Pharmacopeial Convention, Inc., is an independent standards organization; the USP—NF that it publishes contains legally recognized standards for more than 3,500 drugs and 250 excipients, vitamins, minerals and botanicals, and is the only official pharmaceutical compendium in the world that is not published by a government agency. It is sold in 131 countries and "acts as a reference point to many regulators in countries that lack an official Pharmacopoeia, which it will continue to do as pharmaceutical manufacturing becomes increasingly globalised."8
International Conference on Harmonisation (ICH)
The ICH Q6B guidance "Specifications: Test Procedures and Acceptance Criteria for Bio-technological or Biological Products" states that "the quality of the materials used in the production of the drug substance (or drug product) should meet standards appropriate for their intended use."9 Further, "the quality of the excipients used in the drug product formulation (and in some cases, in the drug substance). . . should meet pharmacopoeial standards, where available and appropriate. Otherwise, suitable acceptance criteria should be established for the nonpharmacopoeial excipients."9 Standards that would appear to be appropriate for injectable drugs would be those enumerated in ICH-Q7A, which covers APIs.10
The International Conference on Harmonisation of Technical Requirements for Registration of Pharmaceuticals for Human Use (ICH) brings together the regulatory authorities of Europe, Japan, and the United States and experts from the pharmaceutical industry in the three regions. They make recommendations to harmonize the interpretation and application of technical guidelines and requirements for product registration. The FDA is adopting ICH guidances, but publications note that they "represent the FDA's current thinking ... and do not operate to bind the FDA or the public."10
European Pharmacopoeia (EP)
The EP's general monograph, "Substances for Pharmaceutical Use" (2034) governs active substances and excipients for the production of medicinal products for human or veterinary use. It states, "Unless otherwise indicated or restricted in the individual monographs, a substance for pharmaceutical use. . .is of appropriate quality for manufacture of all dosage forms in which it can be used."11 The provisions of EP general chapter 5.10, "Control of impurities in substances for pharmaceutical use," however, exclude excipients from quantitative threshold levels of organic impurities, and say only that, "the general concepts of reporting, identification (wherever possible) and qualification of impurities are equally valid."11 The EP also is adopting ICH Guidances.
Table 1a. Current good manufacturing practices for foods (including dietary supplements)
CGMP EXPECTATIONS
As tables 1a, 1b and 1c clearly illustrate, the gap in cGMP requirements between food and API quality levels is vast. Even sugars that are truly processed in accordance with USP (1078) lack the degree of in-process controls for many of the criteria they have in common with APIs. More importantly, they are produced without key API GMPs, such as cleaning validation and annual quality reviews and reports. While drug makers may be able to perform raw materials tests on USP—NF sugars to check for particular impurities, they do not have the assurance of consistent impurity profiles provided by the manufacturers of these sugars, or the documented traceability that would come with these profiles.
Table 1b. Manufacturing requirements for excipients, according to USP 6
BETTER GUIDELINES NEEDED
As previously discussed, most protein-based therapeutics are administered parenterally and oral standards aren't appropriate for excipients used in their manufacture. In spite of this situation, stabilizing excipients manufactured according to API standards are not yet mandated. Although such products have recently become available, formulators are often hesitant to incorporate such new materials not specified in regulatory guidelines; the need for regulatory compliance tends to lock in use of existing ingredients. As growing numbers of new drugs in development are protein-based, it is critical that regulatory guidelines be updated to clarify the situation for manufacturers and reduce risk to their products and patients.
Table 1c. Manufacturing procedures required for active pharmaceutical ingredients and intermediates according to Q7A.10
Tom Biere is director of quality assurance and regulatory affairs at Ferro Pfanstiehl Laboratories, Inc., 1219 Glen Rock Avenue, Waukegan, IL 60085, tel 800.383.0126, fax 847.623.9173
1. Biotechnology Industry Organization, Comments to FDA 2004N-0355. Scientific Considerations. 2004 Dec. 13; 19: 27–29.
2. Shacter E. Well characterized biologicals. Parenteral Drug Association Chapter Meeting; 2003; San Diego, CA. Unpublished observations with written permission from Dr. Shacter.
3. West GB. Adverse reactions of sugar polymers in animals and man. Dep Paramed Sci, North-East London Polytech, London, UK. Progress in Drug Research. 1979; 23:27-50. CODEN: FAZMAE ISSN: 0071-786X.
4. Rafidison P, Ulman K. Strategic Role of Excipients. Pharmabiz (Internet portal). 2004 Dec 2. Available from: www.pharmabiz.com/article/detnews.asp?articleid=24928&sectionid=50.
5. FDA Guide to Inspections of Bulk Pharma Chemicals. 1994 May.
6. USP General Informational Chapter <1078>. Good Manufacturing Practices for Bulk Excipients — General Guidance.
7. Cundell AM. Managing the Microbiological Quality of Pharmaceutical Excipients. PDA J Pharma Sci & Tech. 2005 Nov-Dec; 59(6):381-395.
8. Decoding the U.S. Pharmacoepia. Express Pharma Pulse. 2005 June 23. Available from: www.expresspharmapulse.com/20050623/oped01.shtml.
9. International Conference on Harmonisation Q6B Specifications: Test Procedures and Acceptance Criteria for Biotechnological/Biological Products, section 2.3.3, Raw Materials and Excipient Specifications, Federal Register Doc. 99–21352, Filed 8-17-99.
10. International Conference on Harmonisation Q7A, Good Manufacturing Practice Guidance for Active Pharmaceutical Ingredients. 2000 November.
11. EP Substances for Pharmaceutical Use (2034).
Manufacturing | Regulatory/GMP Compliance | Downstream Processing | Quality/GMPs | Manufacturing, Lyophilization | Manufacturing, Biologics | Manufacturing, Parenterals and Injectables


text:
WoRMS source details
Sars, G. O. (1883). Oversigt af Norges Crustaceer med foreløbige Bemærkninger over de nye eller mindre bekjendte Arter. I. (Podophtalmata - Cumacea - Isopoda - Amphipoda). Videnskabs-Selskabet i Christiana. 18 [for 1882]: 1-124, pls. 1-6.
Sars, G. O.
Oversigt af Norges Crustaceer med foreløbige Bemærkninger over de nye eller mindre bekjendte Arter. I. (Podophtalmata - Cumacea - Isopoda - Amphipoda).
Videnskabs-Selskabet i Christiana
18 [for 1882]: 1-124, pls. 1-6
Ant'Phipoda Literature database; NeMys doc_id: 2670
World Isopoda DB
Sars_1883_Oversigt_af_Norges_Crustaceer.pdf
Boreal east Atlantic
Bibliographical terms
Atlantic, North East (= warm + cold temperate (boreal))
Systematics, Taxonomy
Taxonomic terms
Amphipoda
Cumacea
Gammaridea
Isopoda
Vanaverbeke, Jan
Boyko, Christopher B.
Amphilochus inermis Sars G.O., 1883 accepted as Gitanopsis inermis (Sars, 1883) (original description)
Amphithopsis nodifera Sars, 1882 accepted as Stenopleustes nodifera (Sars, 1882) (original description)
Andania pectinata G.O. Sars, 1883 accepted as Andaniopsis pectinata (G.O. Sars, 1883) (original description)
Apherusa megalops (G. O. Sars, 1883) accepted as Apherusa sarsii Shoemaker, 1930 (original description)
Arcturella dilatata (G. O. Sars, 1883) accepted as Astacilla dilatata G. O. Sars, 1883 (original description)
Aspidophryxus G. O. Sars, 1883 (original description)
Aspidophryxus peltatus G. O. Sars, 1883 (original description)
Astacilla arietina G. O. Sars, 1883 (original description)
Boreomysis microps G. O. Sars, 1883 (additional source)
Bruzelia tuberculata Sars, 1882 (original description)
Cheraphilus neglectus G. O. Sars, 1883 accepted as Philocheras bispinosus neglectus (G. O. Sars, 1883) (original description)
Clydonia borealis Sars, 1882 accepted as Scina borealis (Sars, 1882) (original description)
Cryptothiria cypridinae G. O. Sars, 1883 accepted as Cyproniscus cypridinae (G. O. Sars, 1883) (original description)
Cryptothiria marsupialis G. O. Sars, 1883 accepted as Munnoniscus marsupialis (G. O. Sars, 1883) (original description)
Cryptothiridae G. O. Sars, 1883 (original description)
Dajidae G. O. Sars, 1883 (original description)
Disconectes latirostris (G. O. Sars, 1883) (original description)
Eurycope latirostris G. O. Sars, 1883 accepted as Disconectes latirostris (G. O. Sars, 1883) (original description)
Halicreion latipes G.O. Sars, 1882 accepted as Aceroides (Aceroides) latipes (Sars, 1883) (original description)
Halimedon megalops Sars, 1882 accepted as Westwoodilla megalops (Sars, 1882) (original description)
Halirages inermis G.O. Sars, 1883 accepted as Haliragoides inermis (G.O. Sars, 1883) (original description)
Halirages megalops G. O. Sars, 1883 accepted as Apherusa megalops (G. O. Sars, 1883) accepted as Apherusa sarsii Shoemaker, 1930 (original description)
Harponyx G. O. Sars, 1883 accepted as Syscenus Harger, 1880 (original description)
Harponyx pranizoides G. O. Sars, 1883 accepted as Syscenus infelix Harger, 1880 (original description)
Hemilamprops G.O. Sars, 1883 (original description)
Hemilamprops assimilis Sars, 1883 (original description)
Heteromysis (Heteromysis) norvegica G. O. Sars, 1883 (original description)
Ichnopus umbonatus G. O. Sars, 1883 accepted as Pseudotryphosa umbonatus (G.O. Sars, 1883) accepted as Tryphosella umbonatus (G. O. Sars, 1883) (original description)
Iphimedia minuta G. O. Sars, 1883 (original description)
Janira breviremis G. O. Sars, 1883 accepted as Ianiropsis breviremis (G. O. Sars, 1883) (original description)
Melita pellucida Sars, 1883 accepted as Allomelita pellucida (Sars, 1882) (original description)
Metopa borealis G.O. Sars, 1883 (additional source)
Metopa calcarata G.O. Sars, 1882 accepted as Proboloides calcarata (Sars, 1882) (original description)
Metopa gregaria G.O. Sars, 1882 accepted as Proboloides gregaria (Sars, 1882) (original description)
Metopa rubrovittata G.O. Sars, 1883 (original description)
Microniscus calani G. O. Sars, 1883 (original description)
Normania latimana G.O. Sars, 1883 accepted as Cheirimedon latimanus (G.O. Sars, 1883) accepted as Coximedon latimanus (G.O. Sars, 1883) (original description)
Notophryxus G. O. Sars, 1883 (original description)
Notophryxus clypeatus (G. O. Sars, 1879) (new combination reference)
Notophryxus ovoides G. O. Sars, 1883 (original description)
Orchomene batei G.O. Sars, 1883 (original description)
Orchomene batei G.O. Sars, 1882 accepted as Orchomene humilis (Costa, 1853) (original description)
Orchomene pectinatus G. O. Sars, 1883 (original description)
Paramphithoe assimilis Sars, 1882 accepted as Parapleustes assimilis (Sars, 1882) (original description)
Paramphithoidae G.O.Sars, 1883 (original description)
Phoxus falcatus G.O. Sars, 1883 accepted as Leptophoxus falcatus (G.O. Sars, 1883) (original description)
Pleurocrypta affinis G. O. Sars, 1883 accepted as Pseudione affinis (G. O. Sars, 1883) (original description)
Pleurogonium G. O. Sars, 1864 (original description)
Pleurogonium inerme G. O. Sars, 1883 (original description)
Sclerocrangon G. O. Sars, 1883 (original description)
Stegocephalus auratus G.O. Sars, 1882 accepted as Stegocephaloides auratus (Sars, 1882) (original description)
Stegocephalus gibbosus G.O. Sars, 1882 accepted as Phippsia gibbosa (G.O. Sars, 1882) (original description)
Stenothoe brevicornis Sars, 1882 (original description)
Tritropis avirostris G.O.Sars, 1883 accepted as Rhachotropis aculeata (Lepechin, 1780) (original description)
Tritropis inflata G.O. Sars, 1883 accepted as Rhachotropis inflata (G.O. Sars, 1883) (original description)
Tryphosa ciliata G. O. Sars, 1883 accepted as Tryphosa nana (Krøyer, 1846) (original description)
Valvifera (original description)
Lofoten for Aspidophryxus peltatus G. O. Sars, 1883
Lofoten for Cryptothiria cypridinae G. O. Sars, 1883
Lofoten for Microniscus calani G. O. Sars, 1883
Norway for Cryptothiria marsupialis G. O. Sars, 1883
Norway for Notophryxus ovoides G. O. Sars, 1883
Norway for Pleurocrypta affinis G. O. Sars, 1883
Norwegian Exclusive Economic Zone for Cyproniscus cypridinae (G. O. Sars, 1883)
Norwegian Exclusive Economic Zone for Munnoniscus marsupialis (G. O. Sars, 1883)


I was searching for a Property and found this listing (MLS® #2022525). Please send me more information regarding 405 Glen Cove Dr, Clarksville, TN, 37043. Thank you!
I'd like to request a showing of 405 Glen Cove Dr, Clarksville, TN, 37043 (MLS® #2022525). Thank you!


text:
\section{Introduction}

Due to the end of Dennard scaling, modern System-on-Chip (SoC) architectures are increasingly complex and heterogeneous, integrating several processor cores, memories, and specialized hardware accelerators~\cite{horowitz_isscc_2014}. Such complexity is pushing the design of integrated circuits (ICs) towards system-level methods based on \textit{high-level synthesis} (HLS)~\cite{nane2015survey}. \Cref{fig:design_flow} shows an example of HLS-based IC design flow, where the specification is provided in C language and automatically translated into register-transfer level (RTL) descriptions by means of HLS tools. Logic and physical synthesis are then applied to the RTL descriptions to generate the layout files ready for fabrication. The use of HLS allows designers to raise the abstraction level, focusing on the behavior rather than hardware details and significantly improving design productivity.

At the same time, IC's manufacturing costs are constantly growing. For example, the equipment becomes 5$\times$ more expensive when scaling from 90nm to 7nm~\cite{iccost}. Many semiconductor companies cannot afford these costs and are becoming {\em fab-less}, outsourcing the IC fabrication to third-party foundries. This process creates security concerns~\cite{fabless}. Since the foundry has access to the design files, a rogue employee can analyze them to steal the intellectual property (IP) and create illegal IC copies~\cite{pieee14}. Design companies are using several techniques to thwart reverse engineering and IP counterfeiting~\cite{10.5555/2756806}.

\begin{figure}[t]
\begin{subfigure}{\columnwidth}
\centering
\includegraphics[width=\columnwidth]{figures/original_flow.pdf}
\caption{Traditional HLS-based IC design flow.}
\label{fig:design_flow}
\end{subfigure}
\begin{subfigure}{\columnwidth}
\centering
\includegraphics[width=\columnwidth]{figures/locking_flow}
\caption{IC design flow extended with logic locking.}
\label{fig:HLS}
\end{subfigure}
\caption{HLS-based IC design flow. Red elements represent untrusted entities.}
\end{figure}

Logic locking is a well-known technique for IP protection that is applied during chip design~\cite{6241494}. A high-level representation of the logic locking-aware design flow is depicted in \Cref{fig:HLS}. At design time, additional gates are added to hide the correct functionality and thwart reverse engineering. These gates are controlled through an additional input signal ({\em locking key}) that is known to the design house but not to the foundry. After chip fabrication, the design house can \textit{activate} the correct IC functionality by placing the locking key in a tamper-proof key-storage element~\cite{RAHMAN202039}. The correct IC functionality is executed only when the correct key is provided. This process can be applied at different abstraction levels and assumes the attacker does not have and cannot guess the locking key. An illegal chip with an incorrect key produces wrong results, nullifying the copy. On the other hand, the attackers should not be able to determine which results are clearly wrong to rule out incorrect keys and reduce the search space.
While logic locking has been widely studied, there are still many open issues~\cite{10.1145/3342099}. First, it must provide sufficient security protection from both structural and functional viewpoints without suggesting to the attacker which keys are clearly wrong. Second, the cost in terms of additional hardware resources should be minimized~\cite{8465830}.
Third, the technology of the key-storage element can limit the number of key bits that can be used.
However, the effects of locking techniques often depend on the chip functionality and are difficult to predict in advance.

{\em Behavioral logic locking} addresses these concerns by locking a design at a higher level of abstraction~\cite{8465830}. These methods operate above or at RTL and allow designers to protect semantics information before it is optimized and embedded into the netlist by logic synthesis. These methods also scale to larger designs by reasoning about the circuit behavior instead of the netlist structure. However, their industrial adoption is limited since they require custom HLS tools. A valid alternative is to operate at the specification level (e.g., the input C code)~\cite{8715083}, based on the assumption that HLS preserves the behavior, including the logic locking effects. However, in both cases designers miss a method to select which elements to obfuscate incurring large overheads and weak or potentially unfeasible solutions~\cite{8465830}.

This work follows the key idea obfuscating all elements of a design does not necessarily provide maximum security. Indeed, the effects of some locking transformations may have limited visibility on the outputs or can be cancelled out by the application of other transformations. The selection should be, instead, driven by the analysis of the effects on the given security metric. A designer must explore the application of locking transformations to identify the combination that maximizes the security metric while limiting the resource overhead. So, {\em \uline{optimizing a given security metric requires a complex design space exploration that depends on the effects of the locking transformations on the design functionality}}.

\subsection{Paper Contributions}
We propose a design framework that explores the functional effects of logic locking at the C level. Our method has the following main contributions:
\begin{itemize}
\item It performs C-level logic locking, allowing us to use commercial HLS tools to generate the corresponding obfuscated RTL descriptions, thus enabling the use in standard IC design flows.
\item It includes a design-space exploration strategy to identify which obfuscation points must be selected to optimize a given security metric.
\item It can use different exploration methods ({\em meta-heuristics}) and optimize different security metrics.
\end{itemize}

\subsection{Paper Organization}

This paper is organized as follows. After introducing the threat model and motivating the work (Section~\ref{sec:background}), we present our {\bf design framework} to apply behavioral logic locking with the support of commercial HLS (Section~\ref{sec:framework}). We detail the different components: the solution representation and analysis (\Cref{sec:analysis}), the design space exploration (\Cref{sec:dse}), and the solution evaluation (\Cref{sec:solution_eval}). While this paper only discusses the security assessment against the effects on the design outputs, our framework can be extended with different security metrics and evaluation methods (\Cref{sec:extensions}). Finally, we present a {\bf proof-of-concept implementation and evaluation} of our approach (Section~\ref{sec:results}).

\section{Background}\label{sec:background}

\subsection{Threat Model}

We base our work on existing solutions for behavioral and RTL locking~\cite{8465830,pilato2021assure}. These methods assume {\em an untrusted foundry} that wants to identify the functionality of the given IC, i.e., the correct RTL implementation of the IP and its behavior over time, to make illegal IC copies. The untrusted foundry has access to the layout files of the obfuscated chip. From these files, the foundry can reverse engineer the types of modules used in the design (i.e., registers, functional units, interconnection elements) and can identify the operations executed by each functional unit~\cite{7100906}. With this RTL description, the foundry can perform RTL simulations with different input and locking key values to extract information from the circuit that can help reconstruct the functionality. If successful, the foundry has the possibility of creating illegal copies of the IP.

In this work, we assume the untrusted foundry has \emph{neither} access to the correct key \textit{nor} to a functioning unlocked IC (\textit{oracle}). This model is common for low-volume IC customers where the activated chips are used and available only in sensitive designs (e.g., US DoD). Even in consumer electronics, when the foundry is fabricating the chip for the first time, we can assume that an activated chip is not yet available on the market~\cite{10.1145/3342099}.

When no activated chip is available, SAT attacks are not possible and the attacker can only use random methods and the defender has to make all possible key-dependent variants equally plausible without leaking any additional information to the attacker~\cite{metrics2018}. Indeed, behavioral locking has been demonstrated to be able to thwart a wide range of attacks when the attacker has no access to an unlocked chip~\cite{pilato2021assure}. The resulting solutions can be then combined with scan-based methods to protect the key against oracle-based attacks~\cite{dac_assure_2021}.

\begin{figure}
\centering
\includegraphics[width=\columnwidth]{figures/differential_entropy.pdf}
\caption{Differential entropy for each value of $P_i$. The function has a maximum when $P_i=0.5$.}\label{fig:entropy}
\end{figure}

\subsection{Logic Locking Evaluation}\label{sec:metric}

Security evaluation is based on the assumption that only the chip activated with the correct key produces the expected results, while the other keys introduce errors making the corresponding chips unusable~\cite{pilato2021assure}. So, we evaluate the obfuscation of a design $s$ based on the effects on the output results. Given a total of $N$ output bits, we compute the {\bf average differential entropy}~\cite{metrics2018} as follows:
\begin{equation}\label{eq:corruptibility}
H_s = \frac{sum_{i=1}^{N}\biggl(P^s_i \cdot log \frac{1}{P^s_i} + (1 - P^s_i) \cdot log\frac{1}{1-P^s_i} \biggr)}{N}
\end{equation}
where $P^s_i$ is the probability that the output bit $i$ of the obfuscated design $s$ results different from its correct value.
 The probability $P_i$ is estimated with random simulations, where different test cases (i.e., input sequences) and wrong key values are applied. Let $T$ and $W$ be the number of input sequences and wrong keys that have been provided for evaluation, respectively. The probability $P^s_i$ of each output bit $i$ is computed as:
\begin{equation}\label{eq:probability}
P^s_i = \frac{\sum_{w=1}^{W}\sum_{t=1}^{T} OUT[i]_t^g \oplus OUT[i]_{t,w}^s}{W\cdot T}
\end{equation}
where $OUT[i]_t^g$ represents the correct value of the output bit $i$ when the input sequence $t$ is tested, while $OUT[i]_{t,w}^s$ represents the actual value of the same output bit when the wrong key $w$ is provided to the given solution $s$ together with the same input sequence $t$.

The differential entropy metric is used to quantify {\em output corruptibility}, i.e. how much the logic locking techniques affect the outputs. This value should be maximized to avoid leaking any information on the correct output values to the attacker. Since $0 \leq P_i \leq 1$, Eq.~\ref{eq:corruptibility} has a maximum value $\hat{H_s}$ when $P_i = 0.5$ for each output bit~$i$ (see \Cref{fig:entropy}). This corresponds to the case where each output bit assumes value $0$ or $1$ with equal probability when wrong key values are applied. As a result, the attacker has no information on the correct output values and can only make random guesses. For this reason, our framework aims at maximizing $H_s$.

Although we used differential entropy, our exploration methodology is general and only requires a proper security metric to evaluate each candidate solution for the given threat model.

\subsection{Behavioral Logic Locking}\label{sec:mot}

Behavioral logic locking hides the relevant parts of the functionality to implement (e.g,. constants, control branches and arithmetic operations) based on the input locking key $K$. It can be applied on the input C code~\cite{8715083}, during HLS~\cite{8465830}, or at RTL~\cite{pilato2021assure}. The key $K$ is provided by the designer through an additional input port and partitioned into sub-keys for each element to lock as shown in Fig.~\ref{fig:lock_circuit}. The circuit will work correctly only when the correct locking key is given. This approach is more scalable than gate-level obfuscation technique, protecting the semantics of the design instead of its structural netlist.
We define an {\bf obfuscation point} as any of the RTL elements (i.e., a control branch, an operation, or a constant) where it is possible to apply the given locking techniques. We consider the following behavioral logic locking techniques~\cite{8465830,8715083,pilato2021assure}.

\begin{figure}[t]
\centering
\includegraphics[width=0.95\columnwidth]{figures/lock_model.pdf}
\caption{HLS-generated IP with behavioral logic locking.}\label{fig:lock_circuit}
\end{figure}

\vspace{4pt}
{\bf Control Branch Locking.} Branches in the input behavior can be locked to hide the control flow. Each condition can be locked with one bit key. The condition $c_p == 1$ is modified as $c_p \oplus k_j == 1$, where $k_j$ is a one bit key. This $k_j$ is part of the locking key
$K$ and locks this condition checking. The required branch is taken by the controller when the correct $k_j$ is provided.

\vspace{4pt}
{\bf Operation Locking.} Fake operations are added to hide real RTL operations. Given an operation $l$ to obfuscate, the outputs of the two operations (correct and fake) are multiplexed by a key bit $k_l$. The correct output is connected to $0$ or $1$ input of this MUX based on the value of $k_l$. Only with the correct key, the correct operation results are produced.

\vspace{4pt}
{\bf Constant Locking.} We assume a predefined number of bits $x$ to implement all constants, typically 32 bits (corresponding to an integer value in C), regardless the real bit-widths. Each constant $c_i^p$ of the behavior is locked as $c_i^e = c_i^p \oplus k_i$, where $c_i^e$ is the locked value stored in hardware and $k_i$ is a $x$-bit key. The correct constant can be obtained in hardware by reversing the operation, i.e., $c_i^p = c_i^e \oplus k_i$.

\subsection{Motivating Example}

While algorithm-level obfuscation is a powerful solution to hide the IC functionality, it may produce a large overhead when these techniques are applied to many elements of the input algorithm~\cite{8465830}. However, we argue that large obfuscation may be unnecessary to optimize the given security metric.

Consider a designer that wants to obfuscate the IP core of an Autoregressive Filter (ARF). For the sake of simplicity, HLS is performed with Xilinx Vivado HLS (Xilinx Kintex-7 XC7K160T FPGA at 100MHz). The core of this algorithm is composed of 28 operations (additions and multiplications) to generate four integer outputs. Coefficients are represented as constants and can be provided as inputs or hard-coded into the circuit. When all 28 operations of the design are obfuscated with an approach similar to~\cite{8465830} (let us refer to this solution as \textit{fully obfuscated}), the resulting RTL design requires 2,803 look-up tables (LUT), 390 flip-flops (FF), and 51 DSP blocks. The differential entropy of this design is around 36.63, corresponding to an average $P_i$ of 0.63. However, a high differential entropy (38.13, corresponding to an average $P_i$ of 0.56) can be achieved by obfuscating only 15 operations. As the number of obfuscations is reduced, this solution reduces the amount of LUT by 33\% and the number of FF by 8\% w.r.t. the fully obfuscated solution. This experiment shows that optimizing behavioral logic locking is important to concurrently improve the security metric and reduce resource overhead. However, since the identification of the sub-set of operations to obfuscate is not trivial and is application-dependent, we need a framework for systematically exploring the design space.

\vspace{4pt}
{\bf Problem Formulation:}
{\em Given a C description of the circuit and a locking key {\em K}, select which code obfuscations must be applied together with the corresponding parameters, such that the RTL solution has the following two properties: 1) it belongs to the set of solutions with the best security metric; 2) it requires the minimal amount of additional resources compared to other solutions with the same security metric.}

\vspace{4pt}
This problem formulation first optimizes the security metric and then determines the design with minimal resources.

\section{Framework Overview}\label{sec:framework}

We propose a {\bf modular and integrated framework} (see \Cref{fig:framework}) that aims at optimizing the use of behavioral logic locking during HLS. The input is a synthesizable C code description of the accelerator to be generated and obfuscated.
Behavioral logic locking is applied as a source-to-source transformation on such input C code. In this way, we can leverage commercial HLS for generating the obfuscated RTL description. We assume that the input C code is already synthesizable with the given HLS tool.
Since we consider a metric that analyzes only the IC behavior and we assume that HLS-generated designs have the same behavior of the corresponding input C codes, we can perform security assessment directly on the obfuscated C code. This approach is much faster than performing RTL simulations, enabling its use in an exploration framework.
To perform obfuscation, the locking key $K$ is provided. The size of the locking key determines the maximum number of bits that can be used for obfuscation, limiting the obfuscation techniques that can be applied.
To compute the differential entropy of each candidate solution (see Section~\ref{sec:metric}), the framework requires the corresponding C-based test-bench and a set $T$ of representative inputs to evaluate the behavior of obfuscated versions with correct and incorrect keys. An additional set $W$ of wrong keys is also provided. Each wrong key in $W$ has the same length as the locking key $K$.
By leveraging the given HLS tool, the framework outputs an RTL description of the best obfuscated solution that is ready for the front- and back-end synthesis steps.
The locking key must be independent of the design to avoid that the attacker can infer it. So, it is an input of our methodology.

\begin{figure}[t]
\includegraphics[width=\columnwidth]{figures/framework}
\caption{Framework to optimize algorithmic obfuscation.}\label{fig:framework}
\end{figure}

Our exploration framework operates as follows.
First, we execute the input C code on the set $T$ of representative inputs to compute the {\em golden outputs}. These values will be used to assess the effects of applying the candidate set of obfuscation techniques to the input C code. We parse the input C code to build the corresponding {\em abstract syntax tree} (AST) of the functionality to obfuscate. Each AST node describes a construct occurring in the source code. This representation aids the next steps since it can be analyzed to identify obfuscation points and edited to create alternative obfuscated versions. The rest of the framework has three main steps.
\begin{itemize}[nosep,leftmargin=15pt,labelwidth=*,align=left]
	\item[\circled{1}] {\bf analysis}: we analyze the input C description to identify the potential obfuscation points. An obfuscation point is an element of the algorithm (i.e., constant, operation, branch condition) that can be potentially obfuscated based on the available techniques (see Section~\ref{sec:mot}).
	\item[\circled{2}] {\bf exploration}: we perform design space exploration to identify the sub-set of solutions that optimize the given security metric. Each solution represents a combination of decisions concerning how to apply the techniques to each obfuscation point. The corresponding obfuscated C codes are generated by applying the obfuscation techniques specified in the solutions to evaluate the security metric.
	\item[\circled{3}] {\bf selection}: we apply commercial HLS on the set of obfuscated C codes produced in the previous step and we determine the cost of the resulting RTL designs in order to select the final solution, which is our {\em best design}.
\end{itemize}
In the {\em exploration} phase, we can use several exploration strategies, ranging from random changes (similar to the approach used for logic locking in \cite{roy2008epic}) to complex meta-heuristics like genetic algorithms, tabu search, simulated annealing or ant colony optimization. Meta-heuristics are often based on the observation of natural behaviors: for example, {\em simulated annealing} (SA) is inspired by annealing in metallurgy to create perturbations and move around the design space, a {\em genetic algorithm} (GA) maintains a population of alternative solutions to recombine, while {\em ant colony optimization} (ACO) is based on the behavior of the ants when searching for food to identify good solutions and avoid unfeasible ones. These algorithms perform well in the identification of sub-structures in the problem~\cite{5467335,294849}.

\nop{\msg{three phases:
\begin{enumerate}
	\item {\bf analysis}: identification of the obfuscation points;
	\item {\bf exploration}: exploration of the obfuscation points and identification of a sub-set of solutions with an acceptable security metric;
	\item {\bf selection}: HLS and cost evaluation of the resulting RTL designs to select the {\em best design}
\end{enumerate}
}}

\section{Analysis Phase}\label{sec:analysis}

\subsection{Identification and Representation of Obfuscation Points}\label{sec:solution}

\begin{figure}
 \centering
\includegraphics[width=\columnwidth]{figures/encoding}
\caption{Example of solution encoding.}\label{fig:encoding}
\end{figure}

During the {\em analysis step}, we perform a depth-first analysis of the AST of the input C code to identify the potential obfuscation points. The type and number of obfuscation points depend on the algorithm to implement and the available logic locking techniques. We identify all potential obfuscation points considering the techniques described in Section~\ref{sec:mot} as follows:
\begin{itemize}[nosep,leftmargin=15pt,labelwidth=*,align=left]
\item {\bf constants}: we obfuscate constants with a pre-defined number of key bits.Each constant to obfuscate (i.e., with the value set to {\tt 1}) requires $B_c$ key bits. The number of key bits is the same for all constants to prevent information leakage about the constant range. Each constant is represented in the solution with {\tt 0}/{\tt 1} value to specify whether a constant value must be obfuscated or not.
\item {\bf operations}: we obfuscate logic and arithmetic operations with extra fake operations. For each operation type, we pre-select a set of alternative types. Each operation $o$ is represented in the corresponding vector element with a value that ranges between {\tt 0} (no obfuscation) and $N_o$, where $N_o$ is the number of alternative operation types pre-defined for the type of operation $o$. Each obfuscated operation (i.e., with a value different from {\tt 0}) requires 1 key bit to multiplex the output of the correct operation with the fake one.
\item {\bf branches}: we obfuscate the control flow (e.g., {\tt if}/{\tt else} statements or ternary operators) with key bits, eventually performing branch reordering when needed. Each condition evaluation is represented in the solution with {\tt 0}/{\tt 1} value to specify whether the corresponding branch must be obfuscated or not. Each obfuscated branch (i.e., with the value set to {\tt 1}) requires 1 key bit.
\end{itemize}
When an obfuscation point $i$ has $O_i$ alternatives for obfuscation, the decision for the corresponding element can be represented with an integer value between $1$ and $O_i$ when it should be obfuscated and $0$ otherwise (see the upper part of Fig.~\ref{fig:encoding}). For example, if an addition can be obfuscated with two different types of ``fake'' operations: subtraction and multiplication, the corresponding element can take on: {\tt 0} (no obfuscation), {\tt 1} (activated obfuscation with subtraction), and {\tt 2} (activated obfuscation with multiplication). On the contrary, a control branch can assume only two values: {\tt 0} (no obfuscation), {\tt 1} (obfuscation). So, the analysis creates a vector of integers that represents the possible decisions for all obfuscation points.
Fig.~\ref{fig:encoding} shows an example of solution encoding for a simple algorithm to obfuscate. The integer vector that represents a {\em logic locking solution} has as many elements as the number of potential obfuscation points. It can be easily manipulated with most of exploration meta-heuristics currently available to generate new alternatives and search the design space.

\subsection{Key-bit Requirements}
The total number of key bits $K^s$ required to implement a given solution $s$ is:
\begin{equation}\label{eq:keys}
	K^s = \sum_1^{N^C} b_c * B_c + \sum_1^{N^O} b_o + \sum_1^{N^B} b_b
\end{equation}
where $N^C$, $N^O$ and $N^B$ is the total number of available obfuscation points for constants, operations and branches, respectively. $b_c$, $b_o$ and $b_b$ have value {\tt 1} when the corresponding value in the solution is different than {\tt 0} (i.e., the corresponding logic locking technique must be applied). $B_c$ is the number of key bits pre-assigned to obfuscate constant $c$. This work considers $B_c = 32$ for all constants. The designer can easily integrate additional constraints. Functions can be excluded from logic locking and the relative obfuscation points are not generated. So, they are excluded from the analysis. On the other hand, we can force obfuscation of specific parts of an algorithm, and explore how to spend the remaining key bits. In this case, the {\em analysis} phase does not add value {\tt 0} to the list of values for the corresponding obfuscation points, forcing them to have a value always different than zero. In all cases, a solution $s$ is always valid since the obfuscation techniques are orthogonal to each other, but it is {\em feasible} (i.e., it can be implemented in the target system) if and only if there are enough key bits in the locking key (i.e., $K^s \leq K$).

\subsection{Size of the Design Space}
The size of the design space corresponds to the number of different combinations of obfuscation techniques that can be applied by the designer. Given a logic locking solution described by a vector of $N$ obfuscation points ($N^C + N^O + N^B$), the number of different solutions composing the design space is:
\begin{equation}\label{eq:design_space}
	Space = \prod\limits_{i=0}^{N-1} (O_i+1)
\end{equation}
where $O_i$ represents the number of alternatives for the obfuscation point $i$ to which we add the possibility of no obfuscation, which corresponds to the initial design.

\begin{figure}[t]
\includegraphics[width=\columnwidth]{figures/mutation}
\caption{Manipulation of the solution vector to generate new logic locking solutions.\vspace{-10pt}}\label{fig:mutation}
\end{figure}

\section{Exploration Phase}\label{sec:dse}

In the {\em exploration} phase, we can use and compare different search methods to identify the best combination of logic locking techniques for the input C code. We discuss the following well-known heuristic methods. However, our optimization framework can use any exploration method that is able to manipulate a vector of integers.

As a proof-of-concept, we implemented a standard GA with integer encoding. GAs maintain a population of $N$ alternative solutions (initialized randomly) and re-combine them in order to identify the best sub-set of obfuscation techniques.
Classic GA operators, like {\em random mutation} and {\em single-point crossover}, are applied with probability $P_m$ and $P_c$, respectively, to generate offspring solutions. At the end of each generation, all individuals are ranked based on the given security metric (see Section~\ref{sec:solution_eval}), checking for the best solution and passing the best individuals survive to the next generation. This procedure terminates when the best solution is not improved for a certain number of generations or we reach the limit on the total number of generations.

\section{Evaluation and Selection Phases}\label{sec:solution_eval}

The evaluation of logic locking solutions is divided into two parts. During {\em exploration}, we evaluate and optimize the security metric of the different solutions. In {\em selection}, we evaluate the resource overhead of the solutions with the best security metric.

\subsection{Security Assessment}
Each solution $s$ encodes the set of logic locking transformations to apply. First, we compute the number of key bits (see Equation~\ref{eq:keys}) to determine whether the solution is feasible. If so, we proceed with security assessment. We consider a threat model without an oracle, so we aim at optimizing {\em differential entropy} (i.e., the effects on the output values), which is a behavioral metric. We perform security evaluation directly on the obfuscated C code by computing the differential entropy defined in Eq.~\ref{eq:corruptibility}. We apply the logic locking techniques to the C code as specified in the solution vector. This new code is compiled with the testbench and executed on the given test vectors for each alternative wrong key $w \in W$. The resulting outputs are compared with the golden outputs to determine the differential entropy $H_s$. The exploration phase aims at maximizing this value.

\subsection{Resource Evaluation}

Applying different logic locking techniques can lead to the same security level but with different overheads. Once we identify the solutions that optimize the given security metric, we evaluate their resource consumption. First, to increase the number of solutions to evaluate, we pass to the {\em selection} phase solutions whose security metric is within a pre-defined range from the best ones. We obtain more solutions with a minimal degradation (pre-defined by the designer) on the security metric. We perform commercial HLS on the obfuscated C codes to obtain the corresponding obfuscated RTLs. We rank these RTL designs according to the use of hardware resources, selecting the best as the final solution.

\section{Potential Framework Extensions}\label{sec:extensions}

We propose a solution to optimize differential entropy for algorithm-level obfuscation in an oracle-less attack. However, our framework can be extended to other scenarios. Let us consider the cases proposed for the {\em Logic Locking Conquest}~\cite{llc}.

\subsection{Locking and Exploration Methods}
Design space exploration meta-heuristics are completely transparent to the logic locking techniques. Assuming that all techniques are orthogonal with each other, any common operator for design space exploration generates valid solutions simply by manipulating each element of the solution vector, as shown in Fig.~\ref{fig:mutation}, always generating valid solutions. On one hand, we can easily integrate with new logic locking techniques. The designer has to define the values corresponding to the alternative possibilities for the new technique and modify the analysis step to generate the corresponding elements in the solution vector. On the other hand, new heuristics for exploring the design space can be easily integrated by designing them to operate on the vector of integer values representing the logic locking solution.

\subsection{Logic Locking Optimization}

Our framework could be used to {\em protect the circuit against oracle-based attacks}, where the security metric is the resilience to SAT-attacks. In this case, HLS must be performed during security evaluation to create
RTL designs on which SAT attacks are performed to attempt key recovery~\cite{blind}. The designer selects the solution that minimizes resource overhead among the ones that maximize the resilience to SAT attacks.

\subsection{Logic Locking Violation}

Given a netlist, our framework can {\em produce approximately functionally equivalent netlists} when the defender has a set of test vectors that have to match. The generated approximately functionally equivalent netlists are then evaluated in terms of how well they satisfy the design specification (e.g., how much their outputs are ``similar'' to the outputs of the netlist under attack). This approach is known as {\em evolvable hardware} ~\cite{10.1007/978-3-540-30117-2_83}.

\section{Experimental Results}
\label{sec:results}

To validate our solution, we implemented a prototype in Python. We used {\tt pycparser} parser (ver.~2.19) for C manipulation (analysis and obfuscation).
DSE is performed in Python on top of the DEAP framework (ver.~1.30)~\cite{DEAP_JMLR2012}. Due to the stochastic nature of the GA, we averaged the results over 30 runs.

\begin{table}[t]
\caption{Characterization of the benchmarks.}\label{tab:source}
\footnotesize
\centering
\begin{tabular}{l r rrrr}
\hline
         & \multicolumn{1}{c}{\bf C} & \multicolumn{4}{c}{\bf Obfuscation Points} \\
{\bf Benchmark} & {\bf Lines} & {\bf \#Ctrl.} & {\bf \#Op.} & {\bf \#Const.} & {\bf \#Bits} \\
\hline
\texttt{aes} & 828 & 4 & 111 & 149 & 4,883\\
\texttt{arf} & 59 & 0 & 28 & 0 & 28 \\
\texttt{bubblesort} & 19 & 0 & 11 & 4 & 139 \\
\texttt{crc} & 68 & 0 & 5 & 7 & 167 \\
\texttt{adpcm} & 507 & 7 & 121 & 69 & 2,336 \\
\texttt{sha} & 112 & 0 & 76 & 40 & 1,356 \\
\texttt{patricia} & 96 & 2 & 9 & 3 & 107 \\
\texttt{gsm}   & 68 & 29 & 251 & 172 & 5784 \\
\hline
\end{tabular}
\end{table}

\begin{figure*}[t]
\begin{subfigure}{0.24\textwidth}
\includegraphics[height=4cm]{figures/aes_75.png}
\caption{\texttt{aes}}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\includegraphics[height=4cm]{figures/arf_75.png}
\caption{\texttt{arf}}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\includegraphics[height=4cm]{figures/BubbleSort_75.png}
\caption{\texttt{bubblesort}}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\includegraphics[height=4cm]{figures/crc32_75.png}
\caption{\texttt{crc}}
\end{subfigure}\\
\begin{subfigure}{0.24\textwidth}
\includegraphics[height=4cm]{figures/adpcm_75.png}
\caption{\texttt{adpcm}}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\includegraphics[height=4cm]{figures/sha256_75.png}
\caption{\texttt{sha}}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\includegraphics[height=4cm]{figures/Patricia_75.png}
\caption{\texttt{patricia}}
\end{subfigure}
\begin{subfigure}{0.24\textwidth}
\includegraphics[height=4cm]{figures/gsm_75.png}
\caption{\texttt{gsm}}
\end{subfigure}
\caption{Evolution of the DSE exploration when providing 75\% of the maximum key bits.}\label{fig:dse_results}
\end{figure*}

We selected eight benchmarks from the CHStone~\cite{DBLP:journals/jip/HaraTHT09} and MachSuite~\cite{6983050} suites, which are two popular collections of HLS benchmarks.
Table~\ref{tab:source} reports the characterization of the input C code for these benchmarks. We report the number of C lines and obfuscation points (branches, operations, and constants, respectively) together with the total number of key bits required for complete obfuscation. We also report the total number of output bits of the benchmarks on which we compute the differential entropy metric described in Section~\ref{sec:metric}.
For each benchmark, we consider 100 input sets for evaluating the differential entropy.

We configured the DSE algorithms as follows. The GA population contains 300 individuals that are evolved for 1,000 generations or until the best overall fitness value is not improved for 10 consecutive generations. Crossover and mutation probabilities have been set to $P_c = 0.5$ and $P_m = 0.2$, respectively, while single-element mutation probability is set to $P_l = 0.05$.
We compared our solution with TAO~\cite{8465830}, a state-of-the-art behavioral logic locking technique that obfuscates the elements with a depth-first approach. For a fair comparison, we reimplemented the TAO idea in our framework to perform C-level obfuscation and use commercial HLS for RTL generation. TAO obfuscates the elements with a depth-first analysis and the security metric is evaluated only on the final solution. No security-related optimization is thus performed. This case is identified as {\tt TAO} in our experiments.
Since obfuscation is applied to all obfuscation points in the {\tt Full} experiments, results do not change when varying the key length. However, {\tt Full}solutions requiring more key bits than the number of available ones are considered unfeasible.

For each benchmark, we generated four keys of different length, namely \texttt{k1}, \texttt{k2}, \texttt{k3}, and \texttt{k4}, that we use to evaluate the effects of varying the number of locking key bits (25\%, 50\%, 75\% and 100\% of the total number of required key bits). For each locking key, we generate 100 random variants that represent the {\em wrong keys} that are used for security evaluation.

We evaluate the results obtained with the optimization of the security metric (Section~\ref{sec:results_security}) and we compare the results of the different exploration methods (Section~\ref{sec:dse_results}).

\subsection{Security Metric Optimization}
\label{sec:results_security}

This paper does not aim at evaluating the security of the obfuscation techniques (see \cite{pilato2021assure} for more information) but aims at optimizing their use for a given security metric. For each benchmark $s$, we computed the theoretical maximum ${H}^*_s$ of the security metric $H_s$ and the difference $\epsilon = {H}^*_s-H_s$ represents the distance between the value obtained from the exploration and the {\em ideal optimum}. However, for some benchmarks, it is impossible to achieve \textit{perfect output corruptibility} with $\epsilon = 0$.

\Cref{fig:dse_results} shows the results of the DSE runs for the eight benchmarks when the key budget is 75\%. This is an interesting trade-off between a large design space (many possible combinations) and the constraint given by the number of key bits. In all cases, TAO obtains value of the security metrics that are orders of magnitude larger than the ones obtained by our DSE, showing that the selection of the obfuscation points is a critical aspects for improving the security. Also, in many cases, the obfuscation does not require to use all key bits to achieve the best security metric. Finally, obfuscating operations and constants is usually preferred over control branches. This trend is motivated by the fact that arithmetic operations have more effects on the output values considered by the different entropy. However, our DSE engine is able to adapt itself to the given security. Indeed, the graphs show how the explorations progressively evolve towards better values for the given security metrics. It is worth noting how the average and standard deviation are sometimes increasing. This is because the exploration aims at introducing new individuals that are not necessarily better than the previous ones. However, the ranking and selection procedure keeps the best ones and uses the worst one only to explore alternative regions of the design space.

It is also interesting the note that the results and the optimizations are independent of the size of the benchmarks, showing good scalability of our solution with the size of the problem.

\subsection{Design Space Exploration Performance}
\label{sec:dse_results}

The design exploration that we perform is obviously more expensive than single-run heuristics like TAO. While TAO completes the obfuscation in few seconds (in the worst case), our DSE engine requires several hours to complete (up to one day in the worst cases). However, the improvements that we obtained well justify the additional time required by the designer to explore the different solutions. Indeed, this exploration is performed only once during the design phase. The execution time is affected mostly by the C compilations and runs to evaluate the security: benchmarks that are more complex require more time even if their code is small. In any case, such execution times are order of magnitude lower than the corresponding RTL simulations.

\section{Related Work}

Several approaches have been proposed to protect IP cores from reverse engineering and theft, including {\em split manufacturing}, \textit{camouflaging}, {\em watermarking}, \textit{logic locking}.

Split manufacturing aims at dividing the IC design in two or more parts that are fabricated by separate foundries~\cite{6513707,8203796}. Camouflaging aims at hiding the Boolean functionality of a gate at the layout level, confusing the attacker when analyzing the circuit~\cite{Cocchi2014}. Watermarking aims at identifying and certifying the ownership of an intellectual property and at making it verifiable by the end user with a designer's signature embed into the design~\cite{AbdelHamid2004}. Logic locking makes the circuit's functionality dependent on a key unknown to the foundry~\cite{8852678}. These techniques can be applied at each step of the design flow, including at the transistor~\cite{8714856}, logic ~\cite{Sengupta2018, 8203758}, or behavioral levels~\cite{7100906}.

Logic locking modifies the behavior of a circuit in such a way that it does not produce the expected outputs until it is ``activated" with a secret key. In this way it is possible to protect the circuit from illegal copies since the correct execution requires access not only to the chip layout but also to the key. This approach protects against attackers that may have access to the design files~\cite{8852678}. Circuit locking can be performed at the logic level~\cite{roy2008epic, 7362173} or at the behavioral level~\cite{5401214, 5966342}. Protection techniques depend on the threat model assumed by the designer: if the attacker has access to an activated chip ({\em oracle}), logic locking must be resistant to SAT attacks~\cite{Shamsi2017}. If no oracle is available, the attacker can only analyze the design files and the designer should not reveal any knowledge on the real structure or functionality. In this way, the attacker can only apply random guesses. To scale to larger designs, novel approaches raise the abstraction level, applying locking during HLS~\cite{8465830,8942150}, even if the approaches require tool modifications and are thus not compatible with current industrial EDA flows. Existing methods aims at proposing alternative techniques, while there is no explicit optimization of the security metrics~\cite{metrics2018}. We focus instead on identifying the best combination of techniques by analyzing the effects on the proper metric for the given threat model.

Although in the last years the use of HLS tools has become popular also in industry, security requirements are not adequately addressed by current commercial HLS solutions. Countermeasures are applied only to the code executing on the processors or manually implemented into selected IP blocks, leading to suboptimal and sometimes even insecure designs. However, securing hardware IP cores during HLS is becoming a primary concern together with traditional performance and cost optimizations~\cite{8114281}. Recent solutions aim at introducing security awareness in HLS tools~\cite{8356053,7906738,8465830}. While these tools have the merit of automatically synthesizing security protections, they are not mature yet for industrial adoption.

Our methodology optimizes the generation of IP cores protected with logic locking during HLS while limiting the resource overhead through a design space exploration performed at the C level. Obfuscated RTL designs are obtained with commercial HLS tools, enabling adoption of behavioral logic locking in industrial scale designs and design flows.

\section{Conclusions}

We proposed a design framework for optimizing algorithm-level obfuscation during IP generation. Our method aims at maximizing a given security metric (i.e., differential entropy) by exploring the obfuscation effects with a genetic algorithm. The presented results demonstrate that it is not necessary to perform a full obfuscation to maximize security. Indeed, by adequately selecting the obfuscation points it is possible to maximize security while limiting resource overhead. Operating at the C level makes our solution compatible with commercial HLS frameworks. Future research will work in two directions. To improve the framework, we will evaluate and compare alternative exploration techniques. To expand its application, we will apply it to new scenarios and security metrics.

\bibliographystyle{IEEEtran}

redpajama_set_name: RedPajamaArXiv


text:
Category - Motoring Classics
Magazines • Motoring Classics
Motoring Classics Spring 2015
Gripping as some period film and TV dramas are, it can be difficult for we vehicle enthusiasts not...
Motoring Classics Winter 2014
Our cover story concerns the achievements of two remarkable women. Lady Mary Heath was a champion...
Motoring Classics Autumn 2014
Classic motorsport is never far from our thoughts and in this edition we bring you up-to-date with...
Motoring Classics Summer 2014
Our cover story concerns the contentious subject of women in motorsport and whether they will ever...
Thanks to the foresight and motivation of Mark Wilsmore, the infamous Ace Cafe was resurrected and...
To be truly collectable, classic cars need both rarity and the X Factor. The same is true of...
Show me an adult car enthusiast and I'll show you somebody who almost certainly played with four...
According to Michael Ware, the former curator of the National Motor Museum, Beaulieu, there are an...
The move to E10 petrol has sent ripples of fear running through the classic car fraternity. We...
TR fans will need little introduction to BMH dealer Moss Europe, whose history from office-less...


text:
The University of Leicester has extremely strong academic expertise in climate-related research. We are responding to climate change with multi-disciplinary and high-impact research and teaching across a range of disciplines.
We have an obligation to ensure we teach our students the skills and knowledge required to tackle global challenges. Leicester was one of the first UK universities to have an Education for Sustainable Development Group, working to increase sustainability learning opportunities – both intra-curricular and extra-curricular.
All the University's undergraduate degrees have been mapped, at the level of Intended Learning Outcomes, against the 17 Sustainable Development Goals. 98% of our 2019/20-entry undergraduate degrees include teaching aligned to the UN Sustainable Development Goal indicators. Furthermore, 40% of students have access to climate change related teaching as part of their degree.
Research, technology and investment in clean energy
The seventh Sustainable Development Goal focuses upon improving energy efficiency and promoting access to research, technology and investments in clean energy.
University operations
The University has an Ethical Investment Policy that involves a commitment to investing responsibly. We have allocated 11% of our endowment funds to impact investments across themes such as resource efficiency and clean energy.
The University of Leicester has directly divested from fossil fuels: Fossil Fuel Divestment Statement.
An Earth Observation Innovation team at the University is collaborating with PyroGenesys on a project to identify locations for the installation of a novel technology to generate off-grid electricity using agricultural waste residues in remote rural communities in Nigeria. Dr Eloise Marais, from the School of Physics and Astronomy, has partnered with Harvard University on research to demonstrate that if Africa chooses a future powered by fossil fuels, nearly 50,000 people could die prematurely each year from fossil fuel emissions by 2030 – mostly in South Africa, Nigeria and Malawi.
The twelfth Sustainable Development Goal is to implement sustainable consumption and production procedures.
Procurement contributes to the University's carbon footprint through Scope 3 emissions (Greenhouse Gas Protocol). We have therefore taken steps to limit our emissions. The University has strong Sustainable Procurement Guidance, reports annually through the NETpositive tool and works with suppliers to encourage their sustainability.
Within the School of Geography, Geology and the Environment, the Centre for Sustainable Resource Extraction carries out research to ensure the security of the supply of Earth resources to society and to reduce the environmental footprint through the development of technologies to revolutionise the relevant industries. As part of the SOCRATES consortium, the Centre for Materials Research aids the development of ground-breaking metallurgical processes to utilise the raw secondary materials found in industrial process residues and contribute to a more diversified and sustainable supply chain for critical metals.
Partnerships and knowledge exchange
The seventeenth Sustainable Development Goal is arguably the most important Goal as it supports partnerships, knowledge sharing and cooperation for access to science, technology and innovation.
Universities play an important role in achieving the UN Sustainable Development Goals (SDGs). Leicester has embedded SDGs within our Social Impact Strategy. The University was one of the first UK higher education institutions to sign the SDG Accord, in September 2017. We have continued to map of our academic contributions to the SDGs.
The University is represented on the core Leicester Environmental Experts Reference Group that advises on sustainability alongside De Montfort University, the City and County Councils and many other stakeholders.
Student projects can be impactful, so our Living Labs approach enables students to make a difference within the University and the local community and has been showcased as an example of good practice in a guide from the EAUC and the NUS. Students also have the opportunity to be trained as environmental auditors and to go out into local businesses and audit their business as part of the Innovation for Good programme. They help the SME (small-medium enterprises) businesses address ethical issues such as living wage, energy saving, reducing waste and fair consumption.
Catherine Fitzsimons, in the School of Physics and Astronomy, is involved in a 3 year Knowledge Exchange programme for the European Space Agency (ESA) Climate Office Climate Change Initiative (CCI) where she develops narratives for a visualisation tool and education materials for primary and secondary schools using the essential climate variables data through the CCI.


Suhrad InfoTech is a professional Software Development Company with the best talent and most modern technology for online solutions & focused on providing clients with effective online marketing solutions.
We are OffShore/OnShore working in Blockchain Services, Artificial intelligence-AI, IoT, ML, Big Data, Web, Software, Mobile Application Development, SEO, Digital Marketing, Social Media Marketing, Affiliation Marketing, SAP, CRM, ERP, CMS Development Company based in India/USA.
We have 8+ yr experienced over a decade in this industry.


text:
3.5 stars, Contemporary, Genre, Review
Scarlet Nights by Jude Deveraux
A few years ago, when I worked in a corporate office some co-workers in the cubes around me discovered Overdrive and were listening to the Nantucket Brides series by Jude Deveraux.
As one of my co-workers was telling me about the plot of the book I was like "Yeah, Jude Deveraux has a ton of romance novels". There was a bit of awkward silence and I was then hastily corrected by them that it wasn't a romance…it was a mystery/thriller. *sigh*
Ever since then I've always been curious what it was about Devereaux's contemporary books that pulled in people who didn't consider themselves big readers. So I finally sat down and listened to one on audio. I chose Scarlet Nights on Scribd because thee undercover element stuck out to me as I was skimming synopsis.
Michael Newland is a hardened undercover South Florida cop whose has been tasked by the Feds to find out what criminal Stephan aka Greg Anders and his con artist mother are doing in the small town of Edilean, Virginia and what devious plans they have for Sara Shaw, the small-town sweetheart Stephan wooed into becoming his fiancee. The small town of Edilean is Sara's world and Mike will protect it and her even if the town holds some of his darkest family secrets.
This book is what I expect from a legendary romance writer from the '90s, it's one of those super heteronormative books; the men are strong, smart and powerful while the women are beautiful, empathetic and witty. This book is smack dab in the middle of the series so Deveraux has built a strong community of characters and to populate the small town of Edilean.
The book has a pleasant flow, the constant threat of danger and hints of the mystery kept me reading. Mike comes to town with an undercover story and I liked how Sara was genre-savvy enough to poke holes in his story and help him solve the case early on. Because the entire town hates the villain Stephan aka Greg Anders, they help push Mike and Sara into a relationship while she is still engaged. IDK if this counts as cheating? I know some people aren't fans of that in their books. There is also a dash of "not like other girls" because Sara is family-oriented and dresses in old fashioned fabrics, plus she's not one of those high-falutin' city career ladies.
This book also has a side of crazy sauce and gets a little head scratchy. For one. the title of this book is so random. Scarlet Nights is the name of a sex perfume the heroine's mom (who is also the town mayor) makes whenever she and the heroine's dad are together? I mean it had nothing to do with the plot, so when the name drop came I wasn't expecting it.
And finally, there is this really odd part where Sara and her high school nemesis (one of those high-falutin' city career girls) rush to help the hero who has been kidnapped. To distract the bad guys the women decide to take off their clothes, let the bad guys see them in their underwear and then give chase? WHAT? WHY ????? It's so …silly and it of course works but they could have done that with their clothes on ??? The men chasing women in lingerie felt like an outdated rape joke.
Even though this book was published in 2010 it does not 100% hold up. A lot of the mystery revolves around an old great house which–let's face it–was a plantation. Additionally, antique tarot cards play a big part in luring the bad guys out and the characters dive deep into Romani stereotypes.
Also, a slight spoiler for part of Mike backstory; it's revealed that his mean Grandma got drunk one night as a young adult, fell off her bike and had (what everyone says she essentially asked for) sex with a man she thought was her crush but was actually the town perv. Anyway, this is not fully explored and we never learn what really happened. It felt very uncomfortable because we never learned if what really happened that night was consensual, and I just didn't understand why it was added,
The small town of Edilean and its history did catch my interest, so I certainly want to check out the books in this series that go back to the town's origins and tell how it was settled by Highlanders in the 1600s.
Stephan aka Greg's mother is the villain that sets the book's events in motion, she is known for swindling women out of money by emotionally manipulating them as a fake psychic. Unfortunately, something similar happened to Jude Deveraux and it looks like this book was a response to that.
Jude Deveraux is apart of Sara Wendell calls the 'Holy Trinity of J" Julie Garwood, Johanna Lindsay, and Jude Deveraux. I still need a Johanna Lindsay so hopefully, I will get to that in 2020.


text:
Q: Questions: how can i change the output and serialize of xml and null values in web api asp.net 2? I have created a web api and i am using microsoft sql server management studio for the database. what i want to do is to change the output of some null values in web api asp.net 2 and also i want  to serialize ouput like in the expectation.
what I get in the response of xml:
public List<Draft> Get()
        {
            List<Draft> list = new List<Draft>();
            string mainconn = ConfigurationManager.ConnectionStrings["Myconnection"].ConnectionString;
            SqlConnection sqlconn = new SqlConnection(mainconn);
            SqlCommand cmd = new SqlCommand("Select UserID, Name, Mobile, Access, Date From tblTest", con);
            sqlconn.Open();
            SqlCommand sqlcomm = new SqlCommand(sqlquery,sqlconn);
            SqlDataReader er = sqlcomm.ExecuteReader();
            while(er.Read())
            {
                draft.Add(new Draft()
                {
                   UserId = Convert.ToInt32(er.GetValue(0)),
                   Name = er.GetValue(1).ToString(),
                   Mobile = er.GetValue(2).ToString(),
                   Access = (er.GetValue(3) !=DBNull.Value)? Convert.ToInt32(er.GetValue(3)) : 0,
                   Date = (er.GetValue(4) ! = DBNull.Value)? Convert.ToDateTime(er.GetValue(4)) : (DateTime?)null

The ouput like this:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<ArrayOfDraft xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Draft>
<Access>0</Access>
<DateTime>2022-04-05T00:10:00</DateTime>
<Mobile>1234567891</Mobile>
<Name>Emily</Name>
<UserId>1</UserId>
</Draft>
<Draft>
<Access>2</Access>
<DateTime i:nil="true"/>
</Mobile>
<Name>Peter</Name>
<UserId>2</UserId>
</Draft>

Expectation:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<ArrayOfDraft xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Draft>
<UserId>1</UserId>
<Name>Emily</Name>
<Mobile>1234567891</Mobile>
<Access>0</Access>
<DateTime>2022-04-05T00:10:00</DateTime>
</Draft>
<UserId>2</UserId>
<Name>Peter</Name>
<Mobile></Mobile>
<Access>2</Access>
<DateTime>null</DateTime>
</Draft>

Class:
    public class TestClass
    {
        public int UserId { get; set; }
        public string Name { get; set; }
        public string Mobile { get; set; }
        public int Access { get; set; }
        public DateTime Date { get; set; }
    }

How to make the format?

A: I just need add data contract in class to order the output
    [DataContract]
    public class TestClass
    {
        [DataMember(Order = 1)]
        public int UserId { get; set; }
        [DataMember(Order = 2)]
        public string Name { get; set; }
        [DataMember(Order = 3)]
        public string Mobile { get; set; }
        [DataMember(Order = 4)]
        public int Access { get; set; }
        [DataMember(Order = 5)]
        public DateTime Date { get; set; }
    }

redpajama_set_name: RedPajamaStackExchange