Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Model-based Automotive Software Development using Autosar, UML, and Domain-Specific Languages

4,006 views

Published on

Talk at Embedded World Conference 2013, Nürnberg, Germany

Published in: Software

Model-based Automotive Software Development using Autosar, UML, and Domain-Specific Languages

  1. 1.                                                                   © itemis AG Model-based Automotive Software Development using Autosar, UML, and Domain-Specific Languages Dr. Alexander Nyßen Embedded World 2013, Nürnberg
  2. 2.                                                                   © itemis AG AUTOSAR (AUTomotive Open System Architecture) Architectural modeling standard and reference architecture 2 Application Layer Runtime Environment Actuator Software Component Sensor Software Component Application Software Component AUTOSAR Interface AUTOSAR Interface AUTOSAR Interface Application Software Component AUTOSAR Interface Complex Drivers Microcontroller Drivers Memory Drivers I/O Drivers I/O Hardware Abstraction Memory Hardware Abstraction Memory ServicesSystem Services Onboard Device Abstraction Communication Drivers Communication Hardware Abstraction Communication Services Microcontroller Composed of images from: [http://www.autosar.org/download/conferencedocs/03_AUTOSAR_Tutorial.pdf]
  3. 3.                                                                   © itemis AG „The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.“ What is Software Architecture? [Bass, Clements, Kazman (1997): Software Architecture in Practice] 3
  4. 4.                                                                   © itemis AG • Structure or structures of a system • Structural aspects: Decomposition, Uses, Layered, Modules • Behavioral aspects: Processes, Concurrency, Shared Data • Allocation aspects: Deployment, Artifacts, Work assignment • Externally visible properties • „Assumptions other components can make of a component, such as its provided services, performance characteristics, fault handling, shared resource usage, and so on.“ What is Software Architecture? [Bass, Clements, Kazman (1997): Software Architecture in Practice] 4
  5. 5.                                                                   © itemis AG Implications of Software Architecture Definition [Bass, Clements, Kazman (1997): Software Architecture in Practice] 5 “Every computing system with software has a software architecture. […] It does not necessarily follow that the architecture is known to anyone.” “Unfortunately, an architecture can exist independently of its description or specification.” “The behavior of each element is part of the architecture.” The architecture has to be properly documented. The documentation has to be consistent. The documentation has to cover all relevant aspects.
  6. 6.                                                                   © itemis AG • Autosar employs different concepts within specification of BSW and SW-C: • BSW: modules & realized/used (operation-based) interfaces • SW-C: components with ports and (different kinds of) interfaces, hierarchical decomposition in terms of composition types and component prototypes • Accordingly, Autosar proposes different means to document BSW and SW-C: • UML for BSW • Autosar Graphical Notation for SW-C Autosar-based Software Architectures Different abstraction levels for BSW and SW-C 6
  7. 7.                                                                   © itemis AG BSW & UML – Structural Aspects Example: BSW module and realized interfaces 7
  8. 8.                                                                   © itemis AG BSW & UML – Structural Aspects Example: BSW module and required interfaces 8
  9. 9.                                                                   © itemis AG BSW & UML – Behavioral Aspects Example: BSW module interaction 9
  10. 10.                                                                   © itemis AG BSW & UML – Behavioral Aspects Example: internal BSW module behavior 10
  11. 11.                                                                   © itemis AG SW-C & Autosar Graphical Notation Example: Specifying interfaces of SW-C 11 Source: [Specification of Virtual Functional Bus, V2.2.0, R4.0 Rev.3; www.autosar.org/download/R4.0/AUTOSAR_EXP_VFB.pdf]
  12. 12.                                                                   © itemis AG SW-C & Autosar Graphical Notation Example: Specifying composition of SW-Cs 12
  13. 13.                                                                   © itemis AG • AUTOSAR concentrates on the structural aspects of the application software architecture and mostly omits behavioral aspects. • AUTOSAR only covers the definition of architectural aspects and leaves the transition to detailed design pretty much open. Things that Autosar does not address… ... but that still have to be addressed. 13
  14. 14.                                                                   © itemis AG • UML can support by augmenting models with behavioral specifications (interactions, protocol state machines). • To achieve this, a certain subset of the “structural” information has to be represented in both worlds, because UML behavior is defined on top of structure. SW-C Architectural Design & UML UML may be used to augment architectural design of SW-C 14
  15. 15.                                                                   © itemis AG SW-C & UML - Structural Aspects Example: internal decomposition (excerpt) of a composition type 15
  16. 16.                                                                   © itemis AG SW-C & UML – Behavioral Aspects Example: interaction between component prototypes 16
  17. 17.                                                                   © itemis AG • Using the same level of abstraction as with BSW is not appropriate for SW-C because: • Transformation between UML and Autosar should be performed on the same level of abstraction (traceability!!) • Reduction of abstraction level can be encapsulated within code generators (automation!!) • Models would become cluttered if they are “spammed” with code abstraction details Implications of using UML for Autosar (I) UML has to be used on the “right“ level of abstraction 17 v s .
  18. 18.                                                                   © itemis AG • To cover certain aspects of an AUTOSAR architecture, a UML profile is needed. • Note that an AUTOSAR-UML-Profile was provided with early versions of the standard but has not been further maintained. • In case UML is just needed to augment AUTOSAR models (behavior, transition to detailed design), the profile’s scope may however be much restricted. • UML is widely applicable, so in addition, a concise modeling methodology and conventions have to be defined (and implemented in tooling) Implications of using UML for Autosar (II) Need for a UML-Profile and concise modeling methodology 18
  19. 19.                                                                   © itemis AG • If software architecture is already represented, the detailed design of an atomic SW-C may also be modeled using UML: • Class diagrams can be used to model the structural decomposition in terms of implementation modules (.h/.c) • Behavior diagrams may be employed as in BSW (sequence diagrams, state machines, etc.) SW-C Detailed Design & UML UML may also be used for Detailed Design of SW-C 19
  20. 20.                                                                   © itemis AG SW-C Detailed Design & UML Example: Specifying internal decomposition of atomic components 20
  21. 21.                                                                   © itemis AG • Classical (implementation-)module-based decomposition of atomic SW-C may not always be the best way to go. • Continuous controller components may be best described by means of a dynamical systems model. • State-based controller components may be best described by means of a state machine. • UML does not cover control theory, and UML tools are not capable of appropriate simulation and code generation for state machines either. • Using Domain-Specific Languages and dedicated DSL tools might be the better option in such cases. When UML is not the adequate way to go… … DSLs might help 21
  22. 22.                                                                   © itemis AG Using Domain-Specific Languages (I) Example: Eclipse Damos 22
  23. 23.                                                                   © itemis AG Using Domain-Specific Languages (II) Example: Yakindu Statechart Tools (SCT) 23
  24. 24.                                                                   © itemis AG • UML may be employed to augment Autosar architectural models with missing details (behavior) • UML may be used to specify/document the detailed design of SW-C • Domain-Specific Languages (DSL) may alternatively be used for detailed design as well. • Customized solutions can also be realized using open-source technologies, e.g. Eclipse Damos or Yakindu Statechart Tools Summary & Conclusion Autosar, UML, and DSLs 24
  25. 25.                                                                   © itemis AG 25 TOOLS AND METHODS FOR SEAMLESS SOFTWARE AND SYSTEMS ENGINEERING WE LOOK FORWARD TO SEEING YOU: HALL 4, STAND 106 TOOLS AND METHODS FOR SEAMLESS SOFTWARE AND SYSTEMS ENGINEERING

×