LMS Imagine.Lab Embedded Software Designer
Integrated development environment powered by advanced language engineering techniques covering the range all the way from architecture and test modeling to implementation and validation
Turning products into software-intensive systems puts pressure on methods, processes and tools for on-board software development. Variability, customization demands, processing signals and information and more complexity while better quality require going beyond the current state-of-the-art control software engineering tool-chains and processes.
LMS™ Imagine.Lab™ Embedded Software Designer is an integrated development environment (IDE) for efficient model-based test-driven development of on-board software. Application domains are such as massively customized software-intensive and cyber-physical systems including smart vehicles, home appliances or buildings, families of smart adaptive utilities, transportation and tourism services based on continuous analysis of IoT generated data.
Extensible and customizable Domain Specific Languages (DSLs) powered by the open-source mbeddr enable users to design, architect, implement and verify an integral embedded software system. It thus always stays synchronized, while being capable of presenting the most appropriate perspective with the right level of detail for the job on hand.
Create or Import or Merge Software Architecture
LMS™ Embedded Software Designer enables software architects to create or import or merge software architectures expressed in terms of block interfaces or composite blocks from multiple sources. Advanced language engineering techniques provide a rich inventory of abstractions and modeling notations enabling progressive and gradual addition of details in an architecture-driven development process.
Implement Models and Tests
LMS™ Embedded Software Designer provides physical units, data dictionary with enforceable and testable data properties, and contracts that are used as language extensions to enrich software architectures. Enriched software architectures are analyzed for compatibility and consistency with respect to the contracts. Architectures are also used to model reusable test cases long before any actual implementation, helping clarify requirements and functional specifications. They can also be componentized to serve as specifications in the relationships with suppliers, to enhance code structure or prepare hardware deployment.
Create and/or Reuse and/or Integrate Code
Graphical or textual editing options in LMS™ Embedded Software Designer offer multiple editing projections ranging from helicopter to close-up implementation views. Extensible and customizable domain specific languages furnish software developers a number of modeling constructs such as components, blocks, functions, decision tables, state machines, and mathematical notations making coding easy. The feature-rich IDE provides auto-completion and real-time error checking. Software application units created from existing C-code or Simulink® models can be combined with units authored in LMS™ Embedded Software Designer. Access to source code management tools from within the IDE helps distributed development. All this drastically improve productivity and quality.
Simplify Verification and Validation
Reusable test models and a host of verification and validation tools, all accessible from the IDE, support test-driven development. Static analysis, formal verification, open- and closed-loop tests in combination with Simulink® or LMS™ Amesim models are used to validate the software models as they are developed, reducing the need for an extensive testing phase.
Interface With Application Lifecycle Management (ALM) Tools
LMS™ Embedded Software Designer also interfaces with Polarion ALM (Application Lifecycle Management). Traceability is established between requirements, specifications and test specifications in Polarion ALM® and test cases in LMS™ Embedded Software Designer. Results of test suites in LMS™ Embedded Software Designer are transferred to Polarion ALM® so that results are recorded and test failures tracked to closure.