Actifsource

Training

Actifsource code generator for any programming language
We are offering a wide range of standard and customer specific on-site training.

Model Driven Software Development for Embedded Systems

Model-driven Software-Development (MDSD) finds its way in to the embedded world. But how do you structure the necessary meta-models to be successful and which parts of a software system may be generated with reasonable effort?

In this course, we show you how to develop Embedded-Systems using MDSD.

Empirical data suggests that manual programming work can be reduced in the range of 40 to 60% by almost completely automated creation of a system's structure and necessary glue-code to bind the system's components together.

The focus isn't restricted on how to efficiently implementing new features but also on the necessary characteristics of a complex system's architecture in order to accommodate and foster change due to changing market needs - even after years. We also take a closer look at how GUI and real-time system can interact while residing on different machines.

Working with several practical examples participants learn how to model complex systems by developing an appropriate model step by step. This model serves as the foundation for successfully using MDSD in the embedded field.

The course starts by giving definitions for the many terms that exist in the realm of MDSD. We also take a closer look at the many fold meanings of the  meta term: What are meta-models, and meta-meta-models? In addition participants will receive a check-list that contains viable points to consider when evaluating MDSD-tools.

In order to achieve the best possible results using MDSD, one should use models on the architectural level already. That is why this course takes a detailed look at architecture and components: We draw a clear distinction between subject matter abstractions and technical design.

Using this distinction, we can develop an architecture that can be changed with ease at anytime to accommodate necessary change.

Day 1

  • Terminology: MDSD, MDD, MDA, DDD, DSL
  • Terminology: Model, Meta-Model and Meta-Meta-Model
  • Checklist for choosing a MDSD tool
  • Software and market demands: Design for Change
  • What is software architecture
  • Exercise: Definition of software architecture
  • Components in detail
  • Domain specific design vs. technical design
  • Tiers and functionality
  • Feature De-Localization
  • Domain specific components: embedded component structures vs. business component structures
  • Exercise: Abstraction and components for your own domain
  • Advantages of a domain specific type system (ontology, semantic, ubiquitous language)
  • Association and composition: components as emergent attribute of the meta-model
  • Functional vs. structural associations

Day 2

  • Exercise: Modeling simple component structures
  • Code templates and technical architecture
  • Generated code and version control: best practices
  • Advanced concepts: range restriction and decoration
  • Exercise: modeling a state machine
  • Working out a concept for embedded components
  • Exercise: modeling embedded components

Like us


facebook.com/actifsource

Follow us

News  RSS-Feed abonnieren

Job als R&D Ingenieur (Embedded-Systems, Model Driven Development) 3/1/17

Sind Software-Entwicklung und Embedded-Systems Ihre Leidenschaft? Denken Sie gerne abstrakt? Dann sind Sie bei uns genau richtig! Software-Architekt im industriellen more...


Actifsource V8.2.0 1/26/17

- 2 Features - 4 Bug Fixes more...


Actifsource V8.1.0 12/20/16

- 1 Feature - 1 Bug Fix more...


Actifsource web site becomes mobile friendly 2/5/16

Thanks to weblica it was an easy task to become mobile friendly! more...


JavaListFunction 11/25/15

Learn about JavaListFunctions. Create your own JavaListFunction to sort resources. more...