BE1007551A3 - Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling. - Google Patents

Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling. Download PDF

Info

Publication number
BE1007551A3
BE1007551A3 BE9301002A BE9301002A BE1007551A3 BE 1007551 A3 BE1007551 A3 BE 1007551A3 BE 9301002 A BE9301002 A BE 9301002A BE 9301002 A BE9301002 A BE 9301002A BE 1007551 A3 BE1007551 A3 BE 1007551A3
Authority
BE
Belgium
Prior art keywords
objects
incremental
variable
consistency
value
Prior art date
Application number
BE9301002A
Other languages
English (en)
Inventor
Alexander Augusteijn
Original Assignee
Philips Electronics Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Electronics Nv filed Critical Philips Electronics Nv
Priority to BE9301002A priority Critical patent/BE1007551A3/nl
Priority to EP94202669A priority patent/EP0646862B1/en
Priority to DE69427008T priority patent/DE69427008T2/de
Priority to SG1996008933A priority patent/SG44869A1/en
Priority to MYPI94002528A priority patent/MY138242A/en
Priority to US08/311,221 priority patent/US5596701A/en
Priority to KR1019940023931A priority patent/KR100348670B1/ko
Priority to JP6230087A priority patent/JPH07200280A/ja
Priority to TW084101630A priority patent/TW359786B/zh
Application granted granted Critical
Publication of BE1007551A3 publication Critical patent/BE1007551A3/nl
Priority to US08/755,665 priority patent/US5731815A/en
Priority to HK98114084A priority patent/HK1012745A1/xx
Priority to JP2005339810A priority patent/JP3946233B2/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Abstract

In een rekenmachine is een weergavestruktuur gebaseerd op een hiërarchische struktuur van consistentierelaties tussen objekten. Elke relatie specificeert als funktie van één of meer objekten van zeker hiërarchisch niveau één of meer incrementele objekten op een naasthoger niveau. Op het laagste niveau bevinden zich variabele incrementele objekten. Na een gebruikersinteraktie die één of meer variabele incrementele objekten modificeert, wordt de consistentie als volgt hersteld. Eerst wordt in een bottom-up signaleringsstap een verzameling van waardeinconsistenties voor de incrementele objekten gesignaleerd. Daarna worden in een top-down bijwerkstap op grond van elk element van die verzameling de waarde van het hiërarchisch hogere objekt bijgewerkt op grond van eventuele waardeverandering van bijbehorende specificerende variabele incrementele objekten en/of incrementele objekten.

Description


   <Desc/Clms Page number 1> 
 



  Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hiërarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling 
 EMI1.1 
 GEBIED VAN DE UITVINDING De uitvinding heeft betrekking op een werkwijze voor het in een rekenmachine na een gebruikersinteraktie automatisch herstellen van consistentie in een weergavestruktuur van informatie, die is gebaseerd op een verzameling objekten in derzelver hiërarchische objektstruktuur, waarbij de gebruikersinteraktie een of meer primaire variabele objekten modificeert, en daarop binnen de objektstruktuur sekundaire variabele objekten worden bijgewerkt. De uitvinding maakt daarmee deel uit van een gebruikersinteraktie systeem (user interface).

   Het meest complexe voorbeeld daarvan is in het algemeen een grafisch interface, vanwege de vergaande ruimtelijke parallelliteit van de presentaties aan de gebruiker, al is de uitvinding in principe ook in andere interfaces toepasbaar, bijvoorbeeld zulke die videobeelden, geluid, en andere uitingsmiddelen bezitten. Hier kan die parallelliteit zieh eveneens voordoen. Zo'n interface kan beschouwd worden als een interaktie tussen een gebruiker, in het algemeen een persoon, die akties uitvoert, waardoor de weergave niet langer consistent is met de toestand van het systeem, en een proces dat vervolgens die consistentie herstelt. Traditioneel wordt dat herstellen geimplementeerd met zogenaamde call-back funkies, zoals nader wordt uitgelegd.

   Deze aanpak werkt volledig bottom-up en daarbij worden steeds achtereenvolgens eerst de primaire variabele objekten bijgewerkt en dan direkt de zieh daarop baserende sekundaire variabele objekten op achtereenvolgende hiërarchisch hogere niveaus. Dit gebeurt door lokaal in het programma aanwezige instrukties, die direkt worden uitgevoerd. Het is bij deze organisatie twijfelachtig, enerzijds of alle relevante consistentierelaties worden aangesproken, en anderzijds of niet ook overbodige consistentierelaties worden aangesproken, bijvoorbeeld zulke die alleen buiten het aktuele weergaveveld implikaties hebben. Dit probleem wordt veroorzaakt doordat de consistenties hersteld moeten worden zonder dat de relaties expliciet zijn, want er wordt alleen gebruik gemaakt van alles wat er in het programma is opgenomen.

   Dit probleem is vooral groot als het interface werkt met een veranderend programmapakket, bijvoorbeeld doordat dit ontwikkeld, verbeterd of onderhouden moet 

 <Desc/Clms Page number 2> 

 worden. Gelijk bekend worden alle enigszins complexe programma's voortdurend aan zulke veranderingen onderworpen. 



  SAMENVATTING VAN DE UITVINDING
Dientengevolge is het onder meer een doelstelling van de uitvinding om 
 EMI2.1 
 een werkwijze te verschaffen welke in het geval van zo een interface het korrekt i bijwerken van de weergave automatisch verzorgt en dit onafhankelijk van verdere delen i van het programmapakket, om aldus het ontwerpen, bijwerken en onderhouden daarvan te vereenvoudigen.

   Welnu, volgens een harer aspekten realiseert de uitvinding dit doordat zij het kenmerk heeft, dat de objektstruktuur een netwerk van consistentierelaties bevat die elk één of meer incrementele objekten specificeren als funktie van   een   of meer incrementele objekten en/of variabele incrementele objekten op een naastlager   hiërarchisch   niveau, en waarbij de gebruikersinteraktie   een   of meer zulke variabele inkrementele objekten op een laagste niveau modificeert, dat eerst in een bottom-up signaleringsstap een verzameling van waardeinconsistenties voor de incrementele objekten wordt gesignaleerd,

   en dat daarna in een top-down bijwerkstap op grond van elk element van die verzameling de waarde van het bijbehorend incrementele objekt wordt bijgewerkt op grond van eventuele waardeverandering van de 
 EMI2.2 
 bijbehorende specificerende variabele incrementele objekten en/of incrementele objekten i op lager hierarchisch niveau. Daarbij zijn dus de zogenoemde incrementele objekten gebonden aan een expressie, die expliciet of impliciet kan zijn, en waarvan de uitdrukking willekeurig is. Zo kan deze expressie bijvoorbeeld ook als een tabel zijn gegeven. De zogenoemde variabele incrementele objekten zijn gebonden aan een waarde die door een gebruikersinteraktie gewijzigd kan worden. De incrementele objekten kunnen daarbij behalve van variabele incrementele objekten ook weer van andere incrementele objekten afhangen. Zo vindt de berekening dus recursief plaats.

   De implementatie van de veranderingen vindt in twee stappen plaats : eerst worden in een bottom-up stap de inconsistenties automatisch gesignaleerd. Daarna worden in een topdown stap de consistenties ook weer automatisch hersteld. 



   Op zichzelf geeft het Amerikaanse Octrooischrift 4, 631, 690 een multiprocessorsysteem om een kleurenbeeld te vormen uit objekten die   gedefinieerd   zijn in een hiërarchische datastruktuur. Volgens deze referentie wordt de relevantie van een bepaald objekt voor een bepaald beeldpunt bepaald in een top-down stap, omdat immers 

 <Desc/Clms Page number 3> 

 
 EMI3.1 
 voor alle beeldpunten een afbeelding gevonden moet worden. Volgens de onderhavige uitvinding hoeven alleen voor de variabele incrementele objekten die inderdaad gewijzigd zijn de veranderingen aan de incrementele objekten bepaald te worden. 



  Uiteraard dikteert deze strategie ook de opbouw van de objektstruktuur, waarin dan elk objekt een verwijzing moet hebben naar het naasthogere niveau. Een ander verschil met de referentie is dat laatstgenoemde werkt met bounding-boxes, die de afmeting van een objekt aangeven en waardoor de relevantie voor een bepaald beeldpunt wordt aangegeven. Volgens de uitvinding worden de hiërarchische relaties veeleer middels vergelijkingen gedefiniëerd. Dit realiseert toepasbaarheid op een veel groter scala van objekten en gebruikersinteraktiesystemen. 



  De uitvinding voert het bijwerken uit middels een stelsel van vergelijkingen, waarbij de aard van dit stelsel geheel willekeurig is. De uitvinding is in het bijzonder demand-driven, waarbij juist die berekeningen worden uitgevoerd welke nodig zijn voor het produceren van de juiste gebruikersinformatie, en binnen de beperkingen die gegeven zijn door de aard van de objektstruktuur, en niet meer berekeningen of minder berekeningen. De vergelijkingen geven aan in hoeverre de consistentie weer hersteld moet worden. Als een objekt inconsistent is, zoekt het systeem uit welke objekten op hoger niveau het veranderde objekt gebruiken, en op het desbetreffende hogere niveau wordt ook de relevantie bepaald. De struktuur van deze callers zal nader worden uitgelegd. Pas na dit uitzoeken wordt het bijwerken geëffektueerd. 



  Volgens een voorkeursuitvoering wordt, uitgaande van een van een wijziging van een variabel objekt, een aan de voet van de hiërarchie gelegen deel door direkte calling vanuit genoemde wijziging wordt bijgewerkt, en waarbij een grens tussen de struktuur der incrementele objekten en het direkt bijgewerkte deel gevormd door variabele incrementele objekten. Daarbij wordt de grens tussen de struktuur der inkrementele objekten en het direkt bijgewerkte deel gevormd door variabele incrementele objekten. In sommige gevallen kan deze laatste opzet een versnelling geven, mits de kans klein is dat te weinig of juist te veel operaties worden uitgevoerd, in zo een geval waar de koppeling direkt is tussen zo'n primair variabel objekt, en de ermee direkt verbonden sekundaire variabele objekten. Voor het deel van de struktuur wordt dan de basisaanpak volgens de uitvinding gebruikt. 



  De uitvinding betreft mede een rekenmachine voorzien van een systeem 

 <Desc/Clms Page number 4> 

 voor automatische consistentieherstelling na een gebruikersinteraktie op basis van het voorgaande. Verdere voordelige aspekten van de uitvinding worden gereciteerd in onderconclusies. De opslag van de respektievelijke objekten in het rekenmachinegeheugen kan bevatten een waardeveld, een callerlijst, een environmentveld, een evaluatorveld, en een ophefveld,   een   en ander voor zover noodzakelijk. 



  KORTE   BESCHRIJVING   VAN DE TEKENING
Deze en andere aspekten en voordelen van de uitvinding worden nader uitgelegd aan de hand van de navolgende beschrijving van de voorkeursuitvoeringen, en in het bijzonder de aangehangen tekening die in de respektieve Figuren het volgende toont :
Figuur 1 een algemeen blokdiagram van een rekenmachine ;
Figuur 2 het traditioneel bijwerken van een weergave ;
Figuur 3 een notatievoorbeeld voor een incrementeel objekt ;
Figuur 4 idem voor een variabel objekt ;
Figuur 5 idem voor een zijeffekt-inkrementeel objekt ;
Figuur 6 het bijwerken van een weergave volgens de uitvinding. 



  BESCHRUVING VAN EERDERE TECHNIEKEN
Figuur geeft 1 een algemeen blokdiagram van een rekenmachine. Daarbij is onderscheid gemaakt tussen de verschillende funkies, die in de praktijk anders over de samenstellende subsysteme verdeeld kunnen zijn. In dit principe-diagram zijn er slechts drie funkies. Daar is in de eerste plaats het dataverwerkende deel, in het algemeen de processor 20. Deze ontvangt gebruikersinvoer uit het schematisch aangegeven toetsenbord 22. Andere gebruikersinformatie kan worden toegevoerd middels een muis, een spraak-ingavekanaal, zacht toetsenbord en andere middelen, hetgeen op zichzelf geen deel uitmaakt van de uitvinding. Voorts geeft de processor gebruikersinformatie af aan het schematisch aangegeven beeldscherm met bijbehorende stuurelektronica 24.

   Andere gebruikersinformatie kan worden afgegeven middels een spraakuitgavekanaal, losse indikatoren, enzovoorts, maar ook dat maakt op zichzelf geen deel uit van de uitvinding. Het gebruikersinteraktiesysteem bestaat in abstrakte zin uit het geheel van organisaties volgens welke de ingegeven en uit te geven informaties 

 <Desc/Clms Page number 5> 

 kunnen samenwerken met elkaar en met de uitvoering van de dataverwerking. In het volgende zal alleen besproken worden hoe een per toetsenbord ingegeven opdracht vertaald wordt in het bijwerken van het weergegeven beeld. 



   Figuur 2 geeft het traditioneel bijwerken van een weergave. In dit abstrakte plaatje wordt de datastruktuur door een driehoek 26 aangegeven, en het scherm door indikatie 24 ; in de datastruktuur zijn objekten verbonden door hiërarchische relaties, waarbij elke relatie bestaat uit een koppeling tussen   een   of meer objekten op een bepaald niveau en   een   of meer objekten op een naasthoger niveau of omgekeerd. Daarbij kunnen verschillende hiërarchische verbindingen tussen twee objekten dezelfde aantallen of verschillende aantallen deelverbindingen bevatten. Nu is verondersteld dat op een laagste niveau een primair variabel objekt wordt gemodificeerd, hetgeen is gesymboliseerd door de pijl 32.

   Dit kan velerlei betekenen : een objekt kan worden toegevoegd, verwijderd, verplaatst, en ook zijn logische relaties tot andere objekten kunnen worden gewijzigd (toegevoegd, opgeheven, geassigneerd aan een ander objekt, waarbij de verandering in de relatie ook een ander niveau in de hierarchie kan betekenen, zowel voor het primair variabele objekt zelf als voor de relatie). De gegeven opsomming is niet limitatief. Klassiek wordt nu de consistentie bottom-up hersteld, volgens de richting van de pijl 28. Daarbij is de hiërarchische relatie van de objektstruktuur impliciet in het programma aanwezig doordat de inverse relaties tussen de verschillende objekten in dat programma expliciet gemaakt is.

   Tijdens de uitvoering wordt dus geen onderzoek naar de relaties gedaan, maar wordt datgene wat geëxpliciteerd is, direkt uitgevoerd : dat betreft dus het bijwerken van de telkens naasthogere sekundair variabele objekten. De invloed van dit bijwerken is aangegeven door het donker getekende gebied. Als het bijwerken een objekt ontmoet dat geen verandering behoeft te ondergaan, dan worden toch alle verder geëxpliciteerde veranderingen afgewerkt. Dit gebeurt ook als een objekt ontmoet wordt dat voor de afbeelding niet relevant is. Tenslotte zijn alle noodzakelijke veranderingen aangebracht en is de gehele weergave in zijn nieuwe gestalte gerealiseerd. Het kan nu zijn dat het bijwerken overbodig is, omdat het geen effekt heeft op de weergave : het kan op een hoger niveau blijken dat de representaties van het objekt bijvoorbeeld buiten beeld vallen.

   Anderzijds kan op een hoger niveau blijken dat veranderingen op een lager niveau van de hierarchie niet nodig blijken, terwijl op een hoger niveau alsnog invloed uitgeoefend zou worden. In dit laatste geval moet de klassieke werkwijze alles toch 

 <Desc/Clms Page number 6> 

 expliciteren, waaruit blijkt dat het al heel   waarschijnlijk   is dat daarbij fouten worden gemaakt. 



  GEDETAILLEERDE BESCHRIJVING VAN DE VOORKEURSUITVOERING
Volgens de uitvinding wordt niet alleen automatisch de consistentie van de uitgegeven gebruikersinformatie hersteld, maar zelfs de consistentie van de gehele datastruktuur van een applikatie, voor zover van belang voor de uit te geven gebruikersinformatie, in het algemeen dus het beeldscherm. In zo'n datastruktuur worden consistentierelaties tussen verschillende objekten weergegeven door vergelijkingen, bijvoorbeeld door   a=fl (b, c).   Deze vergelijking maakt deel uit van een hiërarchische struktuur, door middel van verdere vergelijkingen, bijvoorbeeld   b=f2 (d, e) ; g=f3 (a, h) ; k=f4 (h, c, e). Daarbij   is ook de afbeelding, of algemener de weergave,   gedefinieerd   als funktie van de objekten. Het stelsel vergelijkingen kan direkt geprogrammeerd worden.

   Een andere implementatie is met behulp van een formalisme voor dit stelsel wordt opgezet, en dat de machine een vertaler daarvoor bevat. Als dus de consistentie uiteindelijk hersteld is, is ook de weergave conform de datastruktuur. 



  Als de waarde van b of c verandert, moet de waarde van a opnieuw berekend worden. 



  Als door een operatie bijvoorbeeld de waarde van b verandert, moet de operatie die b veranderde, ook de waarde van a opnieuw bijwerken. Dit betekent dat de programmeur niet zozeer de natuurlijke consistentierelatie implementeert, als wel een inversie daarvan : de vergelijking voor a verwijst immers niet naar expressies van hoger niveau, waarin objekten voorkomen welker waarde bepaald wordt door de waarde van a. Met de hieronder beschreven techniek wordt slechts de relatie a=f (b, c) beschreven en met een bepaalde administratie bijgehouden of de uitdrukkingen waarin a   voorkomt   consistent zijn of niet. Het verschil met de traditionele aanpak blijkt duidelijk uit vergelijken van de Figuren 2 en 6. De bovengenoemde administratie wordt uitgelegd aan de hand van Figuren 3 tot 5. De consistentie wordt nu automatisch hersteld door zogenoemde incrementele evaluatie.

   Hierbij wordt elk objekt in de datastruktuur, dus bovengenoemde a... k, voorzien van extra gegevens. In de eerste plaats zijn er incrementele objekten, dat zijn objekten waarvan de waarde door een expressie zoals boven gegeven is, dus a, b, g, k. In de tweede plaats zijn er variabele incrementele objekten, waarvoor niet zo'n expressie bestaat, dus   c, d, e, f, h,   maar waarvan de waarde 

 <Desc/Clms Page number 7> 

 
 EMI7.1 
 mag worden gewijzigd, bijvoorbeeld door een call-back funktie, direkt door ingrijpen van de gebruiker, of anderszins. Door dit wijzigen worden de incrementele objekten inconsistent, en moeten ze worden herberekend tot de consistentie weer hersteld is. 



  Figuur 3 geeft een notatievoorbeeld voor een incrementeel objekt. Het werkelijk in de datastruktuur aanwezige formaat wordt niet gespecificeerd, omdat de uitvinding daardoor niet wordt beïnvloed. Ten eerste heeft dit objekt een of andere identifikatie, bijvoorbeeld een naam of een adres, die kan worden aangeroepen en door een pijl Ident is aangegeven. Verder heeft het objekt een waarde waarde kan genoteerd zijn op elke manier die overeenstemt met het gebruik van het objekt in kwestie, hetgeen de deskundige genoegzaam bekend is. Voorts bevat het objekt in een callerlijst een aantal"callers", dat zijn identifikaties van andere objekten welke de huidige waarde van het onderhavige objekt in de laatstgeldige consistente toestand gebruikten voor het berekenen van hun eigen waarde.

   Een incrementeel objekt is dan en slechts dan lokaal consistent wanneer zijn verzameling"callers"niet leeg is (lokale consistentie hoeft nog niet globale consistentie van de hele datastruktuur te betekenen). In de bottom up-fase worden de callers (c) verwijderd, zoals in de annex meer uitgebreid wordt aangegeven. 



  De waarde van het incrementele objekt wordt berekend (geëvalueerd) middels de mede in het objekt gespecificeerde expressie eval. De verzameling daarvoor noodzakelijke objekten is de environment env. De bovengenoemde voorbeelden voor de expressies maken dit direkt duidelijk. Met a=fl env De waarde van een incrementeel objekt b ten behoeve van een objekt a wordt verkregen door het executeren van de expressie b. geeft de"punt"aan dat het navolgende deel van de expressie een attribuut van het voorgaande deel is. Zoals zal blijken kan een enkele expressie een reeks door punten gelieerde delen bevatten. Hierbij wordt a toegevoegd aan b. en is direkt hierna b consistent. Als a consistent is zal a. niet opnieuw f berekenen, maar direkt de waarde a. De vertaling kan handmatig zijn, dan wel automatisch. 



  Figuur 4 geeft een notatievoorbeeld voor een variabel incrementeel objekt. Dit is deels overeenkomstig met Figuur 3, maar de expressie om de waarde te bepalen is afwezig. In dit geval wordt de waarde immers bepaald door een call-back funktie, of direkt door een gebruikersaktie. Een verdere mogelijkheid is dat het systeem zelf een waardeverandering initieert, bijvoorbeeld door een ingebouwde instabiliteit een simulatiesysteem voor moleculen kan bijvoorbeeld de inherente warmtebeweging mede 

 <Desc/Clms Page number 8> 

 ingebouwd hebben : deze blijft dan voortdurend zichtbaar. Er is in dat geval dus geen inconsistentie mogelijk op dit niveau. Het is uiteraard mogelijk dat de objektstruktuur wordt veranderd, bijvoorbeeld doordat een gebruiker objekten creëert. Het vernietigen van objekten is niet direkt toegestaan.

   Eventueel kan dat worden gedaan met een techniek van   zogenoemde "garbage collectie" die   buiten het kader van de uitvinding valt. 



   Het is mogelijk dat de direkte herberekening van een objekt goedkoper is dan een administratie met behulp van de gegeven struktuur voor incrementele objekten. 



  In dat geval kan daarvoor gebruik gemaakt worden van het definieren van een closure objekt (Clos). Dit laatste objekt heeft de struktuur van een incrementeel objekt, maar zonder de administratie van callers en value : er is dus slechts een environmentveld en een evaluatorveld. Daaruit volgt direkt dat het nooit lokaal consistent is in de betekenis dat de waarde niet meer bepaald hoeft te worden. Doordat er geen callerlijst is, kan de consistentie niet gedetekteerd worden. Als nu een zeker incrementeel objekt a de evaluatie van een Closure objekt b uitvoert, welke op zijn beurt een incrementeel objekt c evalueert, zal niet b, maar a aan de verzameling callers van c worden toegevoegd. 



   Figuur 5 geeft een notatievoorbeeld voor een zogenaamd zij-effektinkrementeel objekt ; dit kan bijvoorbeeld gebruikt worden voor het representeren van een element dat op het beeldscherm moet worden weergegeven. Als dit weergegeven element op zichzelf statisch is, en tot een ander element moet worden bijgewerkt, dan moet in feite eerst de oude representatie worden weggehaald, en daaropvolgend pas de nieuwe worden gevormd. Een verdere bijzonderheid is dat het betreffende objekt geen waarde behoeft te hebben. Daarom bevat dit objekt als getoond een ophef-veld, dat steeds wordt geëxecuteerd wanneer het betreffende incrementele objekt inconsistent geraakt is. 



   Figuur 6 geeft het bijwerken van een weergave volgens de uitvinding. 



  Evenals in Figuur 2 is er een beeldscherm 24, een datastruktuur 34, en een initiële aktie 32, die een direkte modifikatie 40 van een primair variabel objekt ten gevolge heeft, welke op dezelfde manier geimplementeerd kan worden als volgens Figuur 2. Daardoor 
 EMI8.1 
 kunnen dus direkt een aantal (nul of meer) sekundaire variabele objekten door i gemodificeerd worden. Het gebied waar zieh deze sekundaire variabele objekten bevinden reikt tot een grensgebied dat als een band 42 is aangegeven. Vanaf deze grens 

 <Desc/Clms Page number 9> 

 wordt nu de werkwijze van de uitvinding geimplementeerd. Ter plaatse van deze grens 42 worden de direkt gemodificeerde secundair variabele objekten genoteerd als variabele   inkrementele   objekten, op de eerder beschreven manier.

   Daarna wordt eerst in een bottom-up signaleringsstap gedetekteerd tussen welke objekten waarde-inconsistenties ontstaan voor de incrementele objekten (dat wil dus zeggen de objekten die niet op het laagste niveau van de band 42 zijn gelegen) : de uitkomst van de signaleringsstap is een ja/nee grootheid. Dit gebeurt doordat elk gemodificeerd objekt voor elke caller in zijn callerlijst het bijbehorende objekt aanroept, en bovendien de betreffende caller verwijdert. Dit eventueel achtereenvolgende aanroepen van meerdere callers is voor het originerende objekt een ondeelbare operatie, en daarna is de callerlijst dus leeg. Dit gaat vervolgens evenzo voor de objekten die middels een caller vanuit een hiërarchisch lager objekt zijn aangeroepen, totdat de top van de datastruktuur is bereikt. Daarna zijn de inconsistenties bekend.

   Na het signaleren van de inconsistenties wordt voor alle objekten die voor de uit te geven gebruikersinformatie relevant zijn, een herberekening uitgevoerd met behulp van de vergelijkingen die de respektievelijke consistentierelaties specificeren. Dit laatste kan door een topdown aanpak zoals door de pijl 36 is aangegeven. De volgorde van de respektievelijke herberekeningen is op zichzelf willekeurig, maar de organisatorische samenhang is top-down, omdat zó bepaald wordt welke consistenties hersteld moeten worden. De overige kunnen gevoeglijk blijven bestaan. Daarbij is voor een opnieuw te berekenen objekt steeds aan te geven wanneer de daarvoor onderliggende berekeningen geheel gereed zijn ; dan worden telkens de 
 EMI9.1 
 bijbehorende callers opnieuw ingevoerd, zoals uit de annex ook blijkt.

   In het bijzonder i begint de bottom-up fase bij die variabele incrementele objekten waarvan de waarde is veranderd. De top-down fase begint bij consistentieherstelling van direkt weergegeven objekten. In de hierna volgende annex worden achtereenvolgens gegeven de bottom-up procedure, de top-down procedure, idem voor een Closure element, idem voor een zijeffekt incrementeel objekt. 

 <Desc/Clms Page number 10> 

 
 EMI10.1 
 



  ANNEX bottom-up makeincons (x) : each o e x. makeincons x. end &num;inconsistent and x. dat is de lege verzameling top-down eval (x, : = if x. then x. + {y} return (x. x. g (x. env. a. eval (x. env. x. env. b. eval (x. env. x. env. c. eval (x. env. 



  ) x. + {y} return (x. 



  &num;x is consistent with a, x. 



  Closure objekt eval (x, : (x. env. a. eval (x. env. x. env. b. eval (x. env. x. env. c. eval (x. env. 



  ) 

 <Desc/Clms Page number 11> 

 :Zij-effekt incrementeel objekt, g produceert het effekt make¯incons (x) : = x. undo () ; verder hetzelfde als bij een normaal incrementeel objekt eval   (x, y)   
 EMI11.1 
 : = if callers == {} then x. + {} g (x. env.   a.   eval (x.   env. a, x),   x. env. b. eval (x.   env. b, x),   x. env.   c.   eval (x.   env. c, x) ;  

Claims (7)

  1. Conclusies 1. Werkwijze voor het in een rekenmachine na een gebruikersinteraktie automatisch herstellen van consistentie in een weergavestruktuur van informatie, die is gebaseerd op een verzameling objekten in derzelver hiërarchische objektstruktuur, waarbij de gebruikersinteraktie een of meer primaire variabele objekten modificeert, en daarop binnen de objektstruktuur sekundaire variable objekten worden bijgewerkt, met het kenmerk dat de objektstruktuur bevat een netwerk van consistentierelaties die elk een of meer incrementele objekten specificeren als funktie van een of meer incrementele objekten en/of variabele incrementele objekten op een naastlager hiërarchisch niveau, en waarbij de gebruikersinteraktie een of meer zulke variabele inkrementele objekten op een laagste niveau modificeert,
    dat eerst in een bottom-up signaleringsstap een verzameling van waardeinconsistenties voor de incrementele objekten wordt gesignaleerd, en dat daarna in een top-down bijwerkstap op grond van elk element van die verzameling de waarde van het bijbehorend incrementele objekt wordt bijgewerkt op grond van eventuele waardeverandering van de bijbehorende specificerende variabele incrementele objekten en/of incrementele objekten op lager hierarchisch niveau.
  2. 2. Werkwijze volgens conclusie 1, waarbij tenminste in hoofdzaak elk van genoemde consistentierelaties door een bijbehorende vergelijking wordt uitgedrukt.
  3. 3. Werkwijze volgens conclusie 1 of 2, waarbij uitgaande van een wijziging van een variabel objekt, een aan de voet van de hierarchie gelegen deel door direkte calling vanuit genoemde wijziging wordt bijgewerkt, en waarbij een grens tussen de struktuur der incrementele objekten en het direkt bijgewerkte deel gevormd door variabele incrementele objekten.
  4. 4. Werkwijze volgens conclusie 1, 2 of 3, waarbij incrementele objekten bevatten een waardeveld, een callerlijst, een environmentveld en een evaluatorveld, en variabele incrementele objekten slechts een waardeveld en een callerlijst.
  5. 5. Werkwijze volgens conclusie 4, waarbij een closure objekt slechts bevat een environmentveld en een evaluatorveld.
  6. 6. Werkwijze volgens conclusie 4 of 5, waarbij een zij-effekt-incrementeel objekt slechts bevat een ca11erlijst, een environmentveld, een evaluatorveld en een ophef- (undo-) veld.
  7. 7. Rekenmachine voorzien van een systeem voor automatische consistentieherstelling na een gebruikersinteraktie volgens een der conclusies 1 tot en <Desc/Clms Page number 13> met 6, bevattende weergavemiddelen voor het weergeven van informatie op grond van een verzameling objekten in derzelver hiërarchische objektstruktuur van consistentierelaties welke elk als funktie van een of meer variabele incrementele EMI13.1 objekten op zeker hiërarchisch niveau een of meer incrementele objekten specificeren op i een naasthoger hiërarchisch niveau, en waarbij de gebruikersinteraktie een of meer zulke variabele incrementele objekten op een laagste niveau modificeert, met het kenmerk dat genoemd systeem een tweestapsbesturing bevat,
    en wel om in een eerste bottom-up signaleringsstap een verzameling van waardeinconsistenties voor de incrementele objekten wordt te signaleren, en in een tweede daarop volgende top-down bijwerkstap op grond van elk element van die verzameling de waarde van het bijbehorend incrementeel objekt op grond van eventuele waardeverandering van de bijbehorende specificerende variabele incrementele objekten en/of incrementele objekten op lager hiërarchisch niveau bij te werken.
BE9301002A 1993-09-24 1993-09-24 Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling. BE1007551A3 (nl)

Priority Applications (12)

Application Number Priority Date Filing Date Title
BE9301002A BE1007551A3 (nl) 1993-09-24 1993-09-24 Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.
DE69427008T DE69427008T2 (de) 1993-09-24 1994-09-16 Verfahren zur automatischen Wiederherstellung der Konsistenz einer hierarchischen Objektstruktur in einem Computer nach Bedienereingriff und Computer mit einem derartigen System
SG1996008933A SG44869A1 (en) 1993-09-24 1994-09-16 Method for automatically restoring consistency in a hierarchical object structure in a computer after a user interaction and computer comprising such a system for automatic consistency restoration
EP94202669A EP0646862B1 (en) 1993-09-24 1994-09-16 Method for automatically restoring consistency in a hierarchical object structure in a computer after a user interaction, and computer comprising such a system
MYPI94002528A MY138242A (en) 1993-09-24 1994-09-22 Method for automatically restoring consistency in a hierarchical object structure in a computer after a user interaction, and computer comprising such a system for automatic consistency restoration
US08/311,221 US5596701A (en) 1993-09-24 1994-09-23 Method for automatically restoring consistency in a hierarchical object structure in a computer after a user interaction, and computer comprising such a system for automatic consistency restoration
KR1019940023931A KR100348670B1 (ko) 1993-09-24 1994-09-23 사용자대화후에컴퓨터의계층적객체구조의일관성을자동복원하는방법및자동일관성복원시스템을구비한컴퓨터
JP6230087A JPH07200280A (ja) 1993-09-24 1994-09-26 階層オブジェクト構造の回復法
TW084101630A TW359786B (en) 1993-09-24 1995-02-22 Method for automatically restoring consistency in a hierarchical objects structure in a computer after a user interaction, and computer comprising such a system for automatic consistency restoration
US08/755,665 US5731815A (en) 1993-09-24 1996-11-25 Method for automatically restoring consistency in a hierarchical object structure in a computer after a user interaction, and computer comprising such a system for automatic consistency restoration
HK98114084A HK1012745A1 (en) 1993-09-24 1998-12-19 Method for automatically restoring consistency in a hierarchical object structure in a computer after a user interaction, and computer comprising such a system
JP2005339810A JP3946233B2 (ja) 1993-09-24 2005-11-25 画像表示システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
BE9301002A BE1007551A3 (nl) 1993-09-24 1993-09-24 Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.

Publications (1)

Publication Number Publication Date
BE1007551A3 true BE1007551A3 (nl) 1995-08-01

Family

ID=3887362

Family Applications (1)

Application Number Title Priority Date Filing Date
BE9301002A BE1007551A3 (nl) 1993-09-24 1993-09-24 Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.

Country Status (10)

Country Link
US (2) US5596701A (nl)
EP (1) EP0646862B1 (nl)
JP (2) JPH07200280A (nl)
KR (1) KR100348670B1 (nl)
BE (1) BE1007551A3 (nl)
DE (1) DE69427008T2 (nl)
HK (1) HK1012745A1 (nl)
MY (1) MY138242A (nl)
SG (1) SG44869A1 (nl)
TW (1) TW359786B (nl)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1007551A3 (nl) * 1993-09-24 1995-08-01 Philips Electronics Nv Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.
KR20000015042A (ko) * 1998-08-26 2000-03-15 김영환 전전자교환기의 대용량 저장장치의 제어방법
US9006175B2 (en) 1999-06-29 2015-04-14 Mannkind Corporation Potentiation of glucose elimination
ES2425392T3 (es) 2002-03-20 2013-10-15 Mannkind Corporation Cartucho para un aparato de inhalación
ATE486064T1 (de) 2004-08-20 2010-11-15 Mannkind Corp Katalyse der diketopiperazinsynthese
PL1791542T3 (pl) 2004-08-23 2015-11-30 Mannkind Corp Sole diketopiperazyny do dostarczania leków
AU2006290870B2 (en) 2005-09-14 2013-02-28 Mannkind Corporation Method of drug formulation based on increasing the affinity of active agents for crystalline microparticle surfaces
EP2497484A3 (en) 2006-02-22 2012-11-07 MannKind Corporation A method for improving the pharmaceutic properties of microparticles comprising diketopiperazine and an active agent
US8485180B2 (en) 2008-06-13 2013-07-16 Mannkind Corporation Dry powder drug delivery system
DK2570147T3 (da) 2008-06-13 2018-01-29 Mannkind Corp Tørpulverinhalator og system til lægemiddelindgivelse
KR101628410B1 (ko) 2008-06-20 2016-06-08 맨카인드 코포레이션 흡입 활동에 관한 실시간 프로파일링을 위한 대화형 장치 및 방법
TWI532497B (zh) 2008-08-11 2016-05-11 曼凱公司 超快起作用胰島素之用途
US8314106B2 (en) 2008-12-29 2012-11-20 Mannkind Corporation Substituted diketopiperazine analogs for use as drug delivery agents
CA2754595C (en) 2009-03-11 2017-06-27 Mannkind Corporation Apparatus, system and method for measuring resistance of an inhaler
US8734845B2 (en) 2009-06-12 2014-05-27 Mannkind Corporation Diketopiperazine microparticles with defined specific surface areas
CA2778698A1 (en) 2009-11-03 2011-05-12 Mannkind Corporation An apparatus and method for simulating inhalation efforts
RU2531455C2 (ru) 2010-06-21 2014-10-20 Маннкайнд Корпорейшн Системы и способы доставки сухих порошковых лекарств
MY180552A (en) 2011-04-01 2020-12-02 Mannkind Corp Blister package for pharmaceutical cartridges
WO2012174472A1 (en) 2011-06-17 2012-12-20 Mannkind Corporation High capacity diketopiperazine microparticles
WO2013063160A1 (en) 2011-10-24 2013-05-02 Mannkind Corporation Methods and compositions for treating pain
CA2878457C (en) 2012-07-12 2021-01-19 Mannkind Corporation Dry powder drug delivery systems and methods
US9946233B2 (en) * 2012-09-28 2018-04-17 Siemens Schweiz Ag Apparatus and methods for providing building automation system data updates to a web client
WO2014066856A1 (en) 2012-10-26 2014-05-01 Mannkind Corporation Inhalable influenza vaccine compositions and methods
BR112015023168B1 (pt) 2013-03-15 2021-08-10 Mannkind Corporation Composição de 3,6-bis(n-fumaril-4-aminobutil)-2,5-dicetopiperazina cristalina, método de produção de partículas de 3,6-bis(n-fumaril-4-aminobutil)-2,5-dicetopiperazina e uso de uma composição de dicetopiperazina cristalina
CN114848614A (zh) 2013-07-18 2022-08-05 曼金德公司 热稳定性干粉药物组合物和方法
CA2920488C (en) 2013-08-05 2022-04-26 Mannkind Corporation Insufflation apparatus and methods
US10307464B2 (en) 2014-03-28 2019-06-04 Mannkind Corporation Use of ultrarapid acting insulin
US10561806B2 (en) 2014-10-02 2020-02-18 Mannkind Corporation Mouthpiece cover for an inhaler

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8300872A (nl) * 1983-03-10 1984-10-01 Philips Nv Multiprocessor-rekenmachinesysteem voor het tot een gekleurde afbeelding verwerken van in een hierarchische datastruktuur gedefinieerde objekt-elementen.
US5179718A (en) * 1988-11-29 1993-01-12 International Business Machines Corporation Method of filing having a directed relationship through defining a staple relationship within the context of a folder document
CA1323450C (en) * 1989-02-06 1993-10-19 Larry K. Loucks Depth buffer clipping for window management
CA1323448C (en) * 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
JPH02224027A (ja) * 1989-02-27 1990-09-06 Hitachi Ltd 故障復旧支援システム
US4953106A (en) * 1989-05-23 1990-08-28 At&T Bell Laboratories Technique for drawing directed graphs
JPH03102428A (ja) * 1989-09-18 1991-04-26 Hitachi Ltd 高級言語のコンパイラの手続き呼出し処理方式
JPH03252812A (ja) * 1990-03-02 1991-11-12 Hitachi Ltd プログラム実行状況表示方法
US5226117A (en) * 1990-05-15 1993-07-06 International Business Machines Corporation Method for simultaneous update and change in parent and child windows
JPH0756628B2 (ja) * 1990-10-22 1995-06-14 富士ゼロックス株式会社 グラフィカル・ユーザインターフェースの編集装置
JP2556189B2 (ja) * 1990-10-29 1996-11-20 富士ゼロックス株式会社 オブジェクト指向計算機システムにおけるメソッド起動装置
JPH04191941A (ja) * 1990-11-27 1992-07-10 Hitachi Ltd オブジェクト管理システム
US5276775A (en) * 1990-12-07 1994-01-04 Texas Instruments Inc. System and method for building knowledge-based applications
US5414801A (en) * 1991-06-11 1995-05-09 Virtus Corporation Computerized method and apparatus using containment relationships to represent objects in a three-dimensional space, and for moving therethrough
US5428554A (en) * 1992-09-03 1995-06-27 International Business Machines Corporation Hierarchical graph analysis method and apparatus
US5430870A (en) * 1992-10-13 1995-07-04 Sun Microsystems, Inc. Saving and restoring traversal state attributes of a directed acyclic graph structure network for a parent structure when it invokes a child structure for traversal
BE1007551A3 (nl) * 1993-09-24 1995-08-01 Philips Electronics Nv Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ELLIS H.J.C ET AL.: "Extending the Behavioral Capabilities of the Object-Oriented Paradigm with an Active Model of Propagation", 1990 ACM EIGHTEENTH ANNUAL COMPUTER SCIENCE CONFERENCE PROCEEDINGS,, 22 February 1990 (1990-02-22), WASHINGTON, DC, USA, pages 319 - 325 *
JARVINEN H. ET AL.: "Object-Oriented Specification of Reactive Systems", IEEE PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, CAT. NR. 90CH2815-9,, 30 March 1990 (1990-03-30), NICE, FRANCE, pages 63 - 71 *
SHAKUNTALA MIRIYALA ET AL.: "Visualizing Actor Programs Using Predicate Transition Nets", JOURNAL OF VISUAL LANGUAGES AND COMPUTING, vol. 3, no. 2, June 1992 (1992-06-01), pages 195 - 220 *

Also Published As

Publication number Publication date
JP3946233B2 (ja) 2007-07-18
MY138242A (en) 2009-05-29
SG44869A1 (en) 1997-12-19
DE69427008D1 (de) 2001-05-10
HK1012745A1 (en) 1999-08-06
KR100348670B1 (ko) 2002-11-29
US5596701A (en) 1997-01-21
DE69427008T2 (de) 2001-10-18
US5731815A (en) 1998-03-24
JPH07200280A (ja) 1995-08-04
KR950009429A (ko) 1995-04-24
EP0646862A1 (en) 1995-04-05
EP0646862B1 (en) 2001-04-04
TW359786B (en) 1999-06-01
JP2006114055A (ja) 2006-04-27

Similar Documents

Publication Publication Date Title
BE1007551A3 (nl) Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.
CN108073981A (zh) 处理卷积神经网络的方法和设备
JP6636097B2 (ja) 空間のビジュアルモデルレイアウトを作成する方法、装置およびデバイス
JP2005018591A (ja) 位相判断装置、分解可能形状生成装置、構造メッシュ生成装置、位相判断方法、分解可能形状生成方法、および該位相判断方法を実行させるためのコンピュータ実行可能なプログラム、分解可能形状生成方法を実行させるためのコンピュータ実行可能なプログラム並びに構造メッシュ生成システム
US7042467B1 (en) Compositing using multiple backdrops
CN101051364A (zh) 一种在办公自动化中基于规则约束的自适应流程方法
US8806138B1 (en) Dynamic dependencies and parameterizations for execution and caching
US9495798B2 (en) Method and device for producing a finite element model
EP0607136A1 (en) Graphics output system with bounded updating
CN113255289A (zh) 一种文案排版布局的方法及***
JPH0439112B2 (nl)
JP3369734B2 (ja) 3次元計算機支援設計装置及び方法
WO2023109648A1 (zh) 一种模型-代码同步方法
AU2019200269B2 (en) An interactive user interface and its corresponding engine for improving image completion quality
JP2891322B2 (ja) 円滑テキスト表示システム
US20220392127A1 (en) Image annotation method
CN107103636B (zh) 多表示相关图的***和方法
CN114995806A (zh) 一种可被集成的高扩展性页面设计方法及***
CN112182458B (zh) 一种页面数据处理方法及装置
JP2019139268A (ja) プログラム解析方法、プログラム解析装置およびプログラム解析プログラム
Kosiol et al. A Generalized Concurrent Rule Construction for Double-Pushout Rewriting
JP6773179B1 (ja) 変更出力装置、変更出力方法および変更出力プログラム
US8146051B2 (en) Method and computer program product for providing a representation of software modeled by a model
JPH0268622A (ja) プログラム特殊化方式
Meij A metamodeling approach to incremental model changes

Legal Events

Date Code Title Description
RE20 Patent expired

Owner name: *KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20130924