[Kos-dev] [dtr] specifications plus precises d'interfaces de modules KOS ?

David MENTRE dmentre at linux-france.org
Tue Jan 18 22:08:37 CET 2005


[dtr : Dans Tes Rêves !, càd futuriste, irréalisable, utopique. ]

Yop-la-boum,

La structure modulaire de KOS a réveillé en moi de vieilles idées sur la
structuration modulaire des logiciels et l'utilisation d'outil plus ou
moins formels pour se démer..r dans tout ce code. 

Une idée serait de documenter, explicitement (avec des annotations) ou
implicitement (avec des outils d'analyse du code), les interfaces des
modules.

Au delà de la simple liste des fonctions appelables (avec leurs types),
la documentation aurait des aspects plus sémantiques, càd un peu plus
riches en information.

Par exemple, si on a une fonction toto(int param) exportée dans un
module, l'interface pourrait donner :

 - est-ce que toto() manipule de la mémoire (kmalloc, kfree) ?

 - est-ce que toto() accède à une ressource particulière (pci, dma, ...)
   ?

 - est-ce que toto() risque un scheduling ?

 - est-ce que l'appel à toto() peut être bloquant ?

 - est-ce que toto() prend un spinlock ?

 - qu'est-ce que toto() appelle comme autres fonctions, comme autres
   modules ?

 - est-ce que toto() donne "param" à un autre module ? 

Bien entendu, l'analyse donnerait ce genre d'infos en fonction de
l'analyse de tout le code appelé par toto().

En tant que développeur KOS, quel genre d'info vous semblerait
intéressante ?

Amicalement,
d.lires
-- 
pub  1024D/A3AD7A2A 2004-10-03 David MENTRE <dmentre at linux-france.org>
 5996 CC46 4612 9CA4 3562  D7AC 6C67 9E96 A3AD 7A2A



More information about the Kos-dev mailing list