Download presentation
Presentation is loading. Please wait.
Published byMaria Dillon Modified over 10 years ago
1
Component Development for the Component Description Framework (CDF) Training Dr.-Ing. Ulrich Dinger
2
Bildung ist die Fähigkeit, fast alles anhören zu können, ohne die Ruhe zu verlieren oder das Selbstvertrauen. Robert Frost
3
Overview General concepts and terms The aloXerv MOT-language The Ecore modeling language The Component Description Framework and the CDF-Editor Tutorial
4
General concepts and terms Model-Driven Software-Development key concepts Provide optimal level of abstraction for each role in the (development) process Separation of concerns (e.g. separate app-logic from ui) Avoid storing redundant information (use single source of information) Interprete the information during runtime Use Code-generators to create code-artifacts in concrete languages (e.g. Java) => Provide custom languages and tools
5
Meta-Meta-Model (Bsp: Ecore) Meta-Grammar (E)BNF Meta-Model / Data Model / Schema / … Grammar Model (Instance) Valid sentence of grammar Domain specific lanuages (DSL) Textual and graphical presentation Model-Driven Software-Development (MDSD) Concepts of the language independent of presentation (= abstract syntax) General concepts and terms Example Instance of ANTLR Java Programming Language Java-Class (e.g. FireDetector.java) FireDetector1 (object)
6
Documentation Programming Interface (API) PersistencyPresentation UML-Class-Diagrams WIKI HTML/Web (MOT- Concept) Dokumente (Word/Open Office...)... C++ Java (=MOT-API)... XML Binary format Database... Web (Thin-Client) MOT-Editor (Fat- Cl.)... The MOT-Language/MOT-API = A sample Meta-Model Meta-Model (MOT-Language) Model (*.mot) Generate (>90%) Instance of read/write use Model (*.mot) Model (*.mot) manipulate
7
Documentation Programming Interface (API) PersistencyPresentation UML-Class-Diagrams WIKI HTML/Web (MOT- Doku) Dokumente (Word/Open Office...)... C++ Java (=MODTO...)... XML Binary format Database... Web (Thin-Client) aloXerv-Client (Fat~)... The MOTs as central source of information *.mot Managed Objects Generate (>90%) Instance of read/write use Managed Objects manipulate Interprete (via MOT-API)
8
The Ecore modeling language (class hierarchie)
9
A simple data model (Ecore meta-model) <author name="Robert Frost"/> … <cite shortText="Bildung" text="Bildung ist die Fähigkeit, fast alles anhören zu können, ohne die Ruhe zu verlieren oder das Selbstvertrauen" author="Robert Frost"/> Sample-Model/Instance (XML)
10
The development-process with FXL Editor and FXL Generator Edit/extend the meta-model (*.ecore) Use code-generator for *-API/Editor Hand-code additional functionality in *-API; Customize Editor Build/release the editor
11
The Component Description Framework and the CDF Editor
12
The Component Description Framework and the CDF-Editor Framework for Application and Tool development based on MDSD Component = Module = Project = Artifact For each Component you can define as many Meta-Models as you want Basis = Based on FXL: Ecore-(meta-)modeling, code-generation, mighty Editor- Framework Integration of an Ecore-editor and the code-generators into one tool Run API/editors as Eclipse-Editors and in the CDF Standalone-Editor
13
The Component Description Framework and the CDF-Editor (2) Existing open source CDF-extensions: History (Release-Notes)/svn, Files (e.g. for viewing PNB), Reviews, I18n, Decisions, Eclipse-Help, Authentication, Tasks, Actions, (Joke of the day), … AloXerv-specific extensions (closed source) Domain-Configuration, Data-Channels, Security-Config, SDC-Sample, Cu- Handler-Config,... CDF-Standalone Can be used by none-developers (in contrast to Eclipse IDE) No usage of Eclipse-File-System no need to perform refresh workspace after svn-update Very flexible/customizeable (which extensions to show) – Use as demo-system to manage aloXerv-site-installation – Use as application to manage aloXerv help – … Can be used to get overview ==> tables
14
The CDF-Editor (details/architecture)
15
How to create an extension of the CDF-Editor without writing one line of Java-code http://www.ulrich-dinger.de/cdf/cde.html CDF Development Tutorial Ulrich Dinger
16
Ecore meta-model <author name="Robert Frost"/> … <cite shortText="Bildung" text="Bildung ist die Fähigkeit, fast alles anhören zu können, ohne die Ruhe zu verlieren oder das Selbstvertrauen" author="Robert Frost"/> Sample-Model/Instance (XML)
17
Optional: Extend meta-model to allow users to vote for cites with POOR … GOOD … EXCELLENT (enumeration) Show cites in a table …
18
Extended Ecore meta-model <cites xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <author name="Robert Frost"/> <cite shortText="Bildung" text="Bildung ist die Fähigkeit, fast alles anhören zu können, ohne die Ruhe zu verlieren oder das Selbstvertrauen" author="Robert Frost"> <vote user="schnullerich" rating="GOOD"/> <user userName="schnullerich" firstName="Ulrich" lastName="Dinger"/> Extended sample-Model/Instance (XML)
19
Extended Ecore meta-model
20
<cite text=Ich habe eiserne Prinzipien. Wenn sie Ihnen nicht gefallen, habe ich auch noch andere. author=Groucho Marx/>
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.