Approaches to Automatic Programming

Size: px
Start display at page:

Download "Approaches to Automatic Programming"

Transcription

1 MITSUBISHI ELECTRIC RESEARCH LABORATORIES Appoaches to Automatic Pogamming Chales Rich, Richad C. Wates TR92-04 July 1992 Abstact This pape is an oveview of cuent appoaches to automatic pogamming oganized aound thee fundamental questions that must be addessed in the design of any automatic pogamming system: What does the use see? How does the system wok? What does the system know? As an example of a eseach effot in this aea, we focus the Pogammeś Appentice poject. Advances in Computes, Volume 37, M. C. Yovits, ed., Academic Pess, 1993 This wok may not be copied o epoduced in whole o in pat fo any commecial pupose. Pemission to copy in whole o in pat without payment of fee is ganted fo nonpofit educational and eseach puposes povided that all such whole o patial copies include the following: a notice that such copying is by pemission of Mitsubishi Electic Reseach Laboatoies, Inc.; an acknowledgment of the authos and individual contibutions to the wok; and all applicable potions of the copyight notice. Copying, epoduction, o epublishing fo any othe pupose shall equie a license with payment of fee to Mitsubishi Electic Reseach Laboatoies, Inc. All ights eseved. Copyight c Mitsubishi Electic Reseach Laboatoies, Inc., Boadway, Cambidge, Massachusetts 02139

2 MERLCovePageSide2

3 Publication Histoy:{ 1. Fist pinting, MN92-04, July 1992

4 Automatic pogamming has been a goal of compute science and aticial intelligence since the st pogamme came face to face with the diculties of pogamming. As bets such a long-tem goal, it has been a moving taget constantly shifting to eect inceasing expectations. Much of what was oiginally conceived of as automatic pogamming was achieved long ago. Today, no one would call an assemble o a compile automatic pogamming. Howeve, when these devices wee st invented in the 1950's, the tem was quite appopiate. Compaed with pogamming in machine code, assembles epesented a spectacula level of automation. Moeove, Fotan was aguably a geate step fowad than anything that has happened since. In paticula, it damatically inceased the numbe of scientic end uses who could use computes without having to hie a pogamme. On the othe hand, cuent expectations egading the potential of automatic pogamming ae often based on an idealized view of eality and ae pobably unachievable. Nevetheless, a numbe of impotant developments ae appeaing in eseach eots and commecially available systems. As an example of a eseach eot in this aea, we focus on ou poject at MIT, called the Pogamme's Appentice (Section 5). The \cocktail paty" desciption of the potential of automatic pogamming uns something like this: Thee will be no moe pogamming. The end use, who only needs to know about the application domain, will wite a bief equiement fo what is wanted. The automatic pogamming system, which only needs to know about pogamming, will poduce an ecient pogam satisfying the equiement. Automatic pogamming systems will have thee key featues: They will be end-use oiented, communicating diectly with end uses; they will be geneal pupose, woking as well in one domain as in anothe; and they will be fully automatic, equiing no human assistance. Although this desciption is attactive, it is based on a numbe of faulty assumptions. 1.1 Myth: End-use-oiented automatic pogamming systems do not need domain knowledge It is no moe possible fo end uses to communicate eectively with an automatic pogamming system that knows nothing about the application domain than it is to communicate eectively with a human pogamme who knows nothing about the application domain. Rathe, the path fom an end-use's needs to a pogam involves a gadual change fom a desciption that can only be undestood in the context of the domain to a desciption that can be undestood without elying on auxiliay knowledge. Thee is no point at which someone who knows nothing about 1

5 pogamming communicates diectly with someone who knows nothing about the application domain. Fo example, suppose a lage company needs a new accounting system. Figue 1 shows the pincipal agents that would typically be involved. The bas on the ight indicate that nea the top of the gue accounting knowledge plays the cucial ole, while pogamming knowledge dominates towads the bottom. The manage at the top of the gue quite likely has only a udimentay knowledge of accounting. The manage's job is to identify a need and initiate the pogamming pocess by ceating a bief, vague equiement. The tem \vague" is used hee to highlight the fact that the only way this initial equiement can succeed in being bief is fo it to also be incomplete, ambiguous, and/o inconsistent. The next agent in the pocess is an accounting expet. The accounting expet's job is to take the manage's vague equiement and ceate a detailed equiement. A key featue of this equiement is that it is couched in the technical vocabulay of accounting and is intended to be evaluated by othe accounting expets. The accounting expet's knowledge of pogamming does not have to extend much beyond basic notions of feasibility. The thid agent in the pocess is some sot of system analyst. The analyst's job is to dene the basic achitectue of the pogam and to tanslate the equiement into a detailed specication. In contast to the equiement, the specication is couched in the technical vocabulay of pogamming, athe than accounting. To pefom this tansfomation, the system analyst must have a consideable undestanding of accounting in addition to an extensive knowledge of pogamming. (Section 5.1 demonstates an inteactive tool to assist systems analysts.) The nal agent in the pocess is a pogamme. The pogamme's job is to poduce code in a high level language based on the detailed specication. The pogamme does not have to know vey much about accounting. Howeve, it is vey unlikely that the accounting system will actually wok if the pogamme knows nothing about accounting. Although not shown in the gue, agents fo validation, testing, documentation, and modication ae equied as well. To do thei jobs, these agents also need significant domain knowledge. In eality, end-use-oiented automatic pogamming systems must be domain expets. In paticula, it is not possible to descibe something biey unless the heae knows at least as much about the domain as you do and can theefoe undestand the wods used and ll in what is left out. (Fo a futhe discussion of the necessity of domain knowledge in automatic pogamming, see Bastow (1984).) 1.2 Myth: End-use-oiented, geneal-pupose, fully automatic pogamming is possible A coollay of the need fo domain knowledge is that such an automatic pogamming system would have to be an expet in evey application domain. Unfotunately, 2

6 Figue 1. Agents in an accounting softwae poject and the kind of knowledge they use. 3

7 thee is no hint that aticial intelligence is anywhee nea suppoting this kind of supehuman pefomance. Given the pagmatic impossibility of simultaneously suppoting all thee featues mentioned above, it is not supising that all cuent appoaches to automatic pogamming focus on two of the featues at the expense of the thid. This has given ise to the following thee appoaches to automatic pogamming, typied by the featue given up: a. Bottom-up. This appoach sacices end-use oientation. It stats at the pogamme's level and ties to push the theshold of automation upwad. In the past, the theshold was aised fom machine-level to high-level languages. The cuent goal is to aise the theshold futhe to so-called vey high-level languages. b. Naow-domain. This appoach sacices being geneal pupose. Focussing on a naow enough domain makes it feasible ight now to constuct a fully automatic pogam geneato that communicates diectly with end uses. This appoach is advancing to cove wide domains. c. Assistant. This appoach sacices full automation. Instead, it seeks to assist in vaious aspect of pogamming. (The Pogamme's Appentice pioneeed the application of aticial intelligence technology to the assistant appoach.) With cuent technology, this appoach is epesented by pogamming envionments consisting of collections of tools such as intelligent editos, on-line documentation aids, and pogam analyzes. The goal hee is to impove the integation between tools and level of assistance povided by individual tools. 1.3 Myth: Requiements can be complete Since the cocktail paty desciption of automatic pogamming assumes that the only point of contact between the end use and the system is a equiement, this equiement must be complete. In the inteest of poducing an ecient pogam, the automatic pogamming system is expected to take full advantage of evey degee of feedom allowed by the equiement. The completeness of the equiement guaantees that anything the automatic pogamming system poduces will be acceptable to the end use. This point of view is commonly justied by likening equiements to legal contacts. Howeve, any lawye will tell you that contacts do not wok that way. Contacts only wok when both paties make a good faith eot to wok towad a common end. If good faith beaks down, the paties can always cheat without violating the \lette" of the contact. The poblem with equiements (and contacts) is that they cannot be complete. No matte how tivial the situation in question, thee is no pactical limit to what needs to be said when tying to pin down a potential advesay. 4

8 Conside, fo example, specifying a contolle fo an automated telle machine. When descibing the withdawal opeation, it is easy enough to say that afte the bank cad is inseted, the custome should ente a passwod, specify an account, and then select an amount of cash which the machine then dispenses. Howeve, this is nowhee nea complete. To stat with, thee ae a lot of details missing with egad to the use inteface: What kinds of diections ae displayed to the custome? How is the custome to select between vaious accounts? What kind of acknowledgment is poduced? To be complete, these details must include the layout of evey sceen and pintout, o at least, a set of citeia fo judging the acceptability of these layouts. Even afte the inteface details ae all specied, the equiement is still fa fom complete. Fo example, conside just the opeation of checking the custome's passwod. What ae passwods to be compaed against? If this involves a cental epositoy of passwod infomation, how is this to be potected against potential faud within the bank? What kind of esponse time is equied? Is anything to be done to deal with possible tampeing with bank cads? One step deepe, a tuly complete equiement would have to list evey possible eo that could occu in the custome's input, the telle machine, the cental bank compute, the communication lines and state exactly how each eo should be handled. Going beyond what is computed, the use undoubtedly wants the pogam to be easonably ecient. This could be specied as maximum limits on space and time. Howeve, what is eally desied is fo the implemento to make a good faith eot to make the pogam as ecient as possible. Futhe, the code poduced should be easy to ead, easy to modify, and well documented. Finally, the end use also undoubtedly caes about the cost of implementing the pogam and how long it will take. This implies that tade-os must be made, paticulaly when it comes to the last few issues mentioned above. This makes it vey dicult if not impossible to make complete statements about these issues. In eality, equiements ae at best only appoximations. Instead of seving as a defensive measue between advesaies, equiements should be used as a tool fo communication between colleagues. Assuming that the implemento will make a good faith eot to ceate a easonable pogam, many of the points above can go unsaid. Just like human pogammes, an automatic pogamming system must make a good-faith eot to satisfy the spiit of the equiements given to it. The system must be oiented towad making easonable assumptions about unspecied popeties, athe than tying to minimally satisfy specied popeties. This obsevation einfoces the need fo domain knowledge as pat of an automatic pogamming system. 5

9 1.4 Myth: Pogamming is a seial pocess In many ways, the wost aspect of the cocktail paty desciption of automatic pogamming is that it pepetuates the myth that ceating a pogam is a two step pocess: Fist, an end use ceates a equiement; second, the automatic pogamming system makes a pogam. This view is just as impactical in the context of an automatic pogamming system as it is in human-based pogamming. Fist of all, given the appoximate natue of equiements, a consideable amount of back-and-foth communication is equied to convey the end use's full intent. Second, uses typically stat the pogamming pocess with only a vague idea of what they want, and they need a signicant amount of feedback to esh out thei ideas and detemine the desied equiement. Also, what end uses want today is neve the same as what they want tomoow. Thid, uses do not want pogammes to follow equiements blindly. If poblems aise, they want advice. Fo example, the pogamme should tell the use if a slight elaxation in the equiement would allow a much moe ecient algoithm to be used. In eality, pogamming is an iteative pocess featuing continual dialogue between end use and pogamme. The desied equiement evolves out of pototypes and initial vesions of the system. The inheently iteative natue of pogamming has two impotant implications fo automatic pogamming. Fist, just as in nonautomatic pogamming, the focus of activity will be on changing equiements as much as on implementing them. Thus, thee will be no eduction in the need fo egession testing and othe techniques fo managing evolution. Second, to cay on a dialogue with the use, automatic pogamming systems will need to explain what they have done and why. In paticula, they will need to explain the assumptions they have intoduced into a equiement so that uses can debug those assumptions. 1.5 Myth: Thee will be no moe pogamming Thee will cetainly be many dieences between the input to futue automatic pogamming systems and what is cuently called a pogam. Howeve, pogamming is best typied not by what pogams ae like but by what pogamming tasks ae like. In paticula, these new inputs will undoubtedly still have to be caefully cafted, debugged, and maintained accoding to changing needs. Whethe o not one chooses to call these inputs pogams, the tasks associated with them will be stongly eminiscent of pogamming. In eality, end uses will become pogammes. As an example of this phenomenon, conside speadsheet pogams. When speadsheets st appeaed, they wee healded as a way to let uses get thei wok done without having to deal with pogammes o lean pogamming. Speadsheets have succeeded admiably in letting uses get esults by themselves. Howeve, maintaining a complex speadsheet ove time dies 6

10 vey little fom maintaining a pogam. The only eal dieence is that a speadsheet is a concise domain-specic inteface which makes it emakably easy to wite cetain kinds of pogams and statlingly dicult to wite othe kinds of pogams. 1.6 Myth: Thee will be no moe pogamming in the lage Even if we accept the fact that pogamming will be aound foeve, we might well hope that by continuing the tend of witing pogams moe compactly, automatic pogamming will convet all pogamming into pogamming in the small. Unfotunately, this deam ovelooks softwae's exteme elasticity of demand. Most of the poductivity impovements intoduced by automatic pogamming will almost cetainly be utilized to attack applications that ae enomous athe than meely huge. In eality, we ae unlikely to eve settle fo only those application systems that can be ceated by a few people. As a esult, thee will be no lessening of the need fo vesion contol, management aids, and all of the othe accoutements of coopeative wok and pogamming in the lage. The automatic pogamming systems of the futue will be moe like vacuum cleanes than like self-cleaning ovens. With a self-cleaning oven, all you have to do is decide that you want the oven cleaned and push a button. With vacuum cleanes, you poductivity is geatly enhanced, but you still have a lot of wok to do. The next thee sections discuss the thee fundamental technical issues in automatic pogamming that must be addessed in the design of any automatic pogamming system: What does the use see? How does the system wok? What does the system know? Fom the use's pespective, the most pominent aspect of an automatic pogamming system is the language used to communicate with it. We will discuss the ange of possibilities below using as an example the simple poblem of detemining the value of an octal numbe epesented as a sting. Figue 2 shows the Pascal implementation of a pogam that solves this poblem. We would like an automatic pogamming system to poduce a pogam like this fom one of the use inputs discussed below. Note that no single example can equally well illustate all of the impotant issues in selecting an input medium. 2.1 Natual Language Because they ae familia, natual languages such as English ae an attactive choice fo communication between end uses and an automatic pogamming system. Thee othe featues that make natual language attactive ae vocabulay, infomality, and 7

11 function EvalOctal (va S aay [M..N: Intege] of Cha): Intege; va I, V: Intege; begin I := M; V := -1; while S[I]=' ' do I := I+1; if S[I]<>ch(0) then begin V := 0; while ('0'<=S[I]) and (S[I]<='7') do begin V := 8*V+od(S[I])-od('0'); I := I+1 end; while S[I]=' ' do I := I+1; if S[I]<>ch(0) then V := -1 end; EvalOctal := V end Figue 2. Pascal implementation of a pogam that detemines the value of an octal numbe epesented as a sting. Note that to allow fo stings of zeo length, stings ae implemented as aays of chaactes whee the last chaacte is not pat of the sting. The function od etuns the intege chaacte code coesponding to a chaacte. syntax. Fo example, the following is a natual language specication of the EvalOctal pogam in Figue 2. The function EvalOctal is a ecognize that detemines whethe o not a given sting contains an octal numbe optionally suounded by blanks. If this is the case, the decimal value of the numbe is etuned; othewise -1 is etuned. The featue that contibutes the most to making natual language an ecient communication medium is the existence of a vocabulay of thousands of pedened wods. Among othe things, the natual language specication above assumes that the eade knows what a ecognize is, what an octal numbe is, and the elationship between the value and sting epesentation of an octal numbe. Infomality, such as the possibility of a statement's being ambiguous, incomplete, contadictoy, and/o inaccuate, is also vey impotant. In fact, it essential to a poweful stategy fo dealing with complexity: Stat with an almost-ight desciption and incementally modify it until it is acceptable. Fo example, the natual language specication above is vague about the data type of the output. (Intege was chosen in Figue 2.) It is also vague about whethe o not the octal numbe may be peceded by a sign. (Figue 2 assumes it may not, since if negative numbes wee allowed, then -1 could coespond to a valid input.) Finally, the specication above does not say what should happen if the octal numbe is too big to epesented. (Figue 2 allows oveow to occu.) 8

12 = 8 ' '0' '7' - Numbe 8 V := 8*V+ () @@@R '0' '7' = etun V () 8 = ' '? = ' ' - Blanks 0 0 othe 0 0 etun = 0 0 etun V othe etun ?? Done Figue 3. A state tansition diagam specication fo EvalOctal. The least impotant featue of natual language is its syntax. Natual syntax is convenient, because it is familia. Howeve, it is of elatively little value unless the othe featues ae suppoted as well. Unfotunately, enabling machines to convese in natual language is fa beyond the cuent abilities of aticial intelligence. As a esult, natual language input although an active aea of inquiy in its own ight is not a majo topic in cuent automatic pogamming eseach. Fo examples of ealy wok on automatic pogamming using natual language input, see Heidon (1976) and Ruth (1978). 2.2 Special-Pupose Languages Even when people communicate among themselves, natual language is not always the language of choice. Fo example, many application aeas have specialized symbolic o gaphical languages associated with them, such as mathematical fomulae and cicuit diagams, that expets outinely use in pefeence to natual language. Fo example, Figue 3 shows the specication of EvalOctal using the standad gaphical notation fo descibing state tansition netwoks. In this diagam, states ae epesented as ovals and tansitions between states ae epesented as aows. The aows specify what happens when an input chaacte is encounteed. (Fo instance, suppose the pogam is in the Blanks state. If it eceives a blank chaacte, then it stays in the Blanks state. If it eceives an chaacte indicating that thee is no moe input, then it goes to the Done state.) In addition, some of the aows ae 9

13 annotated with specications fo actions to be pefomed when tansitions occu. (Fo instance, if the pogam is in the Stat state and eceives one of the chaactes '0' though '7', it sets a vaiable V equal to the intege coesponding to the chaacte.) A key advantage of Figue 3 is that it is easy to undestand and modify. Specication changes can be easily made using, fo example, a gaphical edito. Figue 3 is also much moe fomal and detailed than the natual language desciption of EvalOctal in Section 2.1. Fo example, it species exactly what can appea in the input. Howeve, it is also still incomplete. Fo example, it does not say what to do if the input numbe is too big. Many kinds of special-pupose languages can be suppoted in staightfowad ways, as long as thei focus is suciently naow. A paticulaly successful example is so-called \what you see is what you get" intefaces. Sceen paintes allow end uses to specify the layout (and some of the semantics) of a data enty and etieval pogam simply by making a pictue of how the sceen should look. Then a code geneato automatically wites the code to dive the teminal and access the data base. Unfotunately, special-pupose languages have the fundamental poblem that they ae essentially useless outside of thei domains of applicability. This bings up a key unsolved poblem namely, how to combine seveal special-pupose languages o a special-pupose language with a geneal-pupose one. Almost evey cuent system that suppots a special-pupose language follows the naow-domain appoach to automatic pogamming, esticting itself to the situations whee the special-pupose language is appopiate. Even when multiple, specialpupose input languages ae suppoted (e.g., in Daco (Neighbos, 1984)), the use is only allowed to combine the languages in simple ways. Much moe wok needs to be done befoe special-pupose languages can each thei full potential as pat of the inteface to geneal-pupose systems. 2.3 Examples An attactive idea, pusued with some vigo in the ealy days of automatic pogamming, is to specify a pogam via examples of its behavio. Ealy wok in this aea (Hady, 1975; Shaw et al., 1975; Siklossy and Sykes, 1975) was ad hoc in natue. This changed with the wok of Summes (1977) who established theoetical foundations fo the eld. Most subsequent wok is based on Summes' appoach. Futhemoe, most of the wok on pogamming by example uses Lisp as the taget language (see suvey by Smith (1984)). The eason fo this is not intinsic to any of the techniques, but athe it is because the Lisp pogamming envionment facilitates witing pogams that opeate on pogams. The appeal of pogamming by example is that non-pogammes ae familia with examples as a communication technique, just as they ae with natual and specialpupose languages. Futhemoe, collections of examples ae easy to undestand and modify. Fo example, the following is a set of input-output examples which might be 10

14 used to specify EvalOctal. "132 " ) 90 " 42 ") 34 " 56" ) 46 "-17 " ) -1 "2.6 " ) -1 " 380" ) -1 Individually, these examples seem clea enough. Howeve, if this tuly was the only infomation given, it would be next to impossible fo a peson (let alone an automatic system) to undestand what the pogam was supposed to do. To stat with, consideable insight is equied to come up with the coect genealization of the st thee examples i.e., that the output is the value of the input viewed as an octal numbe. In addition, thee need to be many moe examples to addess questions like: What happens if thee ae moe than thee digits? What happens if thee is moe than one blank afte the numbe? What happens if thee is a '+' in font of a numbe. What happens if a numbe stats with a '0'? What happens if two numbes ae sepaated by blanks? What happens if thee ae lettes in the input? (Imagine how many examples would be equied if EvalOctal wee not a toy pogam!) Although it initially ceated a good deal of excitement, pogamming by example now appeas to be of only theoetical inteest. The poblem is that the techniques do not scale up to pogams of ealistic complexity. Unfotunately, as input-output pais become moe complex, the poblem of genealizing them appopiately becomes astonomically moe complex. Thee ae basically only two ways to cut the genealization poblem down to a manageable size. Fist, moe examples can be povided in ode to educe ambiguity, including examples of intemediate computation steps (see Biemann (1972), Biemann (1976), Biemann and Kishnaswamy (1976), and Baue (1979)). Unfotunately, when the numbe of examples becomes too lage, this becomes an inecient means of specication as compaed with othe fomal techniques. Altenatively, assumptions about the class of taget pogams can be built into the pogamming-by-example system. Fo example, Andeae (1985) synthesizes obot pogams fom examples. The system descibed by Hedick (1976) assumes that the synthesized pogam must be a ule-based poduction system. Unfotunately, when the stuctual assumptions begin to get this stong, the pogamming-by-example system ends up being essentially a special kind of pogam geneato. A dieent appoach to using examples is illustated by the Tinke system (Liebeman and Hewitt, 1980). Tinke does not attempt to genealize the examples automatically but athe povides a pogam development envionment that helps the use pefom the genealization. In this context, the input-output examples ae pehaps bette thought of as test cases. In summay, examples may be a useful technique only as an adjunct to othe specications o in a naow domain in which the possible pogams ae aleady highly esticted. 11

15 2.4 Logical Fomalisms Logic is the most poweful (and geneal) fomal desciption language known. As a esult, it is easonable to suppose that it might make a good communication medium between a use and an automatic pogamming system. Unfotunately, thee ae two fundamental baies to the use of logical fomalisms. Fist, most inteesting tasks in geneal logical systems (fo example, detecting contadictions) ae computationally intactable (see the discussion of deductive methods in Section 3.2). Second, complex logical fomulae ae notoiously dicult fo most people to wite and undestand. Fo example, the following is a logical specication fo EvalOctal in the fom of pe- and postconditions. This specication assumes that the notion of a sting is built into the logic. In paticula, a sting S is teated as a function that maps fom the intege ange 1::jSj to chaactes, whee jsj denotes the length of a sting. input: S pecondition: (S) output: V postcondition: (V ) ^ ( (S)! (S; V )) ^ (: (S)! V = 01) whee: (S) (8i 1 i jsj!s(i) 2f' '; '0'; '1'; '2'; '3'; '4'; '5'; '6'; '7'g) ^ (9i 1 i jsj!s(i) 6= ' ') ^ (:9ijk 1 i<j<kjsj^s(i) 6= ' ' ^ S(j)=' '^ S(k) 6= ' ') (S; V ) 8ij (1 i<jjsj^s(i) 6= ' ' ^ S(j) 6= ' ' ^ (j = jsj _S(j+1) = ' '))! ( (S(i)) = ( (V;8 j0i01 );8 j0i02 ) ^ ((i=1_ S(i01)= ' ')! V<8 j0i )) The essence of this specication is contained in the denitions of and. The pedicate is tue of a sting i evey chaacte is an octal digit o a blank, at least one chaacte is a digit, and thee ae no blank chaactes between digits. The elation holds tue i each digit in S is coectly epesented in V and V contains no othe values. (The function etuns the intege coesponding to a digit chaacte. and ae the intege division and emainde opeatos, espectively.) The specication above has the vitue of being vey pecise without biasing possible implementations. Unfotunately, it is fa fom obvious, fo example, that the elation in fact guaantees that V is the value of the octal numbe epesented in S. Reseach on logic as a communication medium between man and machine is being caied out pimaily unde the topics of fomal specication languages and logicpogamming languages. A key issue in both of these aeas is the intoduction of 12

16 extensions and estictions that ende logic moe tactable to man and machine. Fo example, Polog (Cohen, 1985) guaantees executability of logical desciptions by placing stong estictions on the fom of expessions. 2.5 Vey High Level Languages While specication languages and logic pogamming languages essentially extend \downwad" fom logic, vey high level languages build \upwad" fom cuent high level languages. Typically, vey high level languages add poweful abstact datatypes, such as sets and mappings (to allow pogammes to ignoe the details of data stuctue implementation), and a few featues of logical notation, such as quantication ove sets (to allow pogammes to ignoe cetain kinds of algoithmic detail). The achetype of vey high level languages is SETL (Schwatz et al., 1986). SETL suppots most of the standad constucts of Algol-like pogamming languages. In addition, it suppots two convenient univesal data stuctues tuples and sets. Fo example, a mapping is teated as a set of 2-tuples. SETL also suppots the use of univesal and existential quanties in a pogam. Fo example, the following is the fom of the SETL statement fo pefoming some computation on evey element of the set S. (foall x in S) ::: end foall; One of the main goals of poviding such expessive facilities is to fee the pogamme fom having to think about the detailed design of data stuctues. The SETL compile will decide how data stuctues should be implemented. This decease in what the pogamme has to woy about is a key to the poductivity gains that should be obtained by the use of vey high level languages. The following shows how one could wite EvalOctal in SETL. pocedue EvalOctal(S); if (foall C in S C in {' ','0','1','2','3','4','5','6','7'}) and (exists C in S C /= ' ') and (not exists Ci in S(i), Cj in S(j), Ck in S(k) i<j and j<k and Ci/=' ' and Cj=' ' and Ck/=' ') then Digits := [abs C - abs '0': C in S C/=' ']; etun +/[D*8**(#Digits-i): D in Digits(i)]; else etun -1; end if; end pocedue EvalOctal; The fom of this pogam closely follows the fom of the logical specication in the peceding section. The condition of the if statement illustates that many logical expessions can be endeed moe o less diectly in SETL. Howeve, this cannot be done with non-constuctive logical expessions such as elation. When the input is well-fomed, the SETL pogam above computes the output value as follows. Fist, it selects all of the input chaactes that ae digits and ceates a tuple (odeed sequence) of the coesponding numbes in the same ode. (The SETL 13

17 opeato abs is the same as the Pascal function od.) It then ceates a tuple of the digits multiplied by the appopiate powes of 8. (The SETL opeato # detemines the length of a tuple.) Finally, it computes the sum (using the opeato +/) of the elements of this tuple. A key featue of this computation is that it contains two uses of the SETL tuple fome constuct: [element: va in tuple { selecto}]. To illustate how this constuct is used in the pogam above, conside the following examples. [abs C - abs '0': C in " 124 " C/=' '] etuns [1,2,4] [D*8**(#Digits-i): D in [1,2,4](i)] etuns [64,16,4] +/[64,16,4] etuns 84 Patly because it has a somewhat cyptic and unfamilia syntax, a signicant amount of taining is equied in ode to use SETL's featues to full advantage. Howeve, it is possible to wite SETL pogams that ae vey compact and eadable. In addition, unlike the othe specications discussed above, a SETL pogam is complete since it is diectly executable. Fo example, it species that oveow will occu if the numbe epesented by the input is too lage. The Rene language (Abaido-Fandino, 1987) is in many ways simila to SETL. The GIST language (Feathe and London, 1982) is epesentative of a moe ambitious diection in eseach on vey high level languages. The goal of GIST is to povide the expessiveness of natual language while imposing fomal syntax and semantics. Two examples of capabilities povided in GIST that distinguish it fom SETL-like languages ae: histoical efeence (the ability to efe to past pocess states) and constaints (estictions on acceptable system behavio in the fom of global declaations). Fo a geneal discussion of othe desiable featues of a specication language, see Balze (1985). Not supisingly, the moe advanced featues that you put into a vey high level language, the hade it is to compile (and to some extent, undestand; see Swatout (1983)). Compiles fo SETL and Rene have both been implemented and commecially distibuted. In contast, although it has been an active aea of eseach, a complete GIST compile has not yet been constucted. When compiling languages such as SETL and Rene, the paamount poblem is deciding how to implement the abstact data stuctues in the pogam. These decisions ae needed not only to epesent the data, but also to decide how to use loops to implement quanties in the pogam. Some eseaches (e.g., Low (1978) and Rowe and Tonge (1978)) have focused on the poblem of data stuctue implementation sepaate fom the details of any specic vey high level language. The SETL compile opeates in a pocedual fashion somewhat simila to a conventional optimizing compile. It is only modeately successful at poducing ecient code. In ode to make implementation choices that lead to moe ecient un-time pefomance, the SETL compile will have to pefom a deepe analysis of the input pogam. Meanwhile, a declaation language is povided that the pogamme can 14

18 use to tell the SETL compile how to implement paticula sets. Although this is an appealing compomise in the spiit of incemental automation, it is less than satisfactoy in pactice. The poblem is that if the full expessive powe of SETL is used in witing a pogam, it can be vey dicult fo a pogamme to gue out what to ecommend. The cuently favoed technique fo compiling vey high level languages is to use a pogam tansfomation system to emove the vey high level constucts. Fo example, this appoach is used fo the Rene language. As discussed in Section 3.3, tansfomational systems equie advice on what tansfomations should be applied whee. Unfotunately, as in the case of explicit declaations, it can be vey dicult fo a pogamme to come up with the needed advice. Anothe impotant tend in vey high level languages is towad specialized languages fo paticula application aeas. Fo applications like business data pocessing (Cheng et al., 1982), quite high level languages have been developed that can be successfully compiled using easonably staightfowad techniques. 2.6 Othe Communication Issues The following ae thee geneal issues that apply to any communication medium fo automatic pogamming Wide spectum What should uses do when they want to say something moe detailed than the abstaction level suppoted by the input medium? The puists' answe is that it is a bad idea fo uses to say such things the automatic pogamming system should be left to make all such decisions. Howeve, pagmatists ealize that (at least fo the foeseeable futue) automatic pogamming systems cannot opeate without getting a cetain amount of advice at all levels. A good way to suppot this pagmatic appoach is to povide uses with a widespectum language, i.e., one that povides both high level and low level constucts in a single coheent famewok. Fo example, a vey high level language like SETL is wide spectum because it etains the featues of cuent high level languages e.g., it etains the odinay looping mechanisms while adding quantication. English is inheently wide spectum unless the vocabulay is seveely esticted. In contast, special-pupose languages ae not typically wide spectum. (The ideal automatic pogamming system would pobably be one that suppots a geneal-pupose widespectum language plus a numbe of naowe special-pupose languages.) Lage vocabulay In pinciple, any of the languages associated with the bottom-up appoach to automatic pogamming can make use of a pedened vocabulay of tems. Fo example, a logical specication can efe to any numbe of pedened pedicates and functions. 15

19 Similaly, a pogam witten in a vey high level language can efe to any numbe of pedened suboutines. Howeve, as discussed in Section 4, each of these languages implicitly limits what can be dened as a vocabulay item. In addition, eseach on these languages has geneally focused on poviding a elatively small set of vey poweful pimitives. An altenate appoach is to make the utilization of an extensive, pedened (including domain specic) vocabulay be the pimay goal. This can be thought of as an attempt to peseve the vocabulay intensive natue of English while still getting id of most of the infomality. As an example of what a vocabulay intensive language might look like, conside the following, which is simila to desciptions poduced and used in the Pogamme's Appentice. EvalOctal is a function fom sting S to intege V. EvalOctal implements a egula expession ecognize whee: The ecognized expession is "blank * { } + blank * ". The failue output is -1. The success output, V, is the decimal value of the octal numbe in the non-blank substing of S. The undelined wods and phases above ae all taken to be pedened tems. This specication of EvalOctal is eminiscent of the English desciption above. Howeve, it is dieent in seveal impotant ways. To stat with, it uses a highly simplied syntax, including indentation to show hieachical elationships between the pats of the specication. Also, this specication is not infomal: Eveything is spelled out in detail including exactly what it means fo the input to contain an octal numbe. The featue which the specication above does shae with English is the use of a lage vocabulay. Given a choice, most uses would be much happie to use an awkwad medium in which almost eveything they want is aleady dened, athe than an othewise convenient medium in which eveything needs to be dened fom st pinciples Dialogue Because of the inheently iteative natue of the pogamming pocess, a medium must be able to suppot a dialogue between the use and the automatic pogamming system. In paticula, the medium of communication must be capable of expessing \meta level" infomation, e.g., infomation about changes to the state of knowledge. One can imagine how natual language would seve well as a dialogue medium. Resticted notations, such as vey high level languages, ae clealy not sucient by themselves. As an illustation of the impotance of suppoting dialogue between the use and an automatic pogamming system, suppose that an automatic pogamming system has been given the vocabulay intensive specication of EvalOctal in the peceding section. While attempting to wite the coesponding pogam, it would be helpful if 16

20 the system emaked about the poblem with oveow and gave the use a chance to x it, as shown below. System: Thee does not appea to be any limit on how lage the output can be. Howeve, the lagest intege value is Use: Have EvalOctal etun -1 if oveflow occus. Inteactive dialogue bings two new featues into the automatic pogamming pictue. Fist, inteaction makes it possible to x mistakes. If uses ae going to be bief, they will inevitably un the isk of being misundestood. An inteactive mode of opeation gives uses immediate feedback on the eects of thei statements and allows them to make claications. (Fom this point of view, batch systems ae just inteactive systems with fustatingly long communication delays. Almost any system can benet fom becoming moe inteactive.) Second, inteaction makes it natual fo uses to talk about the pocess of pogamming as well as about what the taget pogam should do. Fo example, a use might ask the system to change the taget pogam in a cetain way o to foget about some paticula thing that was said ealie. This kind of communication is a pominent featue of the way pogammes talk to each othe, but is not captued by specication languages that meely addess what taget pogam is supposed to do. Fo example, suppose that at a late time the use wanted to change the EvalOctal pogam. It would be desiable if the change could be made by talking about the pogam at a high level athe than using, say, a text edito. In addition, the system should espond by indicating poblems caused by the change. Use: Change EvalOctal so that an optional minus sign is allowed to appea befoe the fist digit of the input. System: The failue value -1 is no longe guaanteed to be distinct fom the set of outputs coesponding to valid inputs. Automatic pogamming systems map a conguation of domain-specic tems (a equiement stated in tems of one of the input mediums above) into a conguation of implementation-specic tems (a pogam). Fou mechanisms cuently being pusued as the basis fo such systems ae pocedual methods, deductive methods, tansfomational methods, and inspection methods. 3.1 Pocedual Methods To date, the most successful appoach has been to simply wite a special-pupose pogam that gets the ight esults. Fo example, othe than the pasing components, most cuent compiles and pogam geneatos ae essentially pocedual in natue (although some use tansfomations to some extent). 17

21 The big advantage of pocedual methods is that they let you get o the gound fast. It is vey seldom dicult to suppot the st few desied featues. Futhemoe, you can always (ty to) modify the code to suppot any paticula additional featue. Unfotunately, as moe and moe featues ae added to a pocedual system, you each a point of apidly diminishing etuns, because the system becomes pogessively moe dicult to modify. As a esult, it is unlikely that the pocedual appoach can suppot the boad-coveage, end-use-oiented automatic pogamming systems of the futue. 3.2 Deductive Methods The poblem of synthesizing a pogam satisfying a given specication is fomally equivalent to nding a constuctive poof of the specication's satisability. This fundamental idea undelies the deductive appoach to automatic pogamming (Manna and Waldinge, 1980a). In pinciple, any method of automated deduction esolution, natual deduction, easoning about anonymous individuals can be used to suppot automatic pogamming. Unfotunately, in pactice, none of these methods ae yet capable of poving the kinds of complex theoems equied to synthesize pogams of ealistic size. Deduction is basically a poblem of seaching fo an infeence path fom some initial set of facts to a goal fact. The seach is exponential in natue because at evey step thee ae many ways fo infeence ules to be applied to facts. Cuent deductive systems cannot discove complex poofs because they ae unable to eectively contol the seach pocess. To deal with this contol poblem, deductive systems typically must adopt the assistant appoach that is, they seek advice fom the use. Unfotunately, uses who want to avoid pogamming pobably want to avoid theoem poving as well! An even moe fundamental poblem with the deductive appoach is that it is at odds with the need fo an automatic pogamming system to make a good faith eot to satisfy the \spiit" of a equiement. Fo example, the theoem-poving pocess contains no bias towad nding the poof coesponding to the most ecient pogam, o even a easonably ecient pogam. Despite these limitations, deductive methods have seveal advantages. In paticula, they ae vey geneal and quite eective, as long as they ae limited to poving simple theoems. As a esult, deductive methods ae cetain to play an impotant ole in the automatic pogamming systems of the futue. The challenge is to combine automated deduction with othe methods so that its inheent limitations can be avoided. 3.3 Tansfomational methods Tansfomational implementation systems (e.g., TI (Balze, 1985) and PDS (Cheatham, 1984)) have dominated eseach in automatic pogamming. In this appoach, 18

22 the input to the automatic pogamming system is a pogam witten in a vey high level language. A sequence of tansfomations is applied to convet this input into a low-level implementation. A tansfomation has thee pats: a patten, a set of logical applicability conditions, and an action pocedue. When an instance of the patten is found, the logical applicability conditions ae checked to see whethe the tansfomation can be applied. If the applicability conditions ae satised, the action can be evaluated to compute a new section of code, which is used to eplace the code matched by the patten. Typically, tansfomations ae coectness peseving, meaning that the matched code and its eplacement epesent logically equivalent computations. Thee ae two basic kinds of tansfomations. Some tansfomations (often called vetical tansfomations) eplace specication-like constucts (e.g., quantication ove a set) with conventional constucts (e.g., iteating ove a list). These tansfomations encode knowledge of how to implement algoithms and data stuctues. Othe tansfomations (often called hoizontal tansfomations) pefom eaangements and optimizations (e.g., moving an unchanging computation out of a loop), which do not change the level of abstaction. In pactice, these two kinds of tansfomations ae inteleaved in long sequences, passing though multiple levels of abstaction. The cental featue of tansfomational methods is the tansfomational ewite cycle. The state of the tansfomation pocess is epesented as a pogam in a widespectum epesentation that is capable of expessing both the use's input and the nal pogam. On each cycle, a tansfomational system selects a tansfomation and applies it to some place in the pogam. The cycle continues, accumulating the esults of longe and longe chains of tansfomations, until some temination condition is satised (e.g., until thee ae no moe vey high level constucts). As an example of how tansfomational implementation woks, let us follow the steps by which pat of the SETL pogam in Section 2.5 could be tansfomed into an ecient low level pogam. In paticula, we focus on the statement in EvalOctal that computes the value of a tuple of integes viewed as an octal numbe: etun +/[D*8**(#Digits-i): D in Digits(i)]; The two most impotant tansfomations that need to be applied hee ae vetical tansfomations which dene how the summation and tuple fomation opeations can be implemented. Each of these tansfomations is dened below in a simplied, infomal notation in which the applicability conditions ae expessed in English and the action pocedue is shown in the fom of a template fo the esulting code. (Italics in the patten and the esult elds denote vaiables that match against abitay pats of the pogam. <Temp> stands fo a tempoay vaiable name geneated by the action pocedue.) 19

23 name: tuple-fome patten: X := [E: V in T(I) P]; conditions: X, V, T, and I ae distinct vaiables. X does not appea in E, T, o P. esult: X := []; fo I := 1 to #T; if P then X := X with E; end fo; name: summation patten: X := +/T; conditions: X and T ae distinct vaiables. esult: X := 0; fo <Temp> := 1 to #T; X := X+T(<Temp>); end fo; Although these two tansfomations captue the essence of the implementation of the etun statement above, they cannot be diectly applied to the statement because thei pattens do not exactly match: Both tansfomations expect to match against assignment statements; the tuple-fome tansfomation expects thee to be a selection pedicate, which is missing in the statement above. (These kinds of poblems ae typical.) In ode to apply the two vetical tansfomations above, the following two hoizontal tansfomations st need to be used. The facto-out tansfomation pulls a subexpession out of a statement and ceates a sepaate assignment statement. The add-tuple-selecto tansfomation intoduces a degeneate selection pedicate (tue) into a tuple fome which does not contain a selection pedicate. name: facto-out patten: S; conditions: S is a statement containing a subexpession E. E can be evaluated sepaately befoe the est of S. esult: <Temp> := E; S <with Temp substituted fo E>; name: add-tuple-selecto patten: [E: V in Exp] conditions: none esult: [E: V in Exp tue] Applying facto-out twice and add-tuple-selecto once poduces: Temp1 := [D*8**(#Digits-i): D in Digits(i) tue]; Temp2 := +/Temp1; etun Temp2; The vetical tansfomations can then be applied poducing: 20

24 Temp1 := []; fo i := 1 to #Digits; D := Digits(i); if tue then Temp1 := Temp1 with D*8**(#Digits-i); end fo; Temp2 := 0; fo Temp3 := 1 to #Temp1; Temp2 := Temp2+Temp1(Temp3); end fo; etun Temp2; Although coect, the code poduced above is fa fom satisfactoy. The biggest poblem is that it slavishly follows the details of the initial SETL code. In ode to achieve easonable eciency, the two loops have to be meged, eliminating the computation of the intemediate tuple Temp1. This can be done using the tansfomation below. name: seial-fo-loop-combination patten: V := []; fo I := 1 to L; S1 V := V with E; S2 end fo; fo J := 1 to #V; S3 end fo; conditions: V, I, J, and E ae distinct vaiables. S1, S2, and S3 ae zeo o moe statements. S1, S2, and S3 cannot cause loop temination. S1 and S2 cannot change I. S3 cannot change J. S1 and S2 do not efe to V. Evey efeence to V in S3 is of the fom V(J). Thee ae no efeences to V in the suounding pogam. esult: fo I := 1 to L; S1 <Temp> := E; S2 S3 <with Temp substituted fo V(J)> end fo; As was the case above, this tansfomation is not quite applicable to the pogam as it stands. Fist, the following hoizontal tansfomations have to be applied in ode to get id of the unnecessay if statement and to move the assignment statement out fom between the loops. name: emove-if patten: if tue then S; conditions: none esult: S; 21

Controlled Information Maximization for SOM Knowledge Induced Learning

Controlled Information Maximization for SOM Knowledge Induced Learning 3 Int'l Conf. Atificial Intelligence ICAI'5 Contolled Infomation Maximization fo SOM Knowledge Induced Leaning Ryotao Kamimua IT Education Cente and Gaduate School of Science and Technology, Tokai Univeisity

More information

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives SPARK: Soot Reseach Kit Ondřej Lhoták Objectives Spak is a modula toolkit fo flow-insensitive may points-to analyses fo Java, which enables expeimentation with: vaious paametes of pointe analyses which

More information

Detection and Recognition of Alert Traffic Signs

Detection and Recognition of Alert Traffic Signs Detection and Recognition of Alet Taffic Signs Chia-Hsiung Chen, Macus Chen, and Tianshi Gao 1 Stanfod Univesity Stanfod, CA 9305 {echchen, macuscc, tianshig}@stanfod.edu Abstact Taffic signs povide dives

More information

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18 Copyight (c) 2016-2018 Young W. Lim. Pemission is ganted to copy, distibute and/o modify this document unde the tems of the GNU Fee Documentation License, Vesion 1.2 o any late vesion published by the

More information

Shortest Paths for a Two-Robot Rendez-Vous

Shortest Paths for a Two-Robot Rendez-Vous Shotest Paths fo a Two-Robot Rendez-Vous Eik L Wyntes Joseph S B Mitchell y Abstact In this pape, we conside an optimal motion planning poblem fo a pai of point obots in a plana envionment with polygonal

More information

Towards Adaptive Information Merging Using Selected XML Fragments

Towards Adaptive Information Merging Using Selected XML Fragments Towads Adaptive Infomation Meging Using Selected XML Fagments Ho-Lam Lau and Wilfed Ng Depatment of Compute Science and Engineeing, The Hong Kong Univesity of Science and Technology, Hong Kong {lauhl,

More information

Obstacle Avoidance of Autonomous Mobile Robot using Stereo Vision Sensor

Obstacle Avoidance of Autonomous Mobile Robot using Stereo Vision Sensor Obstacle Avoidance of Autonomous Mobile Robot using Steeo Vision Senso Masako Kumano Akihisa Ohya Shin ichi Yuta Intelligent Robot Laboatoy Univesity of Tsukuba, Ibaaki, 35-8573 Japan E-mail: {masako,

More information

On the Conversion between Binary Code and Binary-Reflected Gray Code on Boolean Cubes

On the Conversion between Binary Code and Binary-Reflected Gray Code on Boolean Cubes On the Convesion between Binay Code and BinayReflected Gay Code on Boolean Cubes The Havad community has made this aticle openly available. Please shae how this access benefits you. You stoy mattes Citation

More information

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012 2011, Scienceline Publication www.science-line.com Jounal of Wold s Electical Engineeing and Technology J. Wold. Elect. Eng. Tech. 1(1): 12-16, 2012 JWEET An Efficient Algoithm fo Lip Segmentation in Colo

More information

XFVHDL: A Tool for the Synthesis of Fuzzy Logic Controllers

XFVHDL: A Tool for the Synthesis of Fuzzy Logic Controllers XFVHDL: A Tool fo the Synthesis of Fuzzy Logic Contolles E. Lago, C. J. Jiménez, D. R. López, S. Sánchez-Solano and A. Baiga Instituto de Micoelectónica de Sevilla. Cento Nacional de Micoelectónica, Edificio

More information

The Internet Ecosystem and Evolution

The Internet Ecosystem and Evolution The Intenet Ecosystem and Evolution Contents Netwok outing: basics distibuted/centalized, static/dynamic, linkstate/path-vecto inta-domain/inte-domain outing Mapping the sevice model to AS-AS paths valley-fee

More information

A Memory Efficient Array Architecture for Real-Time Motion Estimation

A Memory Efficient Array Architecture for Real-Time Motion Estimation A Memoy Efficient Aay Achitectue fo Real-Time Motion Estimation Vasily G. Moshnyaga and Keikichi Tamau Depatment of Electonics & Communication, Kyoto Univesity Sakyo-ku, Yoshida-Honmachi, Kyoto 66-1, JAPAN

More information

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson DEADLOCK AVOIDANCE IN BATCH PROCESSES M. Tittus K. Åkesson Univesity College Boås, Sweden, e-mail: Michael.Tittus@hb.se Chalmes Univesity of Technology, Gothenbug, Sweden, e-mail: ka@s2.chalmes.se Abstact:

More information

Lecture 27: Voronoi Diagrams

Lecture 27: Voronoi Diagrams We say that two points u, v Y ae in the same connected component of Y if thee is a path in R N fom u to v such that all the points along the path ae in the set Y. (Thee ae two connected components in the

More information

Configuring RSVP-ATM QoS Interworking

Configuring RSVP-ATM QoS Interworking Configuing RSVP-ATM QoS Intewoking Last Updated: Januay 15, 2013 This chapte descibes the tasks fo configuing the RSVP-ATM QoS Intewoking featue, which povides suppot fo Contolled Load Sevice using RSVP

More information

Lecture # 04. Image Enhancement in Spatial Domain

Lecture # 04. Image Enhancement in Spatial Domain Digital Image Pocessing CP-7008 Lectue # 04 Image Enhancement in Spatial Domain Fall 2011 2 domains Spatial Domain : (image plane) Techniques ae based on diect manipulation of pixels in an image Fequency

More information

Module 6 STILL IMAGE COMPRESSION STANDARDS

Module 6 STILL IMAGE COMPRESSION STANDARDS Module 6 STILL IMAE COMPRESSION STANDARDS Lesson 17 JPE-2000 Achitectue and Featues Instuctional Objectives At the end of this lesson, the students should be able to: 1. State the shotcomings of JPE standad.

More information

Reachable State Spaces of Distributed Deadlock Avoidance Protocols

Reachable State Spaces of Distributed Deadlock Avoidance Protocols Reachable State Spaces of Distibuted Deadlock Avoidance Potocols CÉSAR SÁNCHEZ and HENNY B. SIPMA Stanfod Univesity We pesent a family of efficient distibuted deadlock avoidance algoithms with applications

More information

Pipes, connections, channels and multiplexors

Pipes, connections, channels and multiplexors Pipes, connections, channels and multiplexos Fancisco J. Ballesteos ABSTRACT Channels in the style of CSP ae a poeful abstaction. The ae close to pipes and connections used to inteconnect system and netok

More information

An Unsupervised Segmentation Framework For Texture Image Queries

An Unsupervised Segmentation Framework For Texture Image Queries An Unsupevised Segmentation Famewok Fo Textue Image Queies Shu-Ching Chen Distibuted Multimedia Infomation System Laboatoy School of Compute Science Floida Intenational Univesity Miami, FL 33199, USA chens@cs.fiu.edu

More information

FACE VECTORS OF FLAG COMPLEXES

FACE VECTORS OF FLAG COMPLEXES FACE VECTORS OF FLAG COMPLEXES ANDY FROHMADER Abstact. A conjectue of Kalai and Eckhoff that the face vecto of an abitay flag complex is also the face vecto of some paticula balanced complex is veified.

More information

Communication vs Distributed Computation: an alternative trade-off curve

Communication vs Distributed Computation: an alternative trade-off curve Communication vs Distibuted Computation: an altenative tade-off cuve Yahya H. Ezzeldin, Mohammed amoose, Chistina Fagouli Univesity of Califonia, Los Angeles, CA 90095, USA, Email: {yahya.ezzeldin, mkamoose,

More information

GCC-AVR Inline Assembler Cookbook Version 1.2

GCC-AVR Inline Assembler Cookbook Version 1.2 GCC-AVR Inline Assemble Cookbook Vesion 1.2 About this Document The GNU C compile fo Atmel AVR isk pocessos offes, to embed assembly language code into C pogams. This cool featue may be used fo manually

More information

Input Layer f = 2 f = 0 f = f = 3 1,16 1,1 1,2 1,3 2, ,2 3,3 3,16. f = 1. f = Output Layer

Input Layer f = 2 f = 0 f = f = 3 1,16 1,1 1,2 1,3 2, ,2 3,3 3,16. f = 1. f = Output Layer Using the Gow-And-Pune Netwok to Solve Poblems of Lage Dimensionality B.J. Biedis and T.D. Gedeon School of Compute Science & Engineeing The Univesity of New South Wales Sydney NSW 2052 AUSTRALIA bbiedis@cse.unsw.edu.au

More information

Frequency Domain Approach for Face Recognition Using Optical Vanderlugt Filters

Frequency Domain Approach for Face Recognition Using Optical Vanderlugt Filters Optics and Photonics Jounal, 016, 6, 94-100 Published Online August 016 in SciRes. http://www.scip.og/jounal/opj http://dx.doi.og/10.436/opj.016.68b016 Fequency Domain Appoach fo Face Recognition Using

More information

Information Retrieval. CS630 Representing and Accessing Digital Information. IR Basics. User Task. Basic IR Processes

Information Retrieval. CS630 Representing and Accessing Digital Information. IR Basics. User Task. Basic IR Processes CS630 Repesenting and Accessing Digital Infomation Infomation Retieval: Basics Thosten Joachims Conell Univesity Infomation Retieval Basics Retieval Models Indexing and Pepocessing Data Stuctues ~ 4 lectues

More information

Automatically Testing Interacting Software Components

Automatically Testing Interacting Software Components Automatically Testing Inteacting Softwae Components Leonad Gallaghe Infomation Technology Laboatoy National Institute of Standads and Technology Gaithesbug, MD 20899, USA lgallaghe@nist.gov Jeff Offutt

More information

Spiral Recognition Methodology and Its Application for Recognition of Chinese Bank Checks

Spiral Recognition Methodology and Its Application for Recognition of Chinese Bank Checks Spial Recognition Methodology and Its Application fo Recognition of Chinese Bank Checks Hanshen Tang 1, Emmanuel Augustin 2, Ching Y. Suen 1, Olivie Baet 2, Mohamed Cheiet 3 1 Cente fo Patten Recognition

More information

Any modern computer system will incorporate (at least) two levels of storage:

Any modern computer system will incorporate (at least) two levels of storage: 1 Any moden compute system will incopoate (at least) two levels of stoage: pimay stoage: andom access memoy (RAM) typical capacity 32MB to 1GB cost pe MB $3. typical access time 5ns to 6ns bust tansfe

More information

A Family of Distributed Deadlock Avoidance Protocols and their Reachable State Spaces

A Family of Distributed Deadlock Avoidance Protocols and their Reachable State Spaces A Family of Distibuted Deadlock Avoidance Potocols and thei Reachable State Spaces Césa Sánchez, Henny B. Sipma, and Zoha Manna Compute Science Depatment Stanfod Univesity, Stanfod, CA 94305-9025 {cesa,sipma,manna}@cs.stanfod.edu

More information

User Group testing report

User Group testing report Use Goup testing epot Deliveable No: D6.10 Contact No: Integated Poject No. 506723: SafetyNet Aconym: SafetyNet Title: Building the Euopean Road Safety Obsevatoy Integated Poject, Thematic Pioity 6.2 Sustainable

More information

IP Multicast Simulation in OPNET

IP Multicast Simulation in OPNET IP Multicast Simulation in OPNET Xin Wang, Chien-Ming Yu, Henning Schulzinne Paul A. Stipe Columbia Univesity Reutes Depatment of Compute Science 88 Pakway Dive South New Yok, New Yok Hauppuage, New Yok

More information

IP Network Design by Modified Branch Exchange Method

IP Network Design by Modified Branch Exchange Method Received: June 7, 207 98 IP Netwok Design by Modified Banch Method Kaiat Jaoenat Natchamol Sichumoenattana 2* Faculty of Engineeing at Kamphaeng Saen, Kasetsat Univesity, Thailand 2 Faculty of Management

More information

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented Quey Language #1/3: Relational Algeba Pue, Pocedual, and Set-oiented To expess a quey, we use a set of opeations. Each opeation takes one o moe elations as input paamete (set-oiented). Since each opeation

More information

(a, b) x y r. For this problem, is a point in the - coordinate plane and is a positive number.

(a, b) x y r. For this problem, is a point in the - coordinate plane and is a positive number. Illustative G-C Simila cicles Alignments to Content Standads: G-C.A. Task (a, b) x y Fo this poblem, is a point in the - coodinate plane and is a positive numbe. a. Using a tanslation and a dilation, show

More information

Also available at ISSN (printed edn.), ISSN (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010)

Also available at  ISSN (printed edn.), ISSN (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010) Also available at http://amc.imfm.si ISSN 1855-3966 (pinted edn.), ISSN 1855-3974 (electonic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010) 109 120 Fulleene patches I Jack E. Gave Syacuse Univesity, Depatment

More information

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension 17th Wold Confeence on Nondestuctive Testing, 25-28 Oct 2008, Shanghai, China Segmentation of Casting Defects in X-Ray Images Based on Factal Dimension Jue WANG 1, Xiaoqin HOU 2, Yufang CAI 3 ICT Reseach

More information

Image Enhancement in the Spatial Domain. Spatial Domain

Image Enhancement in the Spatial Domain. Spatial Domain 8-- Spatial Domain Image Enhancement in the Spatial Domain What is spatial domain The space whee all pixels fom an image In spatial domain we can epesent an image by f( whee x and y ae coodinates along

More information

4.2. Co-terminal and Related Angles. Investigate

4.2. Co-terminal and Related Angles. Investigate .2 Co-teminal and Related Angles Tigonometic atios can be used to model quantities such as

More information

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc - CentOS 5.2 - Linux Uses Guide - Linux Command SYNOPSIS [-V] [--vesion] [-h] [--help] [-e sciptexpession] [--expession=sciptexpession] [-f sciptfile] [--file=sciptfile] [file...] DESCRIPTION is a evese-polish

More information

A Consistent, User Friendly Interface for Running a Variety of Underwater Acoustic Propagation Codes

A Consistent, User Friendly Interface for Running a Variety of Underwater Acoustic Propagation Codes Poceedings of ACOUSTICS 6 - Novembe 6, Chistchuch, New Zealand A Consistent, Use Fiendly Inteface fo Running a Vaiety of Undewate Acoustic Popagation Codes Alec J Duncan, Amos L Maggi Cente fo Maine Science

More information

A VECTOR PERTURBATION APPROACH TO THE GENERALIZED AIRCRAFT SPARE PARTS GROUPING PROBLEM

A VECTOR PERTURBATION APPROACH TO THE GENERALIZED AIRCRAFT SPARE PARTS GROUPING PROBLEM Accepted fo publication Intenational Jounal of Flexible Automation and Integated Manufactuing. A VECTOR PERTURBATION APPROACH TO THE GENERALIZED AIRCRAFT SPARE PARTS GROUPING PROBLEM Nagiza F. Samatova,

More information

ART GALLERIES WITH INTERIOR WALLS. March 1998

ART GALLERIES WITH INTERIOR WALLS. March 1998 ART GALLERIES WITH INTERIOR WALLS Andé Kündgen Mach 1998 Abstact. Conside an at galley fomed by a polygon on n vetices with m pais of vetices joined by inteio diagonals, the inteio walls. Each inteio wall

More information

Multi-azimuth Prestack Time Migration for General Anisotropic, Weakly Heterogeneous Media - Field Data Examples

Multi-azimuth Prestack Time Migration for General Anisotropic, Weakly Heterogeneous Media - Field Data Examples Multi-azimuth Pestack Time Migation fo Geneal Anisotopic, Weakly Heteogeneous Media - Field Data Examples S. Beaumont* (EOST/PGS) & W. Söllne (PGS) SUMMARY Multi-azimuth data acquisition has shown benefits

More information

HISTOGRAMS are an important statistic reflecting the

HISTOGRAMS are an important statistic reflecting the JOURNAL OF L A T E X CLASS FILES, VOL. 14, NO. 8, AUGUST 2015 1 D 2 HistoSketch: Disciminative and Dynamic Similaity-Peseving Sketching of Steaming Histogams Dingqi Yang, Bin Li, Laua Rettig, and Philippe

More information

Undecidability of Static Analysis. William Landi. Siemens Corporate Research Inc. 755 College Rd East.

Undecidability of Static Analysis. William Landi. Siemens Corporate Research Inc. 755 College Rd East. Undecidability of Static Analysis William Landi Siemens Copoate Reseach Inc 755 College Rd East Pinceton, NJ 08540 wlandi@sc.siemens.com Abstact Static Analysis of pogams is indispensable to any softwae

More information

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma apreduce Optimizations and Algoithms 2015 Pofesso Sasu Takoma www.cs.helsinki.fi Optimizations Reduce tasks cannot stat befoe the whole map phase is complete Thus single slow machine can slow down the

More information

Prof. Feng Liu. Fall /17/2016

Prof. Feng Liu. Fall /17/2016 Pof. Feng Liu Fall 26 http://www.cs.pdx.edu/~fliu/couses/cs447/ /7/26 Last time Compositing NPR 3D Gaphics Toolkits Tansfomations 2 Today 3D Tansfomations The Viewing Pipeline Mid-tem: in class, Nov. 2

More information

Illumination methods for optical wear detection

Illumination methods for optical wear detection Illumination methods fo optical wea detection 1 J. Zhang, 2 P.P.L.Regtien 1 VIMEC Applied Vision Technology, Coy 43, 5653 LC Eindhoven, The Nethelands Email: jianbo.zhang@gmail.com 2 Faculty Electical

More information

Improvement of First-order Takagi-Sugeno Models Using Local Uniform B-splines 1

Improvement of First-order Takagi-Sugeno Models Using Local Uniform B-splines 1 Impovement of Fist-ode Takagi-Sugeno Models Using Local Unifom B-splines Felipe Fenández, Julio Gutiéez, Gacián Tiviño and Juan Calos Cespo Dep. Tecnología Fotónica, Facultad de Infomática Univesidad Politécnica

More information

A Two-stage and Parameter-free Binarization Method for Degraded Document Images

A Two-stage and Parameter-free Binarization Method for Degraded Document Images A Two-stage and Paamete-fee Binaization Method fo Degaded Document Images Yung-Hsiang Chiu 1, Kuo-Liang Chung 1, Yong-Huai Huang 2, Wei-Ning Yang 3, Chi-Huang Liao 4 1 Depatment of Compute Science and

More information

Modelling, simulation, and performance analysis of a CAN FD system with SAE benchmark based message set

Modelling, simulation, and performance analysis of a CAN FD system with SAE benchmark based message set Modelling, simulation, and pefomance analysis of a CAN FD system with SAE benchmak based message set Mahmut Tenuh, Panagiotis Oikonomidis, Peiklis Chachalakis, Elias Stipidis Mugla S. K. Univesity, TR;

More information

Point-Biserial Correlation Analysis of Fuzzy Attributes

Point-Biserial Correlation Analysis of Fuzzy Attributes Appl Math Inf Sci 6 No S pp 439S-444S (0 Applied Mathematics & Infomation Sciences An Intenational Jounal @ 0 NSP Natual Sciences Publishing o Point-iseial oelation Analysis of Fuzzy Attibutes Hao-En hueh

More information

The International Conference in Knowledge Management (CIKM'94), Gaithersburg, MD, November 1994.

The International Conference in Knowledge Management (CIKM'94), Gaithersburg, MD, November 1994. The Intenational Confeence in Knowledge Management (CIKM'94), Gaithesbug, MD, Novembe 994. Hashing by Poximity to Pocess Duplicates in Spatial Databases Walid G. Aef Matsushita Infomation Technology Laboatoy

More information

ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM

ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM Luna M. Rodiguez*, Sue Ellen Haupt, and Geoge S. Young Depatment of Meteoology and Applied Reseach Laboatoy The Pennsylvania State Univesity,

More information

TESSELLATIONS. This is a sample (draft) chapter from: MATHEMATICAL OUTPOURINGS. Newsletters and Musings from the St. Mark s Institute of Mathematics

TESSELLATIONS. This is a sample (draft) chapter from: MATHEMATICAL OUTPOURINGS. Newsletters and Musings from the St. Mark s Institute of Mathematics TESSELLATIONS This is a sample (daft) chapte fom: MATHEMATICAL OUTPOURINGS Newslettes and Musings fom the St. Mak s Institute of Mathematics James Tanton www.jamestanton.com This mateial was and can still

More information

Positioning of a robot based on binocular vision for hand / foot fusion Long Han

Positioning of a robot based on binocular vision for hand / foot fusion Long Han 2nd Intenational Confeence on Advances in Mechanical Engineeing and Industial Infomatics (AMEII 26) Positioning of a obot based on binocula vision fo hand / foot fusion Long Han Compute Science and Technology,

More information

A Recommender System for Online Personalization in the WUM Applications

A Recommender System for Online Personalization in the WUM Applications A Recommende System fo Online Pesonalization in the WUM Applications Mehdad Jalali 1, Nowati Mustapha 2, Ali Mamat 2, Md. Nasi B Sulaiman 2 Abstact foeseeing of use futue movements and intentions based

More information

User Specified non-bonded potentials in gromacs

User Specified non-bonded potentials in gromacs Use Specified non-bonded potentials in gomacs Apil 8, 2010 1 Intoduction On fist appeaances gomacs, unlike MD codes like LAMMPS o DL POLY, appeas to have vey little flexibility with egads to the fom of

More information

Color Correction Using 3D Multiview Geometry

Color Correction Using 3D Multiview Geometry Colo Coection Using 3D Multiview Geomety Dong-Won Shin and Yo-Sung Ho Gwangju Institute of Science and Technology (GIST) 13 Cheomdan-gwagio, Buk-ku, Gwangju 500-71, Republic of Koea ABSTRACT Recently,

More information

Assessment of Track Sequence Optimization based on Recorded Field Operations

Assessment of Track Sequence Optimization based on Recorded Field Operations Assessment of Tack Sequence Optimization based on Recoded Field Opeations Matin A. F. Jensen 1,2,*, Claus G. Søensen 1, Dionysis Bochtis 1 1 Aahus Univesity, Faculty of Science and Technology, Depatment

More information

A Novel Image-Based Rendering System With A Longitudinally Aligned Camera Array

A Novel Image-Based Rendering System With A Longitudinally Aligned Camera Array EUOGAPHICS 2 / A. de Sousa, J.C. Toes Shot Pesentations A Novel Image-Based endeing System With A Longitudinally Aligned Camea Aay Jiang Li, Kun Zhou, Yong Wang and Heung-Yeung Shum Micosoft eseach, China

More information

Conversion Functions for Symmetric Key Ciphers

Conversion Functions for Symmetric Key Ciphers Jounal of Infomation Assuance and Secuity 2 (2006) 41 50 Convesion Functions fo Symmetic Key Ciphes Deba L. Cook and Angelos D. Keomytis Depatment of Compute Science Columbia Univesity, mail code 0401

More information

A New and Efficient 2D Collision Detection Method Based on Contact Theory Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai MIAO, Jian XUE

A New and Efficient 2D Collision Detection Method Based on Contact Theory Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai MIAO, Jian XUE 5th Intenational Confeence on Advanced Mateials and Compute Science (ICAMCS 2016) A New and Efficient 2D Collision Detection Method Based on Contact Theoy Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai

More information

EQUATIONS can at times be tedious to understand

EQUATIONS can at times be tedious to understand DIGITAL IMAGE PROCESSING COURSE PROJECT, JUNE 2013 1 Augmented Reality Equation Plotte Salman Naqvi, Uzai Sikoa Digital Image Pocessing EE 368/ CS 232 Abstact Gaphical Visualization of an equation can

More information

Scaling Location-based Services with Dynamically Composed Location Index

Scaling Location-based Services with Dynamically Composed Location Index Scaling Location-based Sevices with Dynamically Composed Location Index Bhuvan Bamba, Sangeetha Seshadi and Ling Liu Distibuted Data Intensive Systems Laboatoy (DiSL) College of Computing, Geogia Institute

More information

A Shape-preserving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonuniform Fuzzification Transform

A Shape-preserving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonuniform Fuzzification Transform A Shape-peseving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonunifom Fuzzification Tansfom Felipe Fenández, Julio Gutiéez, Juan Calos Cespo and Gacián Tiviño Dep. Tecnología Fotónica, Facultad

More information

DYNAMIC STORAGE ALLOCATION. Hanan Samet

DYNAMIC STORAGE ALLOCATION. Hanan Samet ds0 DYNAMIC STORAGE ALLOCATION Hanan Samet Compute Science Depatment and Cente fo Automation Reseach and Institute fo Advanced Compute Studies Univesity of Mayland College Pak, Mayland 07 e-mail: hjs@umiacs.umd.edu

More information

A Functional Approach for Formalizing Regular. Universitat Karlsruhe, Institut fur Rechnerentwurf und Fehlertoleranz,

A Functional Approach for Formalizing Regular. Universitat Karlsruhe, Institut fur Rechnerentwurf und Fehlertoleranz, A Functional Appoach fo Fomalizing Regula Hadwae Stuctues? Dik Eisenbiegle 1, Klaus Schneide 1 and Ramayya Kuma 2 1 Univesitat Kalsuhe, Institut fu Rechneentwuf und Fehletoleanz, (Pof. D. Schmid), P.O.

More information

Parallel processing model for XML parsing

Parallel processing model for XML parsing Recent Reseaches in Communications, Signals and nfomation Technology Paallel pocessing model fo XML pasing ADRANA GEORGEVA Fac. Applied Mathematics and nfomatics Technical Univesity of Sofia, TU-Sofia

More information

Embeddings into Crossed Cubes

Embeddings into Crossed Cubes Embeddings into Cossed Cubes Emad Abuelub *, Membe, IAENG Abstact- The hypecube paallel achitectue is one of the most popula inteconnection netwoks due to many of its attactive popeties and its suitability

More information

A Minutiae-based Fingerprint Matching Algorithm Using Phase Correlation

A Minutiae-based Fingerprint Matching Algorithm Using Phase Correlation A Minutiae-based Fingepint Matching Algoithm Using Phase Coelation Autho Chen, Weiping, Gao, Yongsheng Published 2007 Confeence Title Digital Image Computing: Techniques and Applications DOI https://doi.og/10.1109/dicta.2007.4426801

More information

ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS

ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS Daniel A Menascé Mohamed N Bennani Dept of Compute Science Oacle, Inc Geoge Mason Univesity 1211 SW Fifth

More information

Slotted Random Access Protocol with Dynamic Transmission Probability Control in CDMA System

Slotted Random Access Protocol with Dynamic Transmission Probability Control in CDMA System Slotted Random Access Potocol with Dynamic Tansmission Pobability Contol in CDMA System Intaek Lim 1 1 Depatment of Embedded Softwae, Busan Univesity of Foeign Studies, itlim@bufs.ac.k Abstact In packet

More information

What is a System:- Characteristics of a system:-

What is a System:- Characteristics of a system:- Unit 1 st :- What is a System:- A system is an odely gouping of intedependent components linked togethe accoding to a plan to achieve a specific objective. The study of system concepts has thee basic implications:

More information

Adaptation of Motion Capture Data of Human Arms to a Humanoid Robot Using Optimization

Adaptation of Motion Capture Data of Human Arms to a Humanoid Robot Using Optimization ICCAS25 June 2-5, KINTEX, Gyeonggi-Do, Koea Adaptation of Motion Captue Data of Human Ams to a Humanoid Robot Using Optimization ChangHwan Kim and Doik Kim Intelligent Robotics Reseach Cente, Koea Institute

More information

The EigenRumor Algorithm for Ranking Blogs

The EigenRumor Algorithm for Ranking Blogs he EigenRumo Algoithm fo Ranking Blogs Ko Fujimua N Cybe Solutions Laboatoies N Copoation akafumi Inoue N Cybe Solutions Laboatoies N Copoation Masayuki Sugisaki N Resonant Inc. ABSRAC he advent of easy

More information

n If S is in convex position, then thee ae exactly k convex k-gons detemined by subsets of S. In geneal, howeve, S may detemine fa fewe convex k-gons.

n If S is in convex position, then thee ae exactly k convex k-gons detemined by subsets of S. In geneal, howeve, S may detemine fa fewe convex k-gons. Counting Convex Polygons in Plana Point Sets Joseph S. B. Mitchell a;1, Günte Rote b, Gopalakishnan Sundaam c, and Gehad Woeginge b a Applied Mathematics and Statistics, SUNY Stony Book, NY 11794-3600.

More information

arxiv: v2 [physics.soc-ph] 30 Nov 2016

arxiv: v2 [physics.soc-ph] 30 Nov 2016 Tanspotation dynamics on coupled netwoks with limited bandwidth Ming Li 1,*, Mao-Bin Hu 1, and Bing-Hong Wang 2, axiv:1607.05382v2 [physics.soc-ph] 30 Nov 2016 1 School of Engineeing Science, Univesity

More information

The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2

The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2 Compile constuction 2009 Lectue 2 Code geneation 1: Geneating code The Java Vitual Machine Data types Pimitive types, including intege and floating-point types of vaious sizes and the boolean type. The

More information

View Synthesis using Depth Map for 3D Video

View Synthesis using Depth Map for 3D Video View Synthesis using Depth Map fo 3D Video Cheon Lee and Yo-Sung Ho Gwangju Institute of Science and Technology (GIST) 1 Oyong-dong, Buk-gu, Gwangju, 500-712, Republic of Koea E-mail: {leecheon, hoyo}@gist.ac.k

More information

And Ph.D. Candidate of Computer Science, University of Putra Malaysia 2 Faculty of Computer Science and Information Technology,

And Ph.D. Candidate of Computer Science, University of Putra Malaysia 2 Faculty of Computer Science and Information Technology, (IJCSIS) Intenational Jounal of Compute Science and Infomation Secuity, Efficient Candidacy Reduction Fo Fequent Patten Mining M.H Nadimi-Shahaki 1, Nowati Mustapha 2, Md Nasi B Sulaiman 2, Ali B Mamat

More information

POMDP: Introduction to Partially Observable Markov Decision Processes Hossein Kamalzadeh, Michael Hahsler

POMDP: Introduction to Partially Observable Markov Decision Processes Hossein Kamalzadeh, Michael Hahsler POMDP: Intoduction to Patially Obsevable Makov Decision Pocesses Hossein Kamalzadeh, Michael Hahsle 2019-01-02 The R package pomdp povides an inteface to pomdp-solve, a solve (witten in C) fo Patially

More information

vaiation than the fome. Howeve, these methods also beak down as shadowing becomes vey signicant. As we will see, the pesented algoithm based on the il

vaiation than the fome. Howeve, these methods also beak down as shadowing becomes vey signicant. As we will see, the pesented algoithm based on the il IEEE Conf. on Compute Vision and Patten Recognition, 1998. To appea. Illumination Cones fo Recognition Unde Vaiable Lighting: Faces Athinodoos S. Geoghiades David J. Kiegman Pete N. Belhumeu Cente fo Computational

More information

A modal estimation based multitype sensor placement method

A modal estimation based multitype sensor placement method A modal estimation based multitype senso placement method *Xue-Yang Pei 1), Ting-Hua Yi 2) and Hong-Nan Li 3) 1),)2),3) School of Civil Engineeing, Dalian Univesity of Technology, Dalian 116023, China;

More information

Several algorithms exist to extract edges from point. system. the line is computed using a least squares method.

Several algorithms exist to extract edges from point. system. the line is computed using a least squares method. Fast Mapping using the Log-Hough Tansfomation B. Giesle, R. Gaf, R. Dillmann Institute fo Pocess Contol and Robotics (IPR) Univesity of Kalsuhe D-7618 Kalsuhe, Gemany fgieslejgafjdillmanng@ia.uka.de C.F.R.

More information

Efficient Execution Path Exploration for Detecting Races in Concurrent Programs

Efficient Execution Path Exploration for Detecting Races in Concurrent Programs IAENG Intenational Jounal of Compute Science, 403, IJCS_40_3_02 Efficient Execution Path Exploation fo Detecting Races in Concuent Pogams Theodous E. Setiadi, Akihiko Ohsuga, and Mamou Maekaa Abstact Concuent

More information

Goal. Rendering Complex Scenes on Mobile Terminals or on the web. Rendering on Mobile Terminals. Rendering on Mobile Terminals. Walking through images

Goal. Rendering Complex Scenes on Mobile Terminals or on the web. Rendering on Mobile Terminals. Rendering on Mobile Terminals. Walking through images Goal Walking though s -------------------------------------------- Kadi Bouatouch IRISA Univesité de Rennes I, Fance Rendeing Comple Scenes on Mobile Teminals o on the web Rendeing on Mobile Teminals Rendeing

More information

On Error Estimation in Runge-Kutta Methods

On Error Estimation in Runge-Kutta Methods Leonado Jounal of Sciences ISSN 1583-0233 Issue 18, Januay-June 2011 p. 1-10 On Eo Estimation in Runge-Kutta Methods Ochoche ABRAHAM 1,*, Gbolahan BOLARIN 2 1 Depatment of Infomation Technology, 2 Depatment

More information

Optical Flow for Large Motion Using Gradient Technique

Optical Flow for Large Motion Using Gradient Technique SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 3, No. 1, June 2006, 103-113 Optical Flow fo Lage Motion Using Gadient Technique Md. Moshaof Hossain Sake 1, Kamal Bechkoum 2, K.K. Islam 1 Abstact: In this

More information

An Improved Resource Reservation Protocol

An Improved Resource Reservation Protocol Jounal of Compute Science 3 (8: 658-665, 2007 SSN 549-3636 2007 Science Publications An mpoved Resouce Resevation Potocol Desie Oulai, Steven Chambeland and Samuel Piee Depatment of Compute Engineeing

More information

Data mining based automated reverse engineering and defect discovery

Data mining based automated reverse engineering and defect discovery Data mining based automated evese engineeing and defect discovey James F. Smith III, ThanhVu H. Nguyen Naval Reseach Laboatoy, Code 5741, Washington, D.C., 20375-5000 ABSTRACT A data mining based pocedue

More information

Effects of Model Complexity on Generalization Performance of Convolutional Neural Networks

Effects of Model Complexity on Generalization Performance of Convolutional Neural Networks Effects of Model Complexity on Genealization Pefomance of Convolutional Neual Netwoks Tae-Jun Kim 1, Dongsu Zhang 2, and Joon Shik Kim 3 1 Seoul National Univesity, Seoul 151-742, Koea, E-mail: tjkim@bi.snu.ac.k

More information

SYSTEM LEVEL REUSE METRICS FOR OBJECT ORIENTED SOFTWARE : AN ALTERNATIVE APPROACH

SYSTEM LEVEL REUSE METRICS FOR OBJECT ORIENTED SOFTWARE : AN ALTERNATIVE APPROACH I J C A 7(), 202 pp. 49-53 SYSTEM LEVEL REUSE METRICS FOR OBJECT ORIENTED SOFTWARE : AN ALTERNATIVE APPROACH Sushil Goel and 2 Rajesh Vema Associate Pofesso, Depatment of Compute Science, Dyal Singh College,

More information

Gravitational Shift for Beginners

Gravitational Shift for Beginners Gavitational Shift fo Beginnes This pape, which I wote in 26, fomulates the equations fo gavitational shifts fom the elativistic famewok of special elativity. Fist I deive the fomulas fo the gavitational

More information

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES Svetlana Avetisyan Mikayel Samvelyan* Matun Kaapetyan Yeevan State Univesity Abstact In this pape, the class

More information

Topological Characteristic of Wireless Network

Topological Characteristic of Wireless Network Topological Chaacteistic of Wieless Netwok Its Application to Node Placement Algoithm Husnu Sane Naman 1 Outline Backgound Motivation Papes and Contibutions Fist Pape Second Pape Thid Pape Futue Woks Refeences

More information

Prioritized Traffic Recovery over GMPLS Networks

Prioritized Traffic Recovery over GMPLS Networks Pioitized Taffic Recovey ove GMPLS Netwoks 2005 IEEE. Pesonal use of this mateial is pemitted. Pemission fom IEEE mu be obtained fo all othe uses in any cuent o futue media including epinting/epublishing

More information

Title. Author(s)NOMURA, K.; MOROOKA, S. Issue Date Doc URL. Type. Note. File Information

Title. Author(s)NOMURA, K.; MOROOKA, S. Issue Date Doc URL. Type. Note. File Information Title CALCULATION FORMULA FOR A MAXIMUM BENDING MOMENT AND THE TRIANGULAR SLAB WITH CONSIDERING EFFECT OF SUPPO UNIFORM LOAD Autho(s)NOMURA, K.; MOROOKA, S. Issue Date 2013-09-11 Doc URL http://hdl.handle.net/2115/54220

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.bekeley.edu/~cs61c UCB CS61C : Machine Stuctues Lectue SOE Dan Gacia Lectue 28 CPU Design : Pipelining to Impove Pefomance 2010-04-05 Stanfod Reseaches have invented a monitoing technique called

More information