DE19926370A1 - System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten - Google Patents

System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten

Info

Publication number
DE19926370A1
DE19926370A1 DE19926370A DE19926370A DE19926370A1 DE 19926370 A1 DE19926370 A1 DE 19926370A1 DE 19926370 A DE19926370 A DE 19926370A DE 19926370 A DE19926370 A DE 19926370A DE 19926370 A1 DE19926370 A1 DE 19926370A1
Authority
DE
Germany
Prior art keywords
documentation
search engine
web server
software components
version management
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
DE19926370A
Other languages
English (en)
Inventor
Axel Uhl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB Research Ltd Switzerland
Original Assignee
ABB Research Ltd Switzerland
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 ABB Research Ltd Switzerland filed Critical ABB Research Ltd Switzerland
Priority to DE19926370A priority Critical patent/DE19926370A1/de
Publication of DE19926370A1 publication Critical patent/DE19926370A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung bezieht sich auf ein System zur Dokumentation und Archivierung wiederverwendbarer Software-Komponenten und zum Auffinden der Software-Komponenten über ein Netzwerk, insbesondere das Internet. Zur Verbesserung der Auffindbarkeit wird ein System vorgeschlagen, bei dem DOLLAR A a) ein Versionenverwaltungssystem (VVS) vorhanden ist, das dafür eingerichtet ist, in einem ersten Dateisystem (DS1) Dateien (VD) in unterschiedlichen Versionen und zusätzlich den jeweils aktuellen Stand der jeweiligen Datei (VD) als Master-Kopie (MD) zu halten, DOLLAR A b) an einer zentralen Stelle ein Dokumentationsgenerierungssystem (DGS) vorhanden ist, das dafür eingerichtet ist, aus den Master-Kopien (MD) HTML-Dokumente (WP) zu erzeugen und in ein zweiten Dateisystem (DS2) abzulegen, DOLLAR A c) eine Suchmaschine (SM) vorhanden ist, die dafür eingerichtet ist, jeweils nach einer solchen Dokumentationsgenerierung einen zur Menge der dabei erzeugten HTML-Dokumente (WP) gehörigen Index (IN) zu erstellen, und DOLLAR A d) ein Webserver (WS) vorhanden ist, der mittels der Suchmaschine (SM) eine Anfrage an einen Index (IN) ermöglicht, und der als Suchergebnis Verweise auf die die Suchkriterien erfüllenden HTML-Dokumente (WP) liefert, die durch Auswahl abrufbar sind.

Description

Die Erfindung bezieht sich auf ein System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten.
Wiederverwendung von Software-Komponenten spielt eine zentrale Rolle beim Soft­ ware-Entwurf. Die Herausforderungen lassen sich im wesentlichen in zwei Gruppen klassifizieren. Auf der einen Seite muß beim Entwurf von Komponenten deren Wie­ derverwendbarkeit vorbereitet werden. Auf der anderen Seite müssen so gewonnene Komponenten auffindbar und zugreifbar für die Wiederverwendung gemacht werden. Auf beiden Seiten entsteht ein Aufwand, der hoffnungsweise geringer ist als der bei . der Neuerstellung der betreffenden Komponente anfallende Aufwand; besonders, wenn die Zahl der Wiederverwendungen einer Komponente steigt.
In modernen Softwareentwicklungsumgebungen existieren Werkzeuge, mit denen aus dem Quellcode von Softwarekomponenten Dokumentation generiert werden kann. Beispiele für solche Werkzeuge sind javadoc, ccdoc and idldoc, die respektive HTML-Dokumentation für Java-, C/C++- und IDL-Quellcode erzeugen.
Umgebungen, in denen mehrere Entwickler Software erstellen, werden typischerwei­ se von Konfigurationsverwaltungssystemen unterstützt. Diese sorgen für die Versio­ nierung von Quellcode und Dokumenten, regeln Aspekte beim Erstellen und Konfigu­ rieren von auslieferbaren Produkten und unterstützen in der Regel eine räumlich verteilte Entwicklung. Bekannte Produkte in diesem Bereich sind z. B. ClearCase, PVCS oder Continuus.
Wiederverwendung erfolgt heute auf Basis von Software-Frameworks, -Kompo­ nenten und -Bibliotheken. Ein bei jeglicher Art der Wiederverwendung bestehendes Problem trifft auch auf diese Technologien zu: nämlich die Lösung der Frage, wie ein Entwickler, der eine Komponente, einen Algorithmus oder eine Funktionalität sucht, diese aus der Menge der in einem Unternehmen vorhandenen oder der extern kom­ merziell oder frei verfügbaren Angebote auffinden kann.
Derzeit werden kommerziell verfügbare Komponentenbibliotheken zunehmend über elektronische Vertriebswege, wie das Internet angeboten und verkauft. Die Auffind­ barkeit hängt hier von der vom Vertreiber angebotenen Beschreibung auf der zuge­ hörigen Webseite ab.
Unternehmensinterne Wiederverwendung von Softwarekomponenten gestaltet sich noch schwieriger, besonders wenn in einem Unternehmen an verschiedenen Stellen unabhängig voneinander Software entwickelt wird. Dann gibt es für die Entwickler in der Regel keine Möglichkeit, Komponenten aus anderen Projekten, Abteilungen oder Geschäftsbereichen aufzufinden, um sie in einem anderen Projekt wiederzuverwen­ den.
Information zum Thema Konfigurationsverwaltungssystem ist zu finden in:
  • a) Software Configuration Management: Coordination for Team productivity by Wayne Babich, Addison-Wesley, 1986, ISBN 0-201-10161-0
  • b) Methods and Tools for Software Configuration Management by David Whitgift, John Wiley & Sons Ltd., November 1991, ISBN 0-471-92940-9
  • c) Configuration Management: The Changing Image by Marion Kelly, McGraw-Hill, UK, 1995, ISBN 0-07-707977-9
  • d) Software Configuration Management by Ronald Berlack, Wiley Series in Software Engineering Practice John Wiley & Sons, July 1991, ISBN 0471530492
  • e) Software Configuration Management: An Investment in Product Integrity by Edward H. Bersoff, Vilas D. Henderson, Stanley G. Siegel Prentice Hall, May 1980, ISBN 0138217696
  • f) Practical Software Configuration Management: The Latenight Developer's Handbook by Tim Mikkelson & Suzanne Pherigo Prentice Hall, April 1997, ISBN 0132408546
Die Generierung von Dokumentation aus dem Source alleine genügt nicht. Sie ist dadurch nicht für alle potentiellen Verwender zugreifbar. Werkzeuge wie javadoc lie­ fern also zwar einen entscheidenden Beitrag, reichen jedoch nicht aus. Die Doku­ mentation ist nicht global auffindbar, und der Prozeß für die Generierung ist nicht ge­ regelt. Ohne diese regelmäßige und häufige Neugenerierung der Dokumentation aus den Quellen sind die entstandenen Dokumente rasch veraltet.
Weiterhin ist die Dokumentation nur dann sinnvoll, wenn zentral Anfragen, z. B. stichwortbasiert oder strukturbasiert (z. B. "alle Komponentenpaare, die eine be­ stimmte Beziehung zueinander aufweisen"), möglich sind, die dann zu den passen­ den Komponenten im Archiv führen. Heutige Lösungen bieten dies nicht.
Der Erfindung liegt daher die Aufgabe zugrunde, eine verbesserte Lösung des Pro­ blems der Auffindbarkeit wiederverwendbarer Software-Komponenten anzugeben.
Diese Aufgabe wird durch ein System zur Dokumentation, Archivierung und zum Auffinden von Software-Komponenten mit den im Anspruch 1 angegebenen Merk­ malen gelöst.
Das System basiert auf einer Zusammenführung der vier technologischen Kompo­ nenten Konfigurationsverwaltungssystem, Dokumentengenerierungswerkzeug, Webserver und Suchmaschine.
Das Konfigurationsverwaltungssystem sorgt dafür, daß Sourcen aus verschiedenen Projekten von verschiedenen verteilten Standorten aus bearbeitet, gepflegt und wei­ terentwickelt werden können. Es wird dadurch möglich, an zentraler Stelle die Quellcodes zusammenzuführen.
Auf den zusammengeführten Sourcen können dann Werkzeuge zur Generierung der Dokumentation angewendet werden. Diese Werkzeuge erstellen aus der Struktur des Sourcecodes und den Kommentaren im Sourcecode Archive von HTML-Seiten, welche die Beschreibungen sämtlicher Komponenten und deren Beziehungen unter­ einander dokumentieren.
Das Archiv wird durch einen Webserver den zur Verwendung zugelassenen Ent­ wicklern bereitgestellt. Diese können die HTML-Seite durch einen gewöhnlichen Webbrowser (Netscape, Internet Explorer) abrufen.
Durch den Einsatz einer Suchmaschine auf dem erzeugten Archiv kann in regelmä­ ßigen Abständen der Archivbestand indiziert werden, so daß er für die Anfragesteller per Stichwort durchsuchbar wird. Somit können Anfragen unmittelbar interaktiv be­ antwortet werden; wobei das Anfrageergebnis im Rahmen der zwischen den Indizie­ rungsläufen liegenden Zeit korrekt und vollständig ist.
Mit gängigen Betriebssystemen ist es möglich, die Erzeugung der Dokumentation und des Suchindexes in regelmäßigen Abständen (z. B. jede Nacht) automatisch durchführen zu lassen. Somit werden die Entwickler, die wiederverwendbare Kom­ ponenten bereitstellen, von der Aufgabe entbunden, die Komponentenbeschreibung anderweitig publizieren zu müssen. Der sowieso durch den Entwicklungsprozeß vor­ geschriebene Weg, die Sourcen in das Konfigurationsverwaltungssystem einzuspie­ len, bringt somit die Verteilung und Auffindbarmachung der Komponentenbeschrei­ bung automatisch mit sich.
Die Erfindung ist zunächst allgemein anwendbar auf Umgebungen, für die folgendes zutrifft:
  • - Das Konfigurationssystem kann eine vollständige Kopie der Quellen an einem Ort zugreifbar machen. Dies ist die Voraussetzung dafür, daß die existierenden Dokumentationsgenerie­ rungswerkzeuge ihre Arbeit verrichten können. Ist diese Randbedingung nicht gegeben, so müßte ein eigens auf das Konfigurationsmanagementsystem ange­ paßtes Werkzeug zur Dokumentationsgenerierung erstellt werden.
  • - Das Dokumentationsgenerierungswerkzeug erzeugt HTML-Seiten und kann diese in einem Dateisystem persistent ablegen.
Somit können die generierten Seiten über einen Webserver zugreifbar gemacht werden.
Konkret erfüllen diese Anforderungen die vorgenannten Generierungswerkzeuge ja­ vadoc, ccdoc und idldoc, außerdem beispielsweise die Konfigurationsverwaltungssy­ steme ClearCase, Continuus, PVCS, RCS, CVS, SCCS sowie ein bei der Fa. ABB entwickeltes, auf RCS basierendes Werkzeug Xtools. Als Betriebssystem kommen alle in Frage, die einen zeitgesteuerten Batchbetrieb ermöglichen und auf denen vor­ genannte Konfigurationsverwaltungs- und Dokumentationsgenerierungswerkzeuge laufen. Hierzu zählen unter anderem sämtliche Unix-Varianten, aber auch Windows 95, 98 und NT.
Eine weitere Erläuterung des vorgeschlagenen Systems und seiner Arbeitsweise er­ folgt nachstehend anhand der Fig. 1.
Fig. 1 zeigt in schematisierter Darstellung die wesentlichen Komponenten des Sy­ stems.
Ein Konfigurations- oder Versionenverwaltungssystem VVS hält unterschiedliche Versionen von Dateien VD in einem ersten Dateisystem DS1, zusätzlich eine "Ma­ ster-Kopie" MD für alle Dateien, also jeweils die aktuellste Version, auch "Kopf" (engl. "Head") genannt.
Aus der Master-Kopie MD erzeugt ein Dokumentationsgenerierungssystem DGS HTML-Seiten WP. Dabei werden die erzeugten HTML-Dokumente WP wiederum in ein zweites Dateisystem DS2 abgelegt. DS2 kann dabei, muß aber nicht identisch mit DS1 sein.
Auf den Dokumenten WP im zweiten Dateisystem DS2 setzen nun zwei Systeme auf: zum einen ein Webserver WS, der den direkten Zugriff auf alle erzeugten Doku­ mente WP erlaubt, außerdem eine Suchmaschine SM, welche zwei Aktivitäten ver­ folgt. Zum einen erstellt die Suchmaschine SM nach jeder Dokumentationsgenerie­ rung einen Index IN. Zum anderen ist die Suchmaschine SM in den Webserver WS so eingebunden, daß eine Anfrage an den erstellten Index IN per Webzugriff möglich ist. Die Suchergebnisse werden dabei so als Webseite präsentiert, daß die gefunde­ nen Dokumente wie bei Internet-Suchmaschinen üblich als Verweise eingefügt wer­ den, die z. B. durch Anklicken direkt zum entsprechenden Dokument führen.
In einem ausgeführten erfindungsgemäßen System wurden eingesetzt:
  • - Xtools als Konfigurationsverwaltungssystem
  • - javadoc zum Erzeugen von HTML-Dokumentation aus Java Sourcecodes
  • - Sun Microsystems Netra-I als Webserver auf Solaris 2.6 als Betriebssystem
  • - Swish-E als Suchmaschine.

Claims (5)

1. System zur Dokumentation und Archivierung wiederverwendbarer Soft­ ware-Komponenten und zum Auffinden der Software-Komponenten über ein Netz­ werk, insbesondere das Internet, wobei
  • a) ein Versionenverwaltungssystem (VVS) vorhanden ist, das dafür eingerichtet ist, in einem ersten Dateisystem (DS1) Dateien (VD) in unterschiedlichen Ver­ sionen und zusätzlich den jeweils aktuellen Stand der jeweiligen Datei (VD) als Master-Kopie (MD) zu halten,
  • b) an einer zentralen Stelle ein Dokumentationsgenerierungssystem (DGS) vor­ handen ist, das dafür eingerichtet ist, aus den Master-Kopien (MD) HTML- Dokumente (WP) zu erzeugen und in ein zweites Dateisystem (DS2) abzule­ gen,
  • c) eine Suchmaschine (SM) vorhanden ist, die dafür eingerichtet ist, jeweils nach einer solchen Dokumentationsgenerierung einen zur Menge der dabei erzeug­ ten HTML-Dokumente (WP) gehörigen Index (IN) zu erstellen, und
  • d) ein Webserver (WS) vorhanden ist, der mittels der Suchmaschine (SM) eine Anfrage an einen Index (IN) ermöglicht, und der als Suchergebnis Verweise auf die die Suchkriterien erfüllenden HTML-Dokumente (WP) liefert, die durch Aus­ wahl abrufbar sind.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß das erste und das zweite Dateisystem (DS1, DS2) zu einem gemeinsamen Dateisystem zusammenge­ faßt sind.
3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Webserver (WS) dafür eingerichtet ist, die HTML-Dokumente (WP) auch direkt, also ohne Mitwirkung der Suchmaschine (SM), abzurufen.
4. System nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Versionenverwaltungssystem (WS) ausgewählt ist aus den Systemen Cle­ arCase, Continuus, PVCS, RCS, CVS, SCCS und Xtools.
5. System nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Dokumentationsgenerierungssystem (DGS) ausgewählt ist aus den Syste­ men javadoc, ccdoc, und idldoc.
DE19926370A 1999-06-10 1999-06-10 System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten Withdrawn DE19926370A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19926370A DE19926370A1 (de) 1999-06-10 1999-06-10 System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19926370A DE19926370A1 (de) 1999-06-10 1999-06-10 System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten

Publications (1)

Publication Number Publication Date
DE19926370A1 true DE19926370A1 (de) 2000-12-14

Family

ID=7910726

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19926370A Withdrawn DE19926370A1 (de) 1999-06-10 1999-06-10 System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten

Country Status (1)

Country Link
DE (1) DE19926370A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004044739A1 (de) * 2002-11-14 2004-05-27 Siemens Aktiengesellschaft Vorrichtung zur entwicklung und/oder konfiguration eines automatisierungssystems
DE10309938A1 (de) * 2003-03-07 2004-09-23 Audi Ag Verfahren zur Reduzierung des Speicherbedarfs in einem Netzwerk umfassend mehrere Datenverarbeitungseinrichtungen
WO2005029324A2 (en) * 2003-09-17 2005-03-31 Electronic Data Systems Corporation Automated source code software programmer's manual generator
EP1577759A3 (de) * 2004-03-15 2007-04-25 Ramco Systems Limited Verfahren und System für das zur Verfügungstellen von Dokumentation und Ausbildung in der Software-Entwicklung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19712946A1 (de) * 1996-05-30 1997-12-04 Ibm Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells
DE4235193C2 (de) * 1991-10-18 1998-04-30 Hitachi Ltd Netzwerksystem und zugehöriges Softwareverwaltungsverfahren

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4235193C2 (de) * 1991-10-18 1998-04-30 Hitachi Ltd Netzwerksystem und zugehöriges Softwareverwaltungsverfahren
DE19712946A1 (de) * 1996-05-30 1997-12-04 Ibm Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004044739A1 (de) * 2002-11-14 2004-05-27 Siemens Aktiengesellschaft Vorrichtung zur entwicklung und/oder konfiguration eines automatisierungssystems
US7752283B2 (en) 2002-11-14 2010-07-06 Siemens Aktiengesellschaft Server for engineering an automation system
DE10309938A1 (de) * 2003-03-07 2004-09-23 Audi Ag Verfahren zur Reduzierung des Speicherbedarfs in einem Netzwerk umfassend mehrere Datenverarbeitungseinrichtungen
WO2005029324A2 (en) * 2003-09-17 2005-03-31 Electronic Data Systems Corporation Automated source code software programmer's manual generator
WO2005029324A3 (en) * 2003-09-17 2005-06-30 Electronic Data Syst Corp Automated source code software programmer's manual generator
EP1577759A3 (de) * 2004-03-15 2007-04-25 Ramco Systems Limited Verfahren und System für das zur Verfügungstellen von Dokumentation und Ausbildung in der Software-Entwicklung
US7533369B2 (en) 2004-03-15 2009-05-12 Ramco Systems Limited Method and system for providing documentation and training in a software development activity

Similar Documents

Publication Publication Date Title
DE69937332T2 (de) Verfahren und Gerät zur Software-Entwicklung
DE19926116A1 (de) Mehr-Teilprozeß-Protokollierung in einer Konfigurationsdatenbank
DE19963673A1 (de) Verfahren, Systeme und Computerprogrammprodukte zur Dokumentenverwaltung für Software-Entwicklungssysteme
EP0959588A2 (de) Netzelement mit einer Steuerungseinrichtung und Steuerungsverfahren
EP1674954A1 (de) System und Verfahren zur Wiederverwendung von Projektierungsdaten
DE10252797B4 (de) Verfahren und System zum Erstellen von Dokumentenvorlagen mit Ressourcenverwaltung
DE60019996T2 (de) System zum Koordinieren von Dokumenten und Aufgaben für einen Rechner
EP0788632B1 (de) Computergestützte umwandlung von tabellen
EP1442340A1 (de) Bereitstellung von informationen in einem automatisierungssystem
DE19926370A1 (de) System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten
EP1860548A1 (de) Verfahren zur Versionsverwaltung von Automatisierungsdaten eines Kraftwerk-Automatisierungssystems
WO1999017192A1 (de) Konfigurierungsverfahren für datenverarbeitungsanlagen
DE10325843B4 (de) Verfahren, Drucksystem, Computer und Computerprogramm zum Verwalten von Resourcen zur Verwendung in einem resourcenbasierten Dokumentendatenstrom
WO2000054188A2 (de) Verfahren zur automatischen wiedergewinnung von engineeringdaten aus anlagen
WO2010034548A1 (de) Testmodul und verfahren zum testen einer o/r-abbildungs-middleware
EP1235123A2 (de) Addon-Mechanismus für ein Steuerungssystem basierend auf einem Typdatenfeld
EP0825525B1 (de) Verfahren zur Unterstützung des Erzeugens eines Objektes
EP1242852B1 (de) Vorrichtung und verfahren zur einbindung von automatisierungskomponenten
EP1547313A2 (de) Verfahren und vorrichtung zur automatischen erzeugung von programmcode, dokumentationstext und management information bases mittels daten einer datenbank
DE10108564A1 (de) Verfahren zur Suche nach in einem verteilten System aktuell oder früher gespeicherten Daten oder Daten enthaltenden Ressourcen unter Berücksichtigung des Zeitpunkts ihrer Verfügbarkeit
EP1674953B1 (de) System und Verfahren zur Wiederverwendung von Projektierungsdaten
EP1436673B1 (de) Automatische parametererfassung
EP2093663A1 (de) Engineering-System für die Entwicklung eines Projektes und Verfahren
DE10109876B4 (de) Verfahren und Einrichtung zum Datenmanagement
EP1675044A1 (de) Engineering-System für verteilte Entwicklung und Entwicklung durch mehrere Nutzer

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8139 Disposal/non-payment of the annual fee