Tagged: Software Engineering RSS

  • admin 00:55 on 25.11.2010 Permalink | Reply
    Tags: Software Engineering   

    Systemmodellierung mit SysML 

    Im letzten Semster konnte ich an einem sehr spannendem Seminar zum Thema Systemmodellierung mit SysML teilnehmen. SysML entspricht einer aufgebohrten UML, welches auch in der Lage ist Systeme zu modellieren, die nicht aus der IT stammen.

    Besonders interessant ist das Thema Metamodellierung, bei der man Sprachen wie UML bzw. SysML auf einer Metaebene betrachtet .. oder sogar noch einen Schritt weiter geht und auch diese wieder auf einer weiteren Ebene, der Metametaebene analysiert. Auf der obersten Ebene sind die Sprachen gleich und koennen entsprechende Formalismen vorausgesetzt,  automatisch migriert werden in andere kompatible Modelle. Ein besonders einfaches Beispiel dafuer waere z.B. das Erzeugen von Java Klassen aus einem relationalem Datenbankmodell.

    Hier meine Folien, welche in das Thema einfuehren .. Metamodellierung

     
  • admin 01:21 on 06.07.2009 Permalink | Reply
    Tags: , , , Software Engineering   

    The power of Scala 

    Seit einiger Zeit beschäftige ich mich in meiner Freizeit mit der nocht recht jungen Programmiersprache Scala, eine unglaublich flexible und mächtige Sprache, die geschickt funktionale und objekt-orientierte Paradigmen vermischt. Wer abseits des normalem OOP-Paradigma etwas neues lernen will, sollte sich diese Sprache auf jeden Fall genauer anschauen.

    Übrigens wird Scala nach Java Bytecode kompiliert und ist somit praktisch kompatibel und gemeinsam einsetzbar mit allen bestehenden Java-Systemen. Ein Compiler für die Common Language Runtime ist auch in der Entwicklung, der Support für Java ist aber wesentlich besser.

    Beim Lesen des Buchs “Programming in Scala” (welches übrigens ausgezeichnet geschrieben ist) sind mir erstmals die Unterschiede zwischen den Programmierparadigmen wirklich klar geworden. Umso interessanter ist es dann nach und nach zu sehen wie Scala beides fusioniert und dabei etwas neues schafft. Das erstaunlichste an Scala ist aber wie man selber zu einem Sprach-Kreatonist werden kann! Die Programmiersprache ist in ihrem Kern recht einfach, aber dennoch so flexibel, dass jeder die Sprache erweitern kann, um sie an die entsprechenden Bedürfnisse anzupassen.

    Das beste Beispiel ist die Actors-Bibliothek zur Abstraktion der parallelen Ausführung von Programmcode. Eine Idee – ursprünglich aus der Sprache Erlang – die es mittlerweile fast in jede Sprache geschafft hat als ein normales Framework. Scala geht weiter und integriert nicht nur Funktionalität, sondern auch Syntax aus Erlang und schafft somit eine ganz natürliche Integration – so als wäre das Programmieren mit Actors schon immer Bestandteil der Sprache.

    Ein paar schöne Code-Beispiele zu Actors-Bibliothek befinden sich direkt hier.

    Im nächsten Beitrag werde ich demonstrieren wie man das nützliche in C# bekannte using-Konstrukt nachbaut, um Streams etc. automatisch zu schließen.

     
  • admin 02:55 on 26.01.2009 Permalink | Reply
    Tags: , , , Performance, Software Engineering   

    Lazy Loading von Plugins in multilingualen .NET Applikationen 

    Letztes Jahr hab ich eine kleine Anwendungs-Shell gebaut, welche mir die Entwicklung von Desktopanwendungen einfacher machen soll. Schwerpunktmäßig habe ich mich dabei auf die Features Erweiterbarkeit, Multilingualität, Lazy Loading und gute Trennung der Logik von der Oberfläche konzentriert. Als festes Standbein habe ich das Framework Mono.Addins genutzt, mit dem ich in meinen Anwendungen Erweiterungspunkte in einem XML-Baum definieren kann.

    Ähnlich wie in XUL oder XAML erzeuge ich außerdem etliche Teile meiner Oberflächen direkt aus dem XML-Baum, der sich aus allen XML-Knoten der geladenen Plugins ergibt. Dies ermöglichst es mir Menüs und Werkzeugleisten darzustellen ohne alle Plugin-Assemblies zu laden. Denn die Infos über Struktur, Titel und Icons der Oberfläche befinden sich bereits in den XML-Daten und müssen nicht erst vom .NET Code erzeugt werden. Mit solchen Prinzipien kann man auch große Anwendungen zu einem schnellem Start verhelfen, Visual Studio, #Develop und Co machen es genauso.

    (More …)

     
  • admin 17:24 on 27.12.2008 Permalink | Reply
    Tags: , Software Engineering,   

    Datenmodellierung mit XML Schemata 

    Bisher habe ich in meinen Softwareprojekten zur Datenmodellierung immer Werkzeuge wie UML-Editoren oder die MySQL Workbench genutzt. Das sind tolle Hilfen, da man seine Ideen grafisch modellieren und hinterher in eine ausführbare Präsentation umwandeln kann. Entweder man erzeugt mit einem UML-Editor Programmcode oder mit einem Datenbanktool das SQL-Skript für das Datenbankschema.

    Aktuell finde ich jedoch die Idee zur Modellierung der Daten XML Schemata zu nutzen, wesentlich interessanter. Mit einem leistungsfähigem Designer könnte man seine Modelle und Beziehungen darstellen und diese dann als XSD-Datei speichern. In der Softwarebranche wird dieses Verfahren in ähnlicher Weise schon seit Jahren genutzt. Konkret nutzt man einige OMG-Standards, um den Ansatz der Model Driven Architecture zu vereinheitlichen und damit plattformunabhängiger zu machen.

    (More …)

     
  • admin 00:38 on 24.12.2008 Permalink | Reply
    Tags: , Software Engineering, , ,   

    Domain Specific Languages 

    Jetzt so kurz vor Weihnachten beschäftigt mich ein interessantes Thema, welches das Potenzial hat die Softwareentwicklung an einigen Stellen stark zu vereinfachen: DSL, genauer gesagt Domain Specific Languages. Darunter versteht man eine auf ein Problem zugeschnittene Sprache, wobei Sprache hier nicht unbedingt eine typische Text-Sprache wie Java sein muss. Es kann sich genauso gut um eine grafische Repräsentation handeln.

    Jeder von uns hat schon mit einer DSL gearbeitet, wir haben es nur nicht mitbekommen :-) . Denn genau genommen sind SQL als auch RegEx zwei DSLs, die besonders ausdrucksstark sind in ihrer Domäne. Mit einer RegEx kann ich String-Muster definieren, deren Programmierung in einer “normalen” Programmiersprache dutzende Zeilen benötigen würde. Für Abfragen aus relationalen Datenbanken eignen sich RegEx aber natürlich nicht, daher sagt man die Sprache ist auf eine Domäne – ihr Arbeitsgebiet – beschränkt.

    (More …)

     
  • admin 19:47 on 19.07.2008 Permalink | Reply
    Tags: , Software Engineering, , ,   

    NClass – Alternativer Klassendiagramm-Editor 

    Wer keine der teuren Visual Studio Versionen besitzt, kann trotzdem hübsche Klassendiagramme zeichnen und sich den Code dazu generieren lassen. Das Programm NClass erzeugt nicht nur Diagramme, die genauso gut wie die aus Visual Studio aussehen .. es kann auch etwas mehr. Beispielsweise gibt es mehr Beziehungsarten und eine Java-Unterstützung.

    Aktuell ist die Version 1.08, doch scheint die in der Entwicklung befindliche Version 1.09 schon ausreichend stabil zu sein. Diese Version bietet unter anderem eine Unterstützung für Mono (quasi Linux-Unterstützung) und einige andere coole Featuers (z.B. Zooming und schickere Diagramme).

    Das Tutorial zu dem Typo3-Such-Filter wird nächste Woche weitergehen … ich muss dazu erst einiges vorbereiten :-)

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel