Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. ArchJava — Wikipédia
ArchJava — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

ArchJava est un langage de programmation par composant reposant sur une couche Java. Il est conçu avec l'idée de regrouper le formalisme d'un ADL (en)(c'est-à-dire la description d'une architecture logicielle de manière formelle) et l'implémentation réel du programme.

Spécificités

[modifier | modifier le code]

Contrairement aux autres langages ADL (en), ArchJava est basé sur le même langage de programmation que l'implémentation : Java. Ce fort couplage permet de régler le problème principal qui survient dans les autres langages ADL (en), à savoir l'incapacité à assurer complètement l'obéissance des contraintes architecturales et plus particulièrement les communications entre les composants décrits dans l'architecture. Ceci est dû au fait qu'il ne sont pas décrits dans le même langage, et donc ne peuvent exprimer correctement certaines subtilités d'un langage particulier. Ils s'en remettent alors à la bonne volonté des développeurs de suivre des lignes directrices afin de respecter les communications entre les composants de l'architecture[1].

Exemple d'utilisation

[modifier | modifier le code]

Ici nous avons un exemple de code en ArchJava d'un composant pour parser[1]. Le composant Parser utilise deux ports (in et out) pour communiquer avec d'autres composants.

public component class Parser {
    public port in {
        provides void setInfo(Token symbol, SymTabEntry e);
        requires Token nextToken() throws ScanException;
    }
    public port out {
        provides SymTabEntry getInfo(Token t);
        requires void compile(AST ast);
    }

    void parse(String file) {
        Token tok = in.nextToken();
        AST ast = parseFile(tok);
        out.compile(ast);
    }

    AST parseFile(Token lookahead) { ... }
    void setInfo(Token t, SymTabEntry e) { ... }
    SymTabEntry getInfo(Token t) { ... }
    ...
}
Schéma d'exemple d'architecture avec ArchJava

Le composant Compiler ci-dessous contient trois sous-composants (Scanner, Parser et CodeGen). Ces composants sont connectés en séquence linéaire avec le port out connecté au port in de l'autre.

public component class Compiler {
    private final Scanner scanner = ...;
    private final Parser parser = ...;
    private final CodeGen codegen = ...;

    connect scanner.out, parser.in;
    connect parser.out, codegen.in;

    public static void main(String args[]) {
        new Compiler().compile(args);
    }

    public void compile(String args[]) {
        // Pour chaque fichier dans args faire :
        ...parser.parse(file);...
    }
}

Références

[modifier | modifier le code]
  1. ↑ a et b Aldrich 2002

Bibliographie

[modifier | modifier le code]
  • (en) Jonathan Aldrich, Craig Chambers et David Notkin, « ArchJava: connecting software architecture to implementation », Proceedings of the 24th International Conference on Software Engineering,‎ 25 mai 2002, p. 187–197 (ISBN 1-58113-472-X, DOI 10.1145/581339.581365)
  • icône décorative Portail de la programmation informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=ArchJava&oldid=227899656 ».
Catégorie :
  • Développement logiciel
Catégories cachées :
  • Article contenant un appel à traduction en anglais
  • Portail:Programmation informatique/Articles liés
  • Portail:Informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id