some in favor of 合同it和some are in favor of 合同it有什么区别吗

National Coming Out Day falls on October 11th and users of the popular gay app Jack'd speak up on the importance of coming out. (PRNewsFoto/Jack'd) &&&
National Coming Out Day falls on October 11th and users of the popular gay app Jack'd speak up on the importance of coming out. (PRNewsFoto/Jack'd)
CAMBRIDGE, Mass., Oct. 9, 2014 /PRNewswire/ -- , the most popular gay dating app in the world among 18 to 30 year old gay men, today announced findings from a user poll on attitudes around coming out in 2014. 29 percent of the gay men who responded to the survey said that on October 11th, National Coming Out Day, they will come out to someone in their life. The survey also identified Neil Patrick Harris, Lady Gaga, and Tyler Oakley as the top public figures that have inspired them to come out.
This year will mark the 26th anniversary of National Coming Out Day. Despite its impressive tenure, 31 percent of survey respondents had never even heard of the holiday before, while 59 percent felt that the date was important. Jack'd users were given a chance to explain why they felt it was important, with some responses including:
"To feel the support of people and know you aren't alone"
"It's a way to raise awareness of the multiple issues homophobia causes. Knowing that other people are still 'coming out' helps people feel less alone"
"It creates a safe space for people to talk about sexuality, and to encourage others to come out"
"People can come out any day of the week, but making a special day for it may be what some people need to give them a little push and…COME OUT! (sic)"
"It brings a national spotlight to the difficulties gay youth face in America and globally too, this is especially needed in a time when people are being killed for being gay around the world"
With over 5 million members, 80 percent of whom are between 18 and 25 years old in the U.S., the results are considered a reflection of young gay men's dispositions towards coming out in 2014.  Of those surveyed 16 percent cited that they came out before they were 16 years old, with the majority of people coming out before they were 20.
"When looking at how young gay men are coming out, I think it's extremely important for us to offer as much support to them as we can. National Coming Out Day is a great platform for this," said Adam Segel, CEO of Jack'd.
The importance of this date is highlighted by the fact that 10 percent of Jack'd survey respondents were not out to anyone. 48 percent of the closeted respondents explained they are still exploring their sexuality and not ready to identify. The other 52 percent explained they are not out due to family, religious, or social pressures.
Despite the rise of technology and the dominant role social media is playing in how young people communicate, it seems that face-to-face still rules the roost when it comes to coming out. 73 percent of respondents said they came out to someone in person, with only 7 percent using online tools to come out. Furthermore, 20 percent of gay men are not given the choice to come out, and instead are involuntarily outed by others.
The survey also found that gay men are least likely to come out to their fathers first, with 1 percent of votes. 37 percent of respondents identified a heterosexual friend as the person they first came out to. Friends may also be an easier audience to come out to as, according to the survey, family react worse to coming out news than do friends.
For those looking to come out on October 11, 2014, 50 percent of Jack'd survey respondents advise the best thing about being out is simply being honest with yourself. Jack'd also let participants provide one piece of advice for someone who hasn't yet come out. An overwhelming amount of respondents stressed the importance of waiting until you're ready and not rushing the process.
About Jack'd Jack'd is the fastest growing gay app in the world among young gay adult men, with more than 5 million users, 80 percent of whom are between 18 and 30 years old globally. It's extremely popular with gay millennials, who are attracted by the app's strong community vibe and its array of free features. The app is truly an international phenomenon and is translated into more languages than any other gay app. Jack'd is owned by Online Buddies, Inc., the largest company in the world connecting men seeking men. Jack'd is available for iPhone and Android. To download the app from our mobile site, go to .
Media ContactJoe GrovesSparkpr for Jack'd+1 (415) 712 9316
Jack’d
RELATED LINKS
Journalists and Bloggers
The news you need, when you need it.
to access all of the free services designated to make your job easier.
In need of subject matter experts for your story?
and find the sources you need.
LEARN MORE
Looking to send a news release with PR Newswire?
Take advantage of the world's leading distribution platform.
Have an account?
Searching for your content...
Share this articleThis site is being redeveloped. For all the latest ABC Health content click .
Health Topics
Your Health
The politics of medical cannabis may be complicated. But for some people it makes a world of difference in relieving pain, nausea, seizures, and other symptoms.
[Image source: iStockPhoto | Trevor Smith]
With the recent political debate around medical cannabis trials, you could be forgiven for thinking that the notion was something altogether new.In fact,
has been used medicinally for thousands of years in India and Asia. It was introduced to western medicine in the mid-nineteenth century by an Irish doctor William O'Shaughnessy, upon his return from service in India, and become a popular therapy around the world.Even former US president Richard Nixon's 1972
of conditions such as glaucoma, migraine and cancer (although Nixon subsequently ignored his own Commission's findings and instead declared a 'war on drugs').The criminalisation of marijuana saw it swiftly fall from medical favour. However, it seems that medical cannabis's star is once again rising, with some evidence suggesting it may offer considerable relief in conditions where few other treatments are able to help.Making people more comfortableCannabis's therapeutic benefits stem from the way it stimulates with the body's own method of making us feel good, known as the endocannabinoid system, explains Emeritus Professor of Anaesthesia Laurence Mather, from the Northern Clinical School at the University of Sydney."The endocannabinoid system in the body is not a pain relieving system like the endorphin system, like for morphine-type things, it's more a general wellbeing system, and it works by making people feel more comfortable with themselves," Mather says."It doesn't ablate pain, it makes the body more accepting."Cannabis helps with a very specific type of pain that does not appear to respond well to pain relieving treatments, such as opioids or non-steroidal anti-inflammatory drugs (NSAIDS)."It does not work, for example, in post-operative pain … and in acute pain such as from a surgical incision," Mather says.However, it is showing considerable promise in treating what is called 'neuropathic pain', which generally refers to . For example, researchers in the United States are testing the use of cannabis to treat the pain associated with sickle cell disease – a condition in which mutated blood cells can cause .Stimulating appetiteThe appetite stimulating effects of marijuana – more commonly known as 'the munchies' – have also proven useful in countering the bodily wasting associated with a range of conditions from
to cancer."That was observed back in the '60s and '70s, particularly by the recreational users of the time … they noticed the incidence of weight gain was more favourable in those that used cannabis than others," Mather says.This observation led to the development of a drug called dronabinol, which is a synthetic version of the main psychoactive component of cannabis – tetrahydrocannabinol (THC). This drug is used not only to treat weight loss associated with HIV/AIDS and cancer, but also the nausea and vomiting often associated with cancer therapies.Other conditionsWhile THC is the most famous of cannabis ingredients, it is not the only one proving beneficial in the medical arena. Another drug, nabiximols, an oral spray which is available in Australia under the brand name of Sativex, contains both THC and cannabidiol, and is used for the treatment of muscle spasms associated with .Given cannabis's potential to alter our mood, thinking and behaviour, it should come as no surprise that it's also being investigated for treatment of psychological disorders such as . A recent US study found a , and in many US states medical cannabis is approved for use in individuals with PTSD.There is also growing support for the use of cannabis to treat severe childhood epilepsies, such as Dravet's syndrome, with anecdotal evidence from parents suggesting cannabis drastically reduced the .Fewer side effectsLikewise, some argue that medical cannabis could provide a much safer and more pleasant alternative to the existing pain relief options used in palliative care."The side effects of many things that are used for treating these conditions such as heavy duty pain and things of that kind – treating them with opioids or treating with NSAIDS – are far more dire than they are from cannabis," says Mather."People can die from morphine, people can die from paracetamol because it buggers their livers, people can die from NSAIDS because it buggers their kidneys, but cannabis doesn't do any of these things."Like any drug, cannabis has its side effects, although what's interesting with medical cannabis is that the effects most sought after by recreational users are generally the effects most avoided by medical users, says emergency medicine specialist Dr David Caldicott, from the Australian National University and Calvary Hospital in Canberra."The product that is beginning to emerge globally is one that is bred and used for largely recreational purposes and so these are strains now which contain a much higher concentration of the psychoactive component, which is THC, and that isn't necessarily the most useful component," says Caldicott."Many people who consume this product medicinally actually don't like this effect, they choose strains, say for example in the US, that are much lower in THC concentration and higher in the cannabidiol concentrations."In parts of the world where medical cannabis is legal, considerable effort has gone into developing strains of marijuana that are carefully tailored for medical use, to reduce the unwanted side effects and boost the more desirable ingredients.Lack of good dataBut medical cannabis presents a conundrum for medical professionals. Its illegality in large parts of the world means most medical users are self-medicating and this also makes it a difficult drug to study in clinical trials.As a consequence, a significant proportion of medical cannabis research is based on self-reported use and outcomes, rather than large, carefully-designed, randomised trials, says Professor Ian Olver, head of the Cancer Council Australia."Probably two decades ago I remember sitting on a panel that reviewed the evidence [for medical cannabis], and in most cases the evidence is anecdotal," says Olver. As a result, he is cautious about the idea of more widespread availability of medical cannabis but acknowledges that there may be some patients for whom it is their only recourse to relief."If you've got a patient who's been through conventional therapy and has not responded, you're sympathetic to them if they find something that's worked, but that's quite different to saying something should be widely available for everyday use of pain," he says.Olver says there is also concern about the possible side effects of smoking marijuana, even for medical purposes, as this could introduce cancer-causing chemicals into the lungs.However Caldicott says there are other methods of delivery being considered, such as e-cigarettes, which would not only be more palatable for non-smokers but could avoid the potential side-effects of smoking. The active components of cannabis can also be infused into tinctures, which could be a useful option for use in children.Ultimately, the medical cannabis debate is not about making it widely available for a broad range of health conditions – as currently occurs in many states in the US – but about giving a small number of patients an option where they may have none."Medical cannabis is never going to replace paracetamol," says Caldicott."We're not talking about the sky falling in, we're talking about a niche market which would be very tightly regulated."
More Cannabis on Health & Wellbeing
Fact Files:
Elsewhere on ABC
Health Report
The World Today
The World Today 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
In favor of (plain) phenomenology
下载积分:5990
内容提示:In favor of (plain) phenomenology
文档格式:PDF|
浏览次数:0|
上传日期: 11:21:33|
文档星级:
全文阅读已结束,如果下载本文需要使用
 5990 积分
下载此文档
该用户还上传了这些文档
In favor of (plain) phenomenology
官方公共微信以下试题来自:
单项选择题{{B}}TEXT D{{/B}}
"I wouldn’t want to have
someone take my daughter to a hospital for an abortion or something and not tell
me. I would kill him if they do that." So much for Arnold Schwarzenegger’s
typically expressive sup port for Proposition 73, a constitutional amendment
requiring doctors to give parents 48 hours’ notice before carrying out an
abortion on a girl under 18.
Will the voters agree with the
His own status erstwhile hedonist turned responsible father of two
teenage girls and two pre-teen boys reflects his state’s mixed feelings about
sexual politics. California is one of the most sexually liberated states in the
nation. It also boasts the fifth worst rate for teen age abortions and the
seventh for teenage pregnancies. In 2000, some 116,000 teenagers in California
became pregnant, and almost 44,000 of them chose to have an abortion--including
1,620 under the age of 15. A recent Field Poll showed 45% of respondents in
favour of the amendment, 45% against and 10% undecided.
proposition’s advocates are careful to argue that supporting parental
notification is not the same as opposing abortion full stop. Mr. Schwarzenegger
is a "pro-choice Republican" and the proposition would allow a minor to petition
a court to allow her an abortion without notifying a parent. The real point,
they say, is that a 17-year-old girl "can’t get an aspirin from the school
nurse, get a flu shot, or have a tooth pulled without a parent knowing", but a
13-year old can have a surgical or chemical abortion without her parents’
knowledge. And since a majority of the prospective fathers are over 21, the
current system in effect condones statutory rape.
Opponents,
including the California Nurses Association and Planned Parenthood, are
unconvinced. As an editorial in the Los Angeles Times argued: "It’s nice to
think that all girls feel comfortable talking to their parents about sex, birth
control and abortion. Nice, but absurd." Equally absurd, add other opponents, is
the notion that a pregnant teenager from an abusive family will have the
gumption to go to court rather than to some backstreet operator--to seek her
abortion. And they suspect the proposition is the start of an effort to ban all
abortions: instead of speaking of a fetus, the proposition defines abortion as
causing the "death of the unborn child".
Just how parental
notification would affect the rate of teen pregnancies and abortions is an open
question. Some 34 states require some parental involvement in a minor’s decision
to end a pregnancy, but there is no hard and-fast correlation with the number of
abortions.
For example, New Mexico and New Hampshire require no parental
notification, but according to the Alan Guttmacher Institute, which studies
reproductive health, they ranked 18th and 25th in the rate of teen abortions in
2000. By contrast, Wyoming and Florida, which do have notification laws, ranked
14th and 7th. And even if notification laws deter abortions, they do not seem to
deter teen pregnancies: Texas, for example, is ranked 26th in abortions for
girls aged 15--19 but fifth in pregnancies for that age group.
This last statistic matters for California, where the main problem is
teens getting pregnant in the first place. Roughly a quarter of California’s 14
year-olds and three-fifths of its 17 year-olds have had sex. True, according to
the Public Policy Institute of California, birth rates fell from 73 for every
1,000 15--19 year-olds in 1991 to just 44 in 2001. But California’s teenage
girls become mothers at between 4 and 12 times the rate of their peers in
France, Spain, Italy, the Netherlands and J the figures for blacks and
Latinas in the state are particularly appalling. Whatever your views on
abortion, these statistics add up to an awful lot of heartache.Some people are in favor of the proposition because they think ______.A.it may reduce the number of teenage pregnancies.B.it might protect girls from being raped.C.the current law is not fair to all girls.D.the current law is attacked by many parents.
为您推荐的考试题库
你可能感兴趣的试题
1A.Uneasy.B.Fretful.C.Irritated.D.Slack.2A.refresh one’s memory.B.combat some diseases.C.revive one’s spirits.D.improve one’s physique.3.填空题 grammar and vocabulary4A.reviewing applications is a tedious and exhausting task.B.there are a lot 9f applications that need attending to quickly.C.people tend to tell their life stories in their applications.D.reviewing applications is a constant headache to the teachers.5.填空题 easier→easy
热门相关试卷
最新相关试卷ABSTRACT AOP vs Software Evolution a Score in Favor of the Blueprint.23
上亿文档资料,等你来发现
ABSTRACT AOP vs Software Evolution a Score in Favor of the Blueprint.23
AOPvsSoftwareEvolution:a;WalterCazzola;Dept.ofInformaticsandCom;UniversitàdegliStudidiMi;cazzola@dico.unimi.it;ABSTRACT;Allsoftwaresystemsaresub;Toobtainthisgoal,theaspe;Inthispape
AOPvsSoftwareEvolution:aScoreinFavoroftheBlueprint.WalterCazzolaDept.ofInformaticsandCommunication,UniversitàdegliStudidiMilanocazzola@dico.unimi.itABSTRACTAllsoftwaresystemsaresubjecttoevolution,independentlybythedevelopingtechnique.Aspectorientedsoftwareinadditiontosep-aratethedifferentconcernsduringthesoftwaredevelopment,mustbe“notfragile”againstsoftwareevolution.Otherwise,thebene?tofdisentanglingthecodewillbeburredbytheextracomplicationinmaintainingthecode.Toobtainthisgoal,theaspect-orientedlanguages/toolsmustevolve,theyhavetobelesscoupledtothebaseprogram.Inthelastyears,afewattemptshavebeenproposed,theBlueprintisourproposalbasedonbehavioralpatterns.InthispaperwetesttherobustnessoftheBlueprintaspect-orientedlanguageagainstsoftwareevolution.KeywordsAOP,SoftwareEvolution,FragilePointcutProblem.1.INTRODUCTIONAllsoftwaresystemsaresubjecttoevolution,theyevolveovertimeasnewrequirementsandfunctionalityemerge,oradaptionandextensionsaretobemade.Studiespointedoutthatupto80%[13]ofthesystemlifetimewillbespentonmaintenanceandevolutionactivities.Aprogramthatisusefulinareal-worldenvironmentnecessarilymustchangeorbecomeprogressivelylessusefulinthatenvironment[12].Aspect-orientedprogramminghasbeendesignedwiththeintentionofprovidingabetterseparationofconcernsbymodularizingcon-cernsthatwouldotherwisebetangledandscatteredacrosstheotherconcerns.Thiswouldmadethesoftwaremoremaintainable,evolv-ableandunderstandable.Paradoxically,themajoraspect-orientedtechniquesinsteadofimprovingsoftwaremaintainabilityseemtorestricttheevolvabilityofthatsoftware,ashighlightedin[21].Thisproblemisduetothesocalled“fragilepointcutproblem\[11].Pointcutsaredeemedfragilewhenseeminglyinnocentchangestothebaseprogram,suchasrenamingorrelocatingamethod,breakapointcutsuchthatitnolongercapturesthejoinpointsitisintendedtocapture.WhencodeisaddedtoaprogramandintroducesnewPermissiontomakedigitalorhardcopiesofallorpartofthisworkforpersonalorclassroomuseisgrantedwithoutfeeprovidedthatcopiesarenotmadeordistributedforpro?torcommercialadvantageandthatcopiesbearthisnoticeandthefullcitationonthe?rstpage.Tocopyotherwise,torepublish,topostonserversortoredistributetolists,requirespriorspeci?cpermissionand/orafee.Copyright200XACMX-XXXXX-XX-X/XX/XX...$5.00.SoniaPiniDept.ofInformaticsandComputerScience,UniversitàdegliStudidiGenovapini@disi.unige.itjoinpointsintheprogram,pointcutsaresimilarlyconsideredfrag-ileinthecasesomeofthesenewjoinpointsshouldbecapturedbythepointcutbutitfailstodoso.Itimpliesthatallpointcutsofeachaspectneedtobecheckedandpossiblyrevisedwheneverthebaseprogramevolves,sincetheyoftenbreakwhenthebaseprogramisre-factored.Allpointcutsreferringtothebaseprogramneedtobeexaminedbothafteranevolutionandafterare-factoring,becausetheycaptureasetofjoinpointsbasedonsomestructuralandsyn-tacticalproperties,anychangetothestructureorsyntaxofthebaseprogramcanalterthesetofjoinpointsthatiscapturedbythepoint-cuts.Thisproblemexistsbothifaprogrammeruseswildcardsandnot.Inpractice,thepointcutfragilityderivesformthedependencyontheprogramsyntaxandthecouplingbetweenaspectsandpro-gram[1,7,8,20].Thefragilepointcutproblemisaseriousin-hibitortoevolutionofaspect-orientedprograms.Thecriticalele-mentofthepastgenerationofAOtoolisthenecessitytospecifyprogramelementsnamesandtheimpossibilitytoselectelementswithoutusingnamingconventionorregularexpressions.Inshort,theyhavealinguisticapproach,soaspectwritersneedtobecom-pletelyawareofthebase-codedetailsandevolution,soeachaspectbecomestrictlyboundtotheapplicationonwhohasbeendesigned.Toobtainalessfragileapproach,itisnecessaryanewgenerationofaspect-orientedlanguages/tools,lesscoupledtothebaseprogram.Inthelastfewyears,themaingoalofthenewgenerationofAOapproachesistogetamoresemanticjoinpointselectionmecha-nismtoavoidthefragilepointcutproblem.Someapproachesare:thepointcutdeltaanalysis[11,20],theapproachofKellensetal.describedin[8],thejoinpointmodelproposedbyMohdAliandRashidin[14],thefunctionalquerylanguageproposedbyEichbergetal.in[4],thegraphicalapproachtomodelpointcutsdescribedbySteinetal.in[19]andsoon.In[3,16]wehavede?nedanew(vi-sual)model-basedjoinpointselectionmechanism.Wetacklethefragilepointcutproblembyeliminatingtheintimatedependencyofpointcutde?nitionsonthebaseprogramandbyusingahighleveldescriptionoftheprogrambehaviorduringthejoinpointselection.InthispaperwewanttoprovetherobustnessoftheBlueprintagainsttheevolution.Therestofthepaperisorganizedasfollows:insection2weshortlyoverviewtheBlueprintapproachandel-ements,insection3weintroduceourtestcasefortheevolution,?nally,insection4andinsection5wefacesomerelatedworksanddrawoutourconclusions.2.THEBLUEPRINTLANGUAGETheBlueprintframeworkisbasedonourpreviouswork[2]anditiscompletelydetailedin[16].Moreover,aworkingprototypeoftheframeworkhasbeendevelopedinJava.ThemaingoaloftheBlueprintlanguageistoovercomemanyproblemsofthepastgenerationofAOlanguage[1,9,11],suchas,thegranularityofthejoinpoint,thefragilepointcutproblem,thesemanticselectionandsoon.TheBlueprintisbasedontheideathatthedescriptionoftheapplicationbehaviorcannotbestrictlycoupledtotheapplicationsyntacticdetails.Itpermitsalooseapproachtothedescriptionoftheapplicationbehavior.Thismeansthattheaspectprogrammercanusedifferentlevelsofdetailduringthedescriptionofasinglejoinpointblueprintbyusinganypossiblecombinationsoflooseandtightelements.Thisapproachpermitstodescribeawelliden-ti?edbehaviortightlycoupledtotheapplicationcodebyspecifyingthenamesoftheinvolvedelements,andalessknownbehaviorbyusingmeta-informationtoabstractfromtherealapplicationcode.TheBlueprintisanovelaspect-orientedframework,itsjoinpointselectionmechanismallowstheselectionofthejoinpointsabstractingfromimplementationdetails,nameconventionsandanyothersourcecodedependency.Inparticulartheaspectpro-grammercanselecttheinterestedjoinpointsbydescribingtheirsupposedlocationintheapplicationthroughUML-likedescriptions(basically,activitydiagrams)representingcomputationalpatternsonththesedescriptionsarecalledblueprints.Theblueprintsarejustpatternsontheapplicationbehavior,i.e.,theyarenotderivedfromthesystemdesigninformationbutex-presspropertiesonthem.Inotherwords,weadoptasortofen-richedUMLdiagramstodescribetheapplicationcontrol?owsorcomputationalpropertiesandtolocatethejoinpointsinsidethesecontexts.TheBlueprintusesastaticquanti?cation,i.e.,itallowsquanti?-cationovertheabstractsyntaxtreeoftheprogram,herebyqueriessuchas“printthevalueofavariableusedinalooptestconditionandmodi?edintheloopbody”arepossible.Thiskindofquanti?-cationrequirestoaccessthesourcecodeoftheapplication,becauseweneedtoobtainaparsedversionoftheunderlyingprogram,torunthetransformationrulesrealizingthequanti?edaspectsoverthatabstractsyntaxtree.TheBlueprintlanguagecanbeusedonthebytecodeaswellsinceitcanbeunivocallydecompiled(modulosemanticequivalence)byappositetools,e.g.,byJode.Inourapproach,wedonotneedtousepositionquali?erssuchasbeforeandafteradvicestoindicatewheretoinserttheconcerninsidethebasecode,sincewedescribethecontextwearelookingfor,wecaneitherlocatethejoinpointsexactlywherewewanttoinsertthenewcodeor,tohighlighttheportionofbehaviorwewanttoreplace.TheBlueprintframeworkrecallstheAspectJterminologybutsometermsareusedwithaslightlydifferentmeaning.TheBlue-printjoinpointsarehookswherecodemaybeaddedratherthanwellde?nedpointsintheexecutionofaprogramasinAspectJ.Inotherwords,theAspectJjoinpointsarebasedontheideathat“whensomethinghappens,thensomethinggetsexecuted1”.Inthisviewajoinpointconsistsofthingslikemethodandcon-structorcalls,methodandconstructorexecutions,objectinstanti-ations,?eldreferencesandsoon.WhiletheBlueprintapproachisthat“joinpointscanoccurinanypartofthecode”,thisviewpermitsofchangingasinglelineofcode.Weuseastatement-levelgranularityforthejoinpointmodelwhereasAspectJusesanop-erationallevelgranularityforthejoinpointmodel.Inparticularweconsidertwodifferentkindsofjoinpoints:thelocaljoinpointsthatrepresentpointsintheapplicationbehaviorwheretoinsertthecodeoftheconcern,andregionjoinpointsthatrepresentportionoftheapplicationbehaviorthatmustbereplacedbythecodeoftheconcern.Thepointcutsareobtainedascomposition/enumeration1http://www.eclipse.org/aspectj/doc/released/progguide/index.htmlObserverBlueprintmethod meta-variable
any foo(..)<>*.foo(..)context
Buffervariable meta-variable
Field<><><>use ((*.Field in right) oruse (*.Field in left)
(*.Field in return))<><> produce, consumeFigure1:SampleJoinPointBlueprint.ofthejoinpointsselectedbythejoinpointblueprintsratherthanasthelogicalcompositionofqueriesontheapplicationcode.Whileintroductionsandadviceskeeptheirusualmeaning.Tocompletethepictureofthesituation,wehaveintroducedsomenewconcepts:joinpointblueprintand,blueprintspace.Thefor-merisatemplate(ablueprint)ontheapplicationbehavioriden-tifyingthejointheseblueprintsdescribewherethelocalandregionjoinpointsshouldbelocatedintheap-plicationbehavior.Theblueprintdoesnotcompletelydescribethecomputational?owbutonlytheportionsrelevantforselectingthejoinpoints.Thelatteristhesetofalljoinpointsblueprintsde?nedonthesameapplication.Thekeyelementofourapproacharethejoinpointblueprints,theygraphicallydepictswhereajoinpoint(bothlocalandregion)shouldbeintheapplicationbehavior.Theylooklikeanactivitydiagrams.Thediagramcontextualizesthejoinpointlocationbydescribingsomecrucialeventsthatshouldoccurclosetothejoinpoint,theseeventswillbeusedtorecognizethejoinpoint.Theframegivessomeancillaryinformation,suchastheblueprintname(atthetopleftcorner),thejoinpointsnameexposedbytheblueprint(atthebottomrightcorner)andsomemeta-infousedbytheweavertoparametrizethecontextandtogetvaluesfromthejoinpoint.Thelistedjoinpointsaretheonlyexposedtothepointcutspeci?ca-tion.Thejoinpointpositionisdenotedbythe?joinpointname?stereotypea(orabyatheacouplea?startjoinpointname?and?endjoinpointname?fortheregionjoinpoints).Togetamoreexpressivelanguageandlesscoupledtothecodesyntaxandstructure,andbyassumingthattheaspectprogrammerdoesnotnecessarilyknowtheimplementationdetailsofthecode,weintroducedthemeta-informationsectioninsidetheblueprintdi-agram.Themeta-informationisthetextualportionoftheblueprint,thatallowstheprogrammerofdescribingthecontextatthedesiredimplementationdetail,i.e.,eitherbyusingrealvariable,methodand?eldnamesorlesspreciseinformation.Forexample,iftheprogrammerdoesknowthemethodname,butheknowsitsparam-etertypes,hecanusethisinformation,inthemeta-informationsec-tion,bydeclaringanewmethodmeta-variablewithafantasyname,andindicatingtherightnumberandtypeofitsparameters,and?-nallybyusingthisnewmeta-variableintheblueprinttodescribethesoughtbehavior.Themeta-informationelementswillbeuni-?edtovariablenamesusedintotheapplicationduringtheweavingphase.Figure1showsaverysimplejoinpointblueprintthatabsolutelydonotrecallthewholeexpressivityallowedbytheformalism.Foradetailedandexhaustivedescription,please,referto[16]chapter4.3.ATEST-BEDFORTHEBLUEPRINTRO-BUSTNESSSofar,wehaveusedtheBlueprinttolocatesimplejoinpointsintoy-applications,likeshowedin[3,16],withfewlinesofcode.Now,itisfundamentaltotesttherobustnessoftheBlueprintlan-guageagainsttheevolutionbyusingarealapplicationwiththou-sandlinesofcodeandalongtimelifecyclewithmanyadaptationsteps.Tothisgoal,weadoptedtheHealthWatcher(HW)system2developedatUPEandintroducedbySoaresetal.in[18].HWisatypicalweb-basedapplicationthatmanageshealth-relatedinformation.Itincludesavarietyofcrosscuttingconcerns,suchasconcurrency,distribution,persistence,andsoon.Thesameappli-cationhasbeenpreviouslyusedastest-bedbytheLancasterUni-versity(in[6]),thathascreatedandcomparedoneobject-oriented(byusingJava)andtwoaspect-oriented(byusingAspectJandCaesarJ)implementationsofHW.Moreover,theyintroducedninestepsofevolutiontotheinitialapplication.3.1HWEvolutionWeconsidertheHWevolutionfromversion8toversion9,whichaddsnewfunctionalitiestotheapplication.Version9addsthefollowingfunctionalities:insertionofnewhealthunit,insertionofnewmedicalspeciality,insertionofnewsymptoms,searchingforsymptoms,updatingofasymptom,searchingforspecialitybycode,updatingofmedicalspeciality,andinsertionofnewdiseasetypes.Thesenewfunctionalitiesinvolvethecreationofnewrecordsandrepositoriesfordiseasesandsymptoms.Potentially,theycanintroducechangestothepublicinterfaceandinterferewiththecor-rectworkingoftheexistingpointcuts.MostoftheAOPapproachesuseajoinpointmodelsimilartothatofAspectJ[10].TheAspectJpointcutlanguageoffersasetofprimitivepointcutdesignators,suchascall,getandsetspec-ifyingamethodcallandtheaccesstoanattribute.Allthepointcutdesignatorsexpect,asanargument,astringspecifyingapatternformatchingmethodor?eldsignature.Thesestringpatternsintroducearealdependencyofthesyntaxofthebasecode.Intuitively,sincepointcutscaptureasetofjoinpointsbasedonsomestructuralorsyntacticalproperty,anychangetothestructureorsyntaxofthebaseprogramcouldalsochangetheapplicabilityofthepointcutsandthesetofcapturedjoinpoints.Aspectdeveloperimplicitlyimposessomedesignrulesthatthebaseprogramdeveloperhastofollowwhenevolveshisprogramtobecompliantwiththeexistingaspectsandavoidofselectingmoreorlessjoinpointsthanexpected.Inthiscase,problemswithevolutiondependalsooftheneedofguessingthese,oftensilent,conventions.Theserulesderivefromthefactthatpointcutsoftenexpresssemanticpropertiesaboutthebaseprogramintermsofitsstructuralproperties.Firsttopresentourapproach,wepresenttheproblemsencoun-tered,alsointhiscase,bytheAspectJaspects.Inparticular,weconsidertheaspectusedfortheHWsynchronizationofconcurrentinsertionandshowedinListing1.Itisfairlyevidentthatthepointcutde?nitiontakesinconsiderationonlythemethodnameofaparticularclassandnotthebehaviororthesemantictolocatetheinterestedjoinpoints.Inthiscase,the2p.lancs.ac.uk/Thecompletesourcecodegreenwop/taodevelopedisavailableatSynchronizationBlueprintvariable meta-variable
repository, x<>method meta-variable
void insert(ANY)falsetrue<>this.repository.insert(x);<> a, bFigure2:JoinPointBlueprintforInsertionSynchroniza-tion.aspectprogrammerhaswrittenacorrectpointcut,andthecorre-spondingaspectworksasintended.Whenthecodeischanged(i.e.,inversion9)byaddingnewpersistententity,i.e.,DiseaseRecordandSymptomRecorddespitethebehavioraddedbythesenewen-titiesisthesameoftheoldentity,thesynchronizationPointspointcut(seeListing2)hasbeenchangedinordertoconsideralsothenewmethods.Listing1:TheAspectJpointcutinversion8publicpointcutsynchronizationPoints(Employeeemployee):execution(*EmployeeRecord.insert(Employee))&&args(employee);Notethatthisisonlyapossiblewaytowritethepointcut,butingeneraltheproblemsarethesame.Forexample,inListing1,wecaninsertawildcardinplaceoftheclassname(EmployeeRecord),inthiscasethepointcutisnotbrokenbytheevolution,butiftheprogrammerdecidestochangethemethodname,e.g.,fromin-serttostorethepointcutdoesnotworkright,and(s)hemustadaptthepointcutde?nitiontolocatealltherightpointintheap-plication.Listing2:TheAspectJpointcutinversion9publicpointcutsynchronizationPoints(Objecto):(execution(*EmployeeRecord.insert(Employee))||execution(*DiseaseRecord.insert(DiseaseType))||execution(*SymptomRecord.insert(Symptom)))&&args(o);Since,theproblemoftheevolutioninaspect-orientedprogramsismainlythatthesetofjoinpointscapturedbyapointcutmaychangewhenchangesaremadetothebaseprogram,eventhoughthepointcutde?nitionitselfremainsunaltered.Then,toavoidthisproblemweneedalowcouplingofthepointcutde?nitionwiththesourcecode.TheaimoftheBlueprintapproachisjusttoover-cometheAOPproblemaboutsoftwareevolution,byallowingtheselectionofthejoinpointsabstractingfromimplementationdetails,nameconventionsandanyothersourcecodedependency.InFigure2isshowedthejoinpointblueprintusedtolocatethemethodsthatneedsynchronization,itdescribesarelevantportionofamethodbehavior.Inparticular,sinceallapplicationmethodsthatstorerecordsintorepositoriesarecomposedbyachecktocon-troliftherecordisalreadyinsertedornotinsidetherepository,wecansearchanifstatementcontaining,inthefalsebranch,thecodetoinserttherecord.The?joinpointb?locatethejoinpointatthebeginningofthemethodthatcontainsthestatementthatmatchtherelevantportionofbehavior,whilethe?joinpointa?locatethejoinpointattheendofthemethodthatcontainsthematchedstatementsofthedia-gram.Thediamondindicatethatwearelookingforaconditionalstatement,wheretheconditionisnotrelevantforthecontextde?ni-tion,likeso,itisnotrelevantwhatiscontainedinthetruebranch.Therepositoryvariablemeta-variableusedintheaction(i.e.,theredroundedrectangle)duringtheweavingprocessisuni?edtoaclass?eld.Theinsertmethodmeta-variablerepresentsamethodthatdoesnotreturnnothingandthathasonlyoneparameterofanytypeNotethatthenameofthemethodmeta-variableiscompletelyindependentfromthenameofthesearchedmethod,i.e.,changingthenameinsertinabcdefthelocatedbehavioranduni?edvari-ablesdonotchange.Sincethenewentitieshavealmostthesamebehavioroftheoldone,likeshowedinListing3,thebehaviordescribedintheblueprintlo-cateallthemethodsthatneedasynchronizationpoint.Listing3:TheApplicationImplementation//insertmethodofEmployeeRecordclasspublicvoidinsert(Employeeemployee)//throwsclause{if(employeeRepository.exists(employee.getLogin())){throw//}else{employeeRepository.insert(employee);}//insertmethodofDiseaseRecordclasspublicvoidinsert(DiseaseTypetd)//throwsclause{if(diseaseRep.exists(td.getCode())){throw//}else{this.diseaseRep.insert(td);}//insertmethodofSymptomRecordclasspublicvoidinsert(Symptomsymptom)//throwsclause{if(rep.exists(symptom.getCode())){throw//newexception);}else{rep.insert(symptom);}}Ourselectionmechanismmatchestheinsert()methodoftheEmployeeRecordclasspresentsinversion8,andtheinsert()methodspresentintheDiseaseRecordand,SymptomRecordclas-ses,addedinversion9,withoutchangeanything.Therepositoryvariablemeta-variableisrespectivelyuni?edtoemployeeRepos-itory,diseaseRepandrepapplication’s?eld.Thevoidin-sert(ANY)methodmeta-variableisrespectivelyuni?edtothein-sertmethodoftheEmployeeRepositoryArray,DiseaseType-RepositoryArray,andSymptomRepositoryArrayclass.4.RELATEDWORKSTheBlueprintframeworkisnotthe?rstattemptofdealingwiththelimitationsofthecurrentjoinpointselectionmechanisms.Inthenextofthesectionwereportsomeofthemostsigni?cantat-tempts,withoutpretendingtobeexhaustive.In[8],Kellensetal.tacklethefragilepointcutproblembyre-placingtheintimatedependencyofpointcutde?nitionsonthebaseprogrambyamorestabledependencyonaconceptualmodeloftheprogram.Thisconceptualmodelprovidesanabstractionoverthestructureofthesourcecodeandclassi?esbaseprogramenti-tiesaccordingtotheconceptsthattheyimplement.Thestrengthoftheapproachisonthede?nitionoftheconceptualmodelofthebaseprogram.Theclassi?cationofsource-codeentitiesinthecon-ceptualmodelisconstructedusingannotationsinthesourcecodeand,de?ningextradesignconstraintsthatneedtoberespectedbysource-codeentities,forthemodeltobeconsistent.Thisapproachrequiresdeveloperstodescribeaconceptualmodeloftheirpro-gramanditsmappingtotheprogramcode,inthisway,itbreakstheobliviousness[5]property.Moreover,itiscoupledwiththestruc-tureofthebaseprogram,butnotcoupledwithitsimplementation,andonlytheprogramentitiescanbeusedtode?nepointcut,sincetheyusethesamejoinpointoftheAspectJjoinpointmodel.Fi-nally,theystillneedamechanismforautomaticallyverifyingthecorrectnessoftheclassi?cationsde?nedbytheconceptualmodel.In[4],Eichberg,etal.presenttheusageoffunctionalquerylan-guageforthespeci?cationofpointcuts.Intheirapproachapointcutisasetofnodesinatreerepresentationoftheprogram’smodularstructure,andthissetisselectedbyqueryonnodeattributewrit-teninaquerylanguage.TheycreatedanXML-to-class?leassem-bler/disassemblerthatcanbeusedtocreateanXMLrepresentationofaclass?leandconvertanXML?lebackintoaclass?leonthebasisoftheirbytecodeframework.ThequerylanguageisusedontopofthisXMLrepresentationoftheprogramstructure.Theirjoinpointmodelde?nesmorejoinpointoftheAspectJone,becausebytecodestructurepermitstoidentifymorepoint,e.g.,thestor-ingofavalueinalocalvariable.Theirquerylanguageisgeneralenoughtoexpressawiderangeofverydifferentpointcutmodels.In[17],SakuraiandMasuharaproposeanewaspect-orientedprogramminglanguagethatusesunittestcasesasinterfaceofcross-cuttingconcerns.Atest-basedpointcutmatchesjoinpointsintheexecutionofatargetprogramthat(potentially)havethesameexe-cutionhistoryasoneoftheunittestcasesspeci?edbythepointcut.Thisapproachreplacethefragilepointcutproblemwiththemain-tenanceofunittestcaseswhosecostshouldanyhowbepaidwithpracticalsoftwaredevelopment.In[15],Nagyetal.proposeanewapproachtoAOPbyrefer-ringtoprogramunitthroughtheirdesignintentionstoanswertotheneedofexpressingsemanticpointcuts.Designintentionisrep-resentedbyannotateddesigninformation,whichdescribesforex-amplethebehaviorofaprogramelementoritsintendedmeaning.Theirapproachinsteadofreferringdirectlytotheprogram,provideanewlanguageabstractiontospecifypointcutsbasedonsomede-signinformation.Designinformationareinsertedinsidethebaseprogramusingannotationsandtheyareassociatedmanually,de-rivedonthepresenceofotherdesigninformationand,throughsu-perimposition.Thekeybene?tofthisapproachisthatitreducesdirectdependenciesbetweenthecrosscuttingconcernsandthepro-gramsource.Unfortunately,thisapproachbreakstheoblivious-ness[5]property.Thispropertyisbrokenbecausecertaindesigninformationhastobespeci?edbythesoftwareengineer,andmore-overthesoftwareengineermustuseaconsistentandcoherentsetofdesigninformationforeachsub-domainofanapplication.5.CONCLUSIONSCurrentaspect-orientedapproachessufferfromwellknownfrag-ilepointcutproblem.Acommonattempttogiveasolutionconsistsofcreatingamoresemanticmechanismforthejoinpointsselec-tion.ThispapershortlydescribetheBlueprintframework,anovelapproachtojoinpointsidenti?cationthatpermitstodecoupleas-pectsde?nitionandbase-codesyntaxandstructure.Moreover,thispaperpresentsatest-bedinordertoevidencetherobustnessoftheBlueprintpointcutagainstthesoftwareevolution.6.ACKNOWLEDGMENTSTheauthorswishtothanktheoriginaldevelopersoftheHWapplicationandAlessandroGarciaforsharingtheHWcode.7.[1]WalterREFERENCESCazzola,Jean-MarcJézéquel,andAwaisRashid.SemanticJoinPointModels:Motivations,NotionsandRequirements.InProceedingsoftheSoftwareEngineeringPropertiesofLanguagesandAspectTechnologiesWorkshop(SPLAT’06),Bonn,Germany,on21stMarch2006.[2]WalterCazzolaandSoniaPini.JoinPointPatterns:aHigh-LevelJoinPointSelectionMechanism.InThomasKhüne,editor,MoDELS’06SatelliteEventsProceedings,LectureNotesinComputerScience4364,pages17C26,Genova,Italy,on1stofOctober2006.Springer.BestPaperAwardsatthe9thAspect-OrientedModelingWorkshop.[3]WalterCazzola,SoniaPini,andMassimoAncona.Design-BasedPointcutsRobustnessAgainstSoftwareEvolution.InWalterCazzola,ShigeruChiba,YvonneCoady,andGunterSaake,editors,Proceedingsofthe3rdECOOPWorkshoponRe?ection,AOPandMeta-DataforSoftwareEvolution(RAM-SE’06),in20thEuropeanConferenceonObject-OrientedProgramming(ECOOP’06),pages35C45,Nantes,France,on2ndofJuly2006.[4]MichaelEichberg,MiraMezini,andKlausOstermann.PointcutsasFunctionalQueries.InProceedingsofthe2ndASIANSymposiumonProgrammingLanguagesandSystems(APLAS2004),LNCS,Taipei,Taiwan,November2004.Springer.[5]RobertE.FilmanandDanielP.Friedman.Aspect-OrientedProgrammingisQuanti?cationandObliviousness.InProceedingsofOOPSLA2000WorkshoponAdvancedSeparationofConcerns,Minneapolis,USA,October2000.[6]PhilGreenwood,AlessandroF.Garcia,ThiagoBartolomei,SergioSoares,PauloBorba,andAwaisRashid.OntheDesignofanEnd-to-EndAOSDTestbedforSoftwareStability.InProceedingsofthe1stInternationalWorkshoponAssessmentofAspect-OrientedTechnologies(ASAT.07),Vancouver,Canada,March2007.[7]KrisGybelsandJohanBrichau.ArrangingLanguageFeaturesforMoreRobustPattern-BasedCrosscuts.InProceedingsofthe2ndInt’lConf.onAspect-OrientedSoftwareDevelopment(AOSD’03),pages60C69,Boston,Massachusetts,April2003.[8]AndyKellens,KrisGybels,JohanBrichau,andKimMens.AModel-drivenPointcutLanguageforMoreRobustPointcuts.InProceedingsofSoftwareengineeringPropertiesofLanguagesforAspectTechnologies(SPLAT’06),Bonn,Germany,March2006.[9]GregorKiczales.TheFunHasJustBegun.KeynoteAOSD2003,Boston,March2003.[10]GregorKiczales,ErikHilsdale,JimHugunin,MikKersten,JeffPalm,andBillGriswold.AnOverviewofAspectJ.InProceedingsofthe15thEuropeanConferenceonObject-OrientedProgramming(ECOOP’01),pages327C353,Budapest,Hungary,June2001.ACMPress.[11]ChristianKoppenandMaximilianSt?rzer.PCDiff:AttackingtheFragilePointcutProblem.InProceedingsoftheEuropeanInteractiveWorkshoponAspectsinSoftware(EIWAS’04),Berlin,Germany,September2004.[12]MeirM.Lehman.Programs,LifeCycles,andLawsofSoftwareEvolution.ProceedingsoftheIEEE,68(9):,September1980.SpecialIssueonSoftwareEngineering.[13]MeirM.Lehman,JuanFernandez-Ramil,andGoelKahen.AParadigmfortheBehaviouralModellingofSoftwareProcessesusingSystemDynamics.TechnicalReport2001/8,ImperialCollege,DepartmentofComputing,London,UnitedKingdom,September2001.[14]NoorazeanMohdAliandAwaisRashid.AState-basedJoinPointModelforAOP.InProceedingsofthe1stECOOPWorkshoponViews,AspectsandRole(VAR’05),in19thEuropeanConferenceonObject-OrientedProgramming(ECOOP’05),Glasgow,Scotland,July2005.[15]IstvánNagy,LodewijkBergmans,WilkeHavinga,andMehmetAk?sit.UtilizingDesignInformationinAspect-OrientedProgramming.InRobertHirschfeld,RyszardKowalczyk,AndreasPolze,andMathiasWeske,editors,Proceedingsof4thAnnualInternationalConferenceonObject-OrientedandInternet-basedTechnologies,Concepts,andApplicationsforaNetworkedWorld(Net.ObjectDays),LNI61,pages39C60,Erfurt,Germany,September2005.[16]SoniaPini.Blueprint:AHigh-LevelPatternBasedAOPLanguage.Phdthesis,DepartmentofInformaticsandComputerScience,UniversitàdiGenova,Genoa,Italy,June2007.[17]KouheiSakuraiandHidehikoMasuhara.Test-basedpointcuts:Arobustpointcutmechanismbasedonunittestcasesforsoftwareevolution.InProceedingsofLinkingAspectTechnologyandEvolutionrevisited(LATE’07),Vancouver,BritishColumbia,march2007.[18]SergioSoares,EduardoLaureano,andPauloBorba.ImplementingDistributionandPersistenceAspectswithAspectJ.InMamdouhIbrahimandSatoshiMatsuoka,editors,Proceedingsofthe17thACMSIGPLANConferenceonObject-OrientedProgramming,Systems,Languages,andApplications(OOPSLA’02),pages174C190,Seattle,Washington,USA,November2002.ACMPress.[19]DominikStein,StefanHanenberg,andRainerUnland.ModelingPointcuts.InProceedingsoftheAOSDWorkshoponAspect-OrientedRequirementsEngineeringandArchitectureDesign,Lancaster,UK,March2004.[20]MaximilianSt?rzerandJürgenGraf.UsingPointcutDeltaAnalysistoSupportEvolutionofAspect-OrientedSoftware.InProceedingsofthe21stIEEEInternationalConferenceonSoftwareMaintenance(ICSM’05),pages653C656,Budapest,Hungary,September2005.IEEEComputerSociety.[21]TomTourwé,KrisGybels,andJohanBrichau.OntheExistenceoftheAOSD-EvolutionParadox.InProceedingsoftheWorkshoponSoftware-engineeringPropertiesofLanguagesforAspectTechnologies(SPLAT’03),Boston,Massachusetts,April2003.三亿文库包含各类专业文献、行业资料、应用写作文书、幼儿教育、小学教育、高等教育、外语学习资料、ABSTRACT AOP vs Software Evolution a Score in Favor of the Blueprint.23等内容。 }

我要回帖

更多关于 in the favor of 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信