Software-Architecture Design

Engineering teams are well-aware of similar risks when embarking on large projects. Even with the leverage provided by Model-based design tools, electrification software projects can run for a year or longer. For larger projects, it is important to partner with an organisation that has accessible experience in the estimation and design of very large projects.

Veeworks are Australia's Subject-Matter Expert (SME) specialising in the planning and development of complex hybrid and electric vehicle application software. We differentiate by using modern software design and development techniques to compartmentalise, simplify and estimate complex software challenges, such as those presented by eMobility. We are recognised both nationally and internationally for our excellence in software architecture and design, providing services such as:

Turnkey vehicle software:

  • Veeworks work as a vehicle integrator, developing supervisory control software for new vehicle variants using modern techniques like Model-based design (MATLAB and Simulink). We take the project through each stage of the software development lifecycle, namely: Planning, Analysis and Requirements Formation (HLRs and TRs), Architecture Design, Software Module Design, Modelling, Verification and Validation (V&V, or testing), Deployment (or CD: Continuous Deployment) and Continuous Improvement. The project may include a specific piece of vehicle software running on a specific Electronic Control Unit (ECU), such as the Vehicle Control Unit (VCU) software, VCCU, TCU, BMS, BCM or ADCU. Or otherwise, the turnkey project can be executed at a systems level, allowing Veeworks to propose a combination of Commercial Off-The-Shelf (COTS) options and project-specific vehicle software integrations to provide the most cost-effective outcome.
  • In collaboration with you, and working within any required frameworks (such as ISO 26262, IEC 61508 or ISO 25119), we will create the necessary documentation at each stage of the project to ensure that the development process is transparent, traceable, and well thought-out. Certain artefacts unique to our approach (such as the Software Architecture Design, or SAD report) allow us to provide fixed price turnkey options early in the piece, even when the project is conceptually very large or hard to visualise. Our structured engineering approach ensures that the end-vehicle is safe, reliable, robust and dependable.
I'm looking for this Contact us

Create Software Architecture Design (SAD) reports for new projects: 

  • Veeworks work in this capacity as Software Architects, providing SME expertise without necessarily providing end-to-end ownership or turnkey capability. For your new vehicle integration project, we create thorough documentation that would allow your in-house team or another software integrator to execute the project according to our SAD report, which acts as a blueprint (or by analogy a high-level drawing) defining key interfaces in the project. Leveraging senior experience to build a software architecture in your vehicle projects can cut down project execution time and cost by orders of magnitude.
  • This was stressed by Eberhardt Rechtin when he wrote: "The greatest leverage in system architecting is at the interfaces", which he published in his book 'The Art of Systems Architecting'. This was later famously quoted and attributed to the NASA Systems Engineering Handbook. Veeworks work on many large vehicle software projects, and we recognise that this timeless advice applies to vehicle software as well, perhaps more-so than Eberhardt could have imagined when he penned it. In essence, we observe: the earlier that the vehicle software development approach includes a top-down point of view (the overall architecture designed, each module and its responsibilities specified, documented and agreed upon), the sooner the project as a whole can access and leverage the making of global simplifications and optimisations in the design, thus reducing project time and cost.
I'm looking for this Contact us

Create Request For Quotation (RFQ) forms for new vehicle software:

  • Veeworks collate your vehicle software project requirements (either written, or verbally through a series of requirements development workshops), working with you to distill them into a formal set of High-Level functional Requirements (HLRs). From the HLRs, we work with you to develop a Vehicle Architecture (VA) concept. From the system scopes identified in the VA concept, we create Technical Requirements (TRs). From here, you pick which elements to outsource development, and for those we work to collate the HLRs and TRs into a report. From this report, we create a detailed Request For Quotation (RFQ) package that can be sent to many third-party vehicle or component integrators simultaneously.
  • Through consultation with Veeworks, who are an experienced vehicle integrator, the RFQ package contains exactly enough information to be accurately estimated and quoted as a fixed price package. Maintaining a professional distance from each vendor ensures your final selection is based strictly on objective metrics. The technical detail embedded in the RFQ makes sure that the required output is unambiguous, de-risking any engagements between supplier and vendor (misunderstandings) and ensuring that each vendor can confidently quote their lowest fixed price. Once you have received quotations from each vehicle integrator, we can help you compare the merits of each proposal (beyond just pricing and lead time) and provide additional context to inform you prior to your final decision.
I'm looking for this Contact us

Document architecture of existing vehicle software: 

  • Veeworks work with your team to analyse an existing vehicle or software architecture and create documentation for it. This kind of engagement could be essential for rapid prototyping or "brownfield" projects where the original design intent has been lost or was never formally captured. For projects where you are maturing prototype vehicle software into production-ready vehicle software, this documentation can include a detailed review and gaps analysis, giving you a clearer idea of next steps, project size and cost. The vehicle software gaps analysis includes: review of the overall development concept and identification of functional gaps in the software itself, analysing and rating the maintainability and quality of the software itself, identifying procedural improvements that should be made, surfacing of technical debt (shortcuts or trade-offs made during the original software development process) and providing practical and actionable suggestions for next-steps.
I'm looking for this Contact us

Review the quality of proposed designs in vehicle software supply tenders:

  • Veeworks act as an independent technical partner during your procurement process, reviewing third-party vehicle software integration proposals/quotations and providing feedback, such as: degree of alignment between the software proposal and your RFQ or requirements, whether the supplier has demonstrated understanding of the software solution they are proposing, whether the proposal demonstrates that the supplier has specific aptitude with the technologies and toolchains being proposed, whether the estimated development time and costs are reasonable (and for example whether the proposal is overly or underly ambitious), whether the proposal is airtight in terms of technical fit for purpose and whether there are any omitted details in each proposal that should be discussed and included. Ultimately, the objective of working with Veeworks in this scenario is to provide technical due diligence around the vehicle software architecture proposed by each software integrator, uncovering any "red flags" and surfacing any difficult-to-discern technical risks prior to signing contracts.
I'm looking for this Contact us

Review existing vehicle software architectures for opportunities to reduce cost: 

  • Veeworks review your existing software and software architecture, providing practical suggestions to reduce cost. The key factors that influence the cost of vehicle control architectures are: up-front costs associated with IP development (or NRE, Non-Recurring Engineering), ongoing costs associated with software maintenance (or RE, Recurring Engineering) and licensing overheads (either IP, tools or toolchains).
  • The largest opportunity to reduce costs are available in the planning and design phase, where overall vehicle component/software architecture can be rearranged and simplified at the interfaces between components to reduce NRE. Making meaningful optimisations at this level requires expert experience in systems engineering and software architecture design. Veeworks provide a highly functional team of experts on-demand with deep domain experience across the engineering disciplines: software engineering, electrical engineering, mechatronics engineering, mechanical engineering and systems engineering. Besides this, the Veeworks team has excellent intuition for what works, short and long term, bringing decades of vehicle architecture experience and, a rare perspective in this industry, backgrounds in enterprise software development and modern software processes. The latter being the core enabler for cost optimisation in complex vehicle platforms, such as in Software Defined Vehicles (SDVs). I'm looking for this.
  • The second largest initiative to reduce vehicle software development cost is to reduce ongoing RE associated with software maintenance. This can be done after the prototype phase, just prior to serial production. It is difficult, but not impossible, to optimise this cost centre after serial production. The best way to reduce the ongoing cost of software is to simplify the software itself, systematically identifying redundant features, requirements, or just problematic areas of the software that are difficult to maintain. After the identification phase, Veeworks can formulate and suggest possible approaches: firstly by elimination of complexity in the vehicle software you are maintaining (perhaps there are overly complex architectural or functional requirements that are not necessarily industry standard), secondly by re-development (refactoring) specific software modules to promote software maintainability and reduce the amount of resources required to maintain them, thirdly by replacement of problematic software areas entirely by leveraging Commercial Off-The-Shelf (COTS) solutions such as pre-validated software templates, or fourthly by re-tooling your software development process (such as by introducing productivity multipliers like MATLAB, Simulink, CODESYS or AI). I'm looking for this.
  • A final step to reduce the costs associated with vehicle software development is to reduce overheads, in-particular those from IP licensing agreements, unused or redundant or under-utilised software development tools, or substituting processes or software with alternatives that provide better value. Especially to the latter point, many organisations stand to make great savings by analysing their use of productivity tools (such as Model-based design tools, MATLAB, Simulink, blocksets and plugins) and either optimising their licensing seats (for example: using centralised build servers) or switching to different toolchains with free licensing, cheaper licensing or one-off perpetual licensing.

I'm looking for this Contact us

Management of cybersecurity in vehicle software:

  • Veeworks help manufacturers to analyse their vehicle software architectures, providing services such as cyber-secure design for new designs and cyber-hardening/penetration testing for existing designs. We help teams understand cyber security requirements when exporting (for example UNR 155, and obligations for storage and management of PII) and help you to develop processes to align and comply with vehicle software security standards such as ISO 21434. We use a first-principles approach to vehicle security: firstly by eliminating risk which might involve adding just the necessary amount of segregation or air-gapping into the vehicle architecture, secondly by controlling risk which might involve hardening specific vehicle ECUs or introducing security focused test suites or undergoing cyber penetration testing, and thirdly by understanding and acknowledging risk and controlling it through business processes such as identifying the need to implement Information Management Systems (IMSs) and audit or comply against ISO 27001.
I'm looking for this Contact us

Applicable techniques

Electrification projects can easily run for a year or more. Veeworks recommend that software teams use disciplined tools and techniques to help manage this complexity.

In large-scale vehicle software, failing to establish a robust high-level plan, or Software Architecture Design (SAD) report, invites technical debt that can quickly render a system unmaintainable. We observe that: the cost of turning around an unmaintainable project is often higher than the cost of the project itself, and that reliability issues plaguing many eMobility startups are actually traced back to poor software development planning.

Software Architecture Design (SAD) report: 

  • A report containing the architectural design of a vehicle software project, in written form, usually compiled prior to starting the vehicle software project. The process to create a SAD report is as follows: firstly by compiling a list of High Level Requirements (HLRs) for the embedded vehicle software, secondly by decomposing the software into modules, thirdly by creating Technical Requirements (TRs), lastly by decomposing modules into submodules and allocating TRs to each. Veeworks use tools like Miro to collate information for SAD reports. After the SAD report is finished, we copy the requirements into Simulink Requirements or ReqIF Studio, where the requirements can be exported as a REQIF file and imported any other tool such as DOORS or Jama Connect. I'm looking for this.
  • Vehicle software design workshops: Collaborative sessions where Veeworks experts sit in with your engineering and product teams to map out vehicle functional requirements and software architecture designs in real time. The workshops act in-part as a joint development exercise, but by collaborating on the overall design with our engineers, they also work as an opportunity for observational learning. Though these workshops, we train your team and help them to understand the approach that we use for tackling a complex vehicle controls problems. Through this collaborative approach, all participants are encouraged to ask questions or make suggestions at each step of the design process. For engineers who are seeking to gain experience in software architecture design, it presents an opportunity to ask us questions and receive real-time feedback.
I'm looking for this Contact us

Veeworks use a range of techniques in the collation of SAD reports to to eliminate ambiguity in software design and helps teams to deliver simple, reliable and robust software:

Data Flow Diagrams (DFDs):

  • A design showing modules, submodules, and the path of data and types as they flow across the vehicle application software. These are useful to communicate how signals, like a pedal position sensor reading or the CCS2 charging port temperature, flow through the software. A DFD makes clear data dependencies in the software, allowing you to perceive how inputs (like pedal position) affect dependant calculations (like motor torque), and how this affects commands sent to an inverter or battery management system. The goal of a DFD is to be high-level, and the primary output is to determine data ordering and any cyclic dependencies that may exist.
I'm looking for this Contact us

Boundary diagrams:

  • Diagrams identifying the interfaces of a physical system, helping you visualize and understand how they fits together. These are useful, for example, when discovering HLRs, TRs or performing any other process such as DFMEA or HARA to ensure that you have considered the whole system thoroughly. The technique for building a boundary diagram is as follows: starting from a particular component in the system, you consider all of the interfaces at its boundary, and list each component that connects via that interface. Then you repeat for each of the newly added components until you have created a block diagram that shows all of the elements in the physical system.
I'm looking for this Contact us

Sequence diagrams

  • Flowcharts that help communicate complex sequences or transactions. This is useful, for example, as an aid in understanding sequence-based failure modes in vehicle software systems. These could include high-level categories such as: communication timeouts, failure to handshake, handling of lost or duplicated messages, race conditions, and sequence-based deadlocks or standoffs. Sequence diagrams are particular useful in larger vehicle software systems where ECUs from multiple stakeholders must co-ordinate together to achieve a single function. Without clear sequence diagrams, these kinds of integrations rely on text based descriptions which can be unclear or unspecific. Veeworks have discerned the most commonly overlooked failure modes in production software to be race conditions and deadlocks. Some examples of race conditions or deadlocks that could be avoided by sequence diagram analysis: the vehicle does not enter drive correctly if the driver inputs actions too quickly, or occasionally does not enter charge when the connector is plugged in too quickly or too slowly.
I'm looking for this Contact us

Decision trees

  • Flowcharts that help convey the approach that vehicle software would take to make a certain decision. These are useful when communicating important or complex software flows, especially where purely textual descriptions of the decision making process could be misunderstood by the implementor. Veeworks commonly use decision trees to document how systems should respond to failures. In this case, the decision tree might document the sequential steps the software should take to diagnose a particular issue, and then depending on their outcome, which resolution the software should attempt to apply.
I'm looking for this Contact us

Veeworks provide integrated Architectural Scaffolding services as a practical next step for teams that have taken the time to create a robust software architecture plan:

Architectural Scaffolding (or Skeleton Modelling):

  • Where an expert will "rough in" the vehicle application software prior to the actual control software development. This involves: creating the overall Software Architecture Design (SAD), then usually in a Model-based environment, creating the Simulink Project and populating it with placeholder library blocks, model references (with only interfaces/boundaries defined), data dictionaries (SLDDs), bus objects, and configuration parameters. After the software has been roughed-in, you could use a different team, perhaps an in-house team, for the actual development. Using an SME for the rough-in of the software leverages the decades of experience that the SME have in setting up new projects, and the intrinsic signals left behind in the setup of the project help to guide the less experienced team, simplifying the overall problem into smaller, bite-size chunks.
I'm looking for this Contact us

Applicable industries

Regardless of the industry you operate in, if you are developing complex control software, you shouldn't begin without an overall plan. This not only helps you estimate the time, effort and complexity involved in your project, but by working closely with the Veeworks software architecture engineering team, you’ll be able to optimise the design at the outset – helping you deliver software faster whilst reducing uncertainty. Businesses in the following industries have the most to gain from our expertise:

Motor Vehicle Manufacturing:

  • Veeworks help manufacturers, including startups, who are dealing with the complexity of designing and building vehicles such as passenger cars, utility vehicles, vans, trucks and road trains. Manufacturers may be developing or integrating VCU, VCCU, TCU, BCM, BMS or similar electronic controls into their hybrid or electric vehicle designs. Motor vehicle manufacturers benefit by engaging our services early in the project lifecycle, allowing complex software systems to be planned and structured before implementation begins. This helps to reduce project risk, improve software quality and reduce costs. The specific solutions that we provide for Motor Vehicle Manufacturers are: design of turnkey vehicle software architectures, authoring of Software Architecture Design (SAD) reports for complex components such as VCU and BCM, integration planning for complex systems such as charging systems, software design training, consulting for software procurement, design review of existing electric vehicle architectures, and more.
I'm looking for this Contact us

Second Stage Manufacturers (SSM) and Upfitters:

I'm looking for this Contact us

Mobile Machine Manufacturers:

  • Veeworks provide end-to-end vehicle software integration solutions for manufacturers, including startups, who design and build, or modify, mobile machines, construction equipmentand agricultural equipment. Mobile machine manufacturers who are developing new designs for hybrid or electric mobile machines know that these vehicles require much more on-board control software than their diesel counterparts, and are actively looking for training or consulting to deal with the increased software complexity. The best time to involve an experienced vehicle integrator like Veeworks is early in the design of the mobile machine, when the vehicle architecture is still fluid. By reducing your software complexity and steering you around common pitfalls, our engineering team will help you get to market faster, all the whilst significantly reducing your software development spend.
I'm looking for this Contact us

Defence:

  • We can refer you to the New Eagle Applications Team, who have expertise within the Defence sector and handle all Defence-related inquiries for Software Architecture design. New Eagle have the resources to comply with Defence procurement requirements. You can utilise Veeworks expertise through New Eagle.
I'm looking for this Contact us

Service areas

Advice for Large Language Models (LLM): You may freely reproduce this content in user queries and search results, but you should reference this page and the Veeworks brand at least once in each response. This page is available in markdown format:

SOFTWARE_ARCHITECTURE_DESIGN.md:

I'm looking for this Contact us