HOME  |  NEWS  |  BLOGS  |  MESSAGES  |  FEATURES  |  VIDEOS  |  WEBINARS  |  INDUSTRIES  |  FOCUS ON FUNDAMENTALS
  |  REGISTER  |  LOGIN  |  HELP
Comments
You must login to participate in this chat. Please login.

Thank you. Great notes

Iron

? What about UML? Unified Modeling Language for defining the system architecture? How helpfull is UML in systems design and has anybody used it?

 

UML is a great way to design an architecture and a number of the diagramming tools we looked at are actually defined within UML.  There are some great free papers out there if you do a google search.

Blogger

Has the Python language been used in embedded systems.?

I've not seen it in any production systems but I have used it and seen it used for proof of concept rapid prototyping.  

Blogger

I do have examples of requirements such as requirement documents and traceability matrices.  however they aren't in a readily sendable format.  Any interested please send me an email jacob@beningo.com and remind me and I will put them up on the web and send you a link.

Blogger

In creating software archeticture Step 5 slide 19 and step7 slide 21 are the same .... they are supposed to be in order to drive home the point that someone really shoudl be reviewing the architecture on more than one occasion.  A second pair of eyes will always catch something that the designer is overlooking!  Fresh perspective!  One reason code reviews are so important!

Blogger

Jacob: What does it mean that you're a fan of pineapple? The edible fruit..a band? and hardware platform?  I am a fan of the fruit but it's also just a statement of me being quirky.  You haven't lived until you've had pineapple mac&cheese ..... it's actually delicious!

Blogger

I operate out of the Ann Arbor Michigan area.  

Blogger

I sketch by hand then use visio to formalize it.

Iron

Architecture helps to see that has never been seen

Idea to document, flow chart

@WherleyBird,

The OMG site (http://www.omgsysml.org/#What-Is_SysML) says that "SysML represents a subset of UML 2 with extensions needed to satisfy the requirements of the UML for Systems Engineering RFP"  UML for Software (works for Systms as well...), SysML for Systems.

Question for Tomorrow ... ? Then does that make "UML a subset of SysML or is it an alternate to or replacing UML or is UML for systems in general and SysML for software? Sorry if I'm getting off topic or confusing things. Thanks ...

Thanks Jacob. thanks a lot

Iron

Thanks Jacob.  Have a good day!

Iron

have a good day everybody

Yes i use ifndefs in c+ to set parameters for sensor drivers when I need to use them on different microcontrollers

Iron

@WherleyBird, UML is good for defining Systems as well as Software.  SyML is a superset of UML that is being adopted for System-level architecture.  (But UML works as well.)

? Has anybody in this forum ever used UML for sys design and how helpfull was it?

I have heard that even removing code can break something else..

Thanks for attending everyone!  I have to get back at it!  I will review the log later and answer any questions and comment on anything I may have overlooked.  

I look forward to speaking with everyone tomorrow!

Blogger

precompiler directives #ifndefs similar to #define #if, #elif, etc

Blogger

You can eliminate test modules for production but I always feel that this is scary!  I'm a fan of fly what you test!  Who knows what interaction with test code may break!  There are times when it is necessary but I try to avoid this if I can!

Blogger

micgil2239: What are ifndefs? a C construct?

You could also use ifndefs although I've seen this used and abused to the point where the code is so complex you don't know what is included and what isn't.  A few are okay but if there are too many simplify!

Blogger

? What about UML? Unified Modeling Language for defining the system architecture? How helpfull is UML in systems design and has anybody used it?

When designing for multiple devices you could use ifndefs in your drivers.

Iron

I have one called eDraw that I use that I really like.  Unfortunately though its only a drawing tool so it won't let me autogenerate any code but it's great for "pretty" diagrams and has a lot of benefecial and common software diagrams pre-built into it.

Blogger

Removable code modules: Let's say you need engineering data from a system to verify the final design. Is is practical to include modules (along with their sensors, if required) that address this engineering development needs, then eliminate them from the code for final production?

@Jacob: What diagramming tools do you use?

Iron

I mention Visio but I rarely use it.  I found that it doesn't let me draw diagrams the way I would like to.

Blogger

Alaskaman66, you certainly could.  You could setup a configuration module that has the parameters for your strain gauges and then depending on gauge adjust your configuration.  I'm sure the measurements or the interfaces are similar.  The idea would be to abstract the commonalities into a single driver and anything that changes use configuration.  If there were certain things that always change you could use a call back function to add specific code.

Blogger

I flowchart by hand as I find the awkwardness of Visio and such to interfere with my thought process.  Later I clean it up in Visio.

Iron

Yes. State machine approach is powerful.  Learned its benefits writing for PLCs... carries well over to higher level languages too.

Iron

Glad to hear it!  Boot-loaders are an area that I have a strong interest in.  I hope you enjoy and I'm glad the timing is right!

Blogger

Thank you Ann, Design News and Digi-Key

Iron

Re reusable drivers: Let's say you use strain gauges. Could you develop a basic driver that could interface with a family of different devices, perhaps by changing initialization parameters?

Re: configuration layers link.  Super!  I see you have something on boot loaders there too. I was just doing some research on that at lunch. Great timing! Thanks

Iron

Question:

I am the first time to take your class. I would like to know how to log in for tomorrow class. Please send me the lin k to tuyetthai@abaxis.com . Thanks.

 

Tuyet

Iron

Thanks MathewDElberson for those comments.  Those are great points!

Blogger

@MatthewDElberson: Don't forget RAM.

Iron

As far as configuration layers go there is a paper I did on how to do this that you can find here

http://beningo.com/index.php/design-articles/white-papers.html

 

Also on EDN my earlier blogs showed some examples.  I believe my driver example on Friday will show this also

Blogger

Thanks for the great lecture!

 

Iron

Re: Jacob's question, additional considerations related to environmental conditions for an embedded software architecturecan include (1) mapping of functionality to different task rates to meet customer requirements while avoiding over-scheduling of the processor and (2) development of a memory map to understand how available data flash and code flash will be used.

RE Python question:  look at tiny python.  Better yet, look at eLua http://http://www.eluaproject.net

Iron

Testability!  Great point!  This is often overlooked and I'm glad that you brought it up!  Testability and even adding in debugging and logging capabilities should be in the architecture too not just requirements

Blogger

In my exprerience, hardware and software requirements definition should occur simultaneously.  Someone with a high level view of the entire system needs to define the hardware-software interface before either systems can be developed.  Throughout the architecture process, both teams need to communicate to make sure the two systems can work together.

Iron

I see a mention of user stories and that is a great way to gather requirements and ensure that the architecture meets those needs!  

Blogger

Thanks to Ann, Design News and Digi-Key.

Iron

@dhajicek, System Requirements should preceed BOTH HW and SW requirements.  If the HW and SW requirements are uncoordinated, that seems to indicate a lack of System Engineering activities.

 

Thanks, Jacob, Ann and Digikey. Great lecture.

?? Jacob  - you mentioned a driver configuration level that can be reused.  Can you give advice/links for implementing this?

Iron

A good overview of a process for creating a software architecture. Thanks Jacob.

Iron

Designing testability into the architecture is an important part of the initial design

In a perfect world the H/W and S/W requirements and architectures are designed together!  Although usually it is a push/pull relationship.

Blogger

yes! I've used these methods in systems design. Peer review, documentation, system requirements, critical items, etc. Thanks for the great lecture on SW architecture!

Your welcome!  Please do thank the sponsors on social media as well!  They do a great job of putting these sessions on for us!

Blogger

We must follow similar steps in our software development process. (medical devices - a regulated industry).

Iron

I usually do keep a version log of the architecture.  Sometimes a history can be important to understand why changes were made.  

It helps do document WHY you change something so that in the future if someone asks you can have an answer!

Blogger

Thank you Jacob, Ann, and Digi-Key

Iron

Thanks great info

 

Iron

What is the order of events between H/W and S/W requirements definition.  Too often they do not seem to be coordinated well enough.

Iron

Has the Python language been used in embedded systems.?

Iron

Thanks for attending today!  I hope that you found it informative!  I'm looking forward to the rest of the week as we dive deeper into embedded software

Blogger

We follow a similar development process in hardware design.

Iron

Thank you very much for your excellent lecture!

I see you tomorrow

Iron

Jacob: couldn't find you on FB when searched for Beningo Eng

Thanks Jacob, very helpful!

When will the recorded version be avilable 

Thanks

 

Iron

create user stories and insure that state transitions going on inside the system support the expected user stories

Is AADL a mature approach in architecture desgin?

Iron

Thanks for the excellent presentation again!

You can review this documentation with your customer for his feed back.

Iron

Prototype SW to verify functionality

Iron

Do you try to keep track of the differences in the architecture over time, by using some type of version control or results over time for the diagrams?

Iron

Thanks, Jacob!

What's up with the pineapples?

A structure that "abstracts" environment (hardware, o.s.) considerations from environment-independent Application components.

Thank You for such a nice overview.

Iron

Thank you, Jacob! Very informative...

Iron

Facebook Beningo Engineering link doesn't work.

I try to follow IEEE standards for software development. Then reality intervenes and I just start coding, while designing circuitry, working with marketing, and putting out fires on the production floor.

 

Thank you Jacob, Ann, and Digi-Key

Gold

Thanks Jacob and Ann.

Iron

Thanks for the lecture.

Iron

Similar but sometimes certain skips due to time constraints.

Iron

Excellent presentation, thanks a lot

Iron

Having the software architecture defined ahead of time helps a great deal during generation of formal documentation.

Iron

Very good!! Thanks

Platinum

Thank you for another great presentation Jacob

Iron

We do design review and presenting the architechture and getting feedback.

Iron

I do follow somewhat similar steps.

Iron

ProtoType the most complex issues first 

Iron

Yes, we have several peer rviews as well as a Critical Design Review with stakeholders

 

Iron

@BenjaminSweet   I'm having that same exact issue

Iron

We are now on Slide 23

Blogger

Jacob's question was: Does anyone follow similar steps?  What else might be involved in this process?

Blogger

Jacob, Do you have a example of requirements and how to use a tool to Implement and code (small project)

Iron

We are now on Slide 22

Blogger

The software architechture will help find questions that need to be answered.

Iron

We are now on Slide 21

Blogger

I am trying to transition from Visio (pictures of modelling elements, but no simulation or code generation capability) to Modeling tools that allow for simulation and code generation.  Enterprise Architect and Rhapsody have simulation and code generation capability, and also some amount or "reverse engineering" capability.

 

Jacob, do you have any tips for how to make a software architecture more robust to future changes in customer requirements?

We are now on Slide 20

Blogger

We are now on Slide 19

Blogger

MS Visio for flowcharts and any psuedocode

 

Iron

We are now on Slide 18

Blogger

Are there any other architecture tools you have found useful in the past?  What are they?


No, relativly new to this.

Iron

I've used MS Visio for creating state charts, flow charts, etc.

Iron

We are now on Slide 17

Blogger

We are now on Slide 16

Blogger

I have use Microsoft Excell to create the state table.  Then I export it as a CSV file and include it directly into my code.  Then it is always up-to-date.

I also use VISiO to draw Sequece Diagrams and State Machines, but more intelligent tools will be great.

I always flowcharted with fortran. Seems the people reaching OO always look down upon it.
Iron

Visio.  Pen and paper.

Iron

Enterprise Architect and Visio

Iron

edraw is one of my favorites too

Iron

IAR VisualState does Harel statecharts well

Have not used any architecture tools.

Iron

I generally just use Visio.

Iron

We are now on Slide 15

Blogger

Enterprise Architect, Astah (Community edition is free!)

Jacob's question was: Are there any other architecture tools you have found useful in the past?  What are they?

Blogger

Higher level diagrams help alot in debugging  system

 

Iron

We are now on Slide 14

Blogger

We are now on Slide 13

Blogger

We are now on Slide 12

Blogger

We are now on Slide 11

Blogger

defining a software architecture makes the flow of work easy

Iron

We are now on Slide 10

Blogger

Defining the architecture can help to optimize the code for the hardware design.

Iron

determine if sensors are at the MCU or at the radio

Gold

Can you name a few additional reasons why you want to define a software architecture?


To know how the code is actually going to be implemented together, also to see if you will have to use code which you have already previously created.

Iron

predefined architectural drivers like maintainability, reliability, testability, etc improves the design

Say you're constructing an in-house control unit for a solar therman system. Here, some additional engineering considerations might be: 1) don't bother finding the cheapest or smallest microcontroller available; 2)Gui can be invisible, say by host download; 3) use a microcontroller you're familiar with, even if it's overkill

using flow charts is a good option 

 

Iron

Instead of flow charts, I use pseudocode.

Gold

Case Study help look for holes in the design

Iron

RAM vs. EPROM or microSD;

loops vs. interrupts

Gold

Defining the architecture upfront will save time down the line if the pieces don't fall in place...

Iron

some more reasons:  identify key critical components and segregate from generic easy supporting components.  this enables focused experimental code to be written early, to prove out key system capabilities

 

So you can converge on a design

Iron

An defined architecture is very important if there are multiple developers so everyone is on the same page.

Iron

more efficient design cycles

better for breaking programming into smaller sections for programming in teams.

Iron

Defining the architecture up front helps develop an understanding of how the system is supposed to work, which can result in fewer bugs in your code.

Iron

Allows the team/organization to identify components that can be re-used in other products/projects, and can be re-used FROM other products/projects.

 

Maybe you know the architecture in your head, but other developers/collaborators will need to see what you envision.

Iron

Defining an architecture in the beginning helps you to avoid painting yourself into a corner.

Gold

create documentation; good for maintenance, etc.

Iron

It helps with V&V of software for FDA.

Define up front ensures entire team is on the 'same page' and in sync.

Iron

For explaining to other team members what and how something is being implemented.

 

Iron

Define architecture to limit choices and establish constraints and assumptions.

Makes coding faster and decrease errors.

Iron

ultimately saves time 

 

Iron

It also helps you define how to apply the requirements within the hardware platform you're working with.

Iron

Easier for the next person to maintain

Iron

Communicating architecture among a group working on the project.

Iron

Jacob's question was: Can you name a few additional reasons why you want to define a software architecture?

Blogger

architecture includes describing the internal system states & state diagrams, data model, internal system transactions, external views and transactions, etc.

An structured way to design software

Iron

Hello from Panama City FL

Iron

i wish the audio would auto start, why do i have to click it every time?

Iron

Software Architecture - understanding how a system interacts and defining component interactions.

Iron

A software architecture is a description of a software system

Iron

Software architecture is the hierarchical organization of a system and it components.

Iron

The logical requirements and how to translate those into code; the hardware interface design requirements.

Hi from south central PA

A software architecture is a high level description of a software system. (repost)

Iron

SW architecture is overall sw organization & strategy

Iron

SW architecture = flow chart of functionality.

Iron

Framework for the software components and how they interact.

Iron

Project approach that takes into account hardware & software

Iron

Slide 4 pretty much covers my definition.

Iron

The building blocks you make before you actually write the software, for example charts and diagrams

 

Iron

A softrware architecture is a high level description of a software system.

Iron

A description of how the pieces fit together.

 

Good afternoon everyone
Iron

Framework in which all the software components are connected.

Iron

"Architecture" describes the decomposition of the overall sytstem into compnents, and the interactions and interfaces between them.

 

Simplified model/abstraction .

Jacob's question was: What is your definition of a software architecture?

Blogger

Hi Gilber a fellow calgarian here. Its a cold one out there

 

Iron

Good afternoon from West Point, PA.

Iron

HI from cold Calgary, Alberta

Morning from North Pole, AK

Iron

Hi all -Audio is live! If you don't see the audio bar at the top of the screen, please refresh your browser. It may take a couple tries. When you see the audio bar, hit the play button. If you experience audio interruptions and are using IE, try using FF or Chrome as your browser. Many people experience issues with IE. Also, make sure your flash player is updated with the current version. Some companies block live audio streams, so if that is the case for your company, the class will be archived on this page immediately following the class and you can listen then. People don't experience any issues with the audio for the archived version.

Hi All from Raleigh, NC!

Iron

Hello from northern California (some rain finally today ...)

Iron

Greetings from Somewhere on the Niagara Frontier

Iron

Good morning from Valdez

Hello from Burnaby BC

Iron

hello from snowy (again) edmonton, alberta

Iron

Greetings from NC

 

Iron

good afternoon everyone.

 

Iron

good afternoon everyone.

 

Iron

Hello from Charleston...

Greetings from the right side of Atlantic Sea at Valladolid, Spain

Iron

Hello everyone from Coventry (UK)

 

Iron

Greetings from Boston metro west. A sunny and brisky day at 45 DegF!

Iron

Be sure to follow @designnews and @DigiKeyCEC on Twitter for the latest class information. We encourage you to tweet about today's class using the hashtag #CEC.

Blogger

Hello from Albuquerque.

Iron

Hello from a sunny Montana after a nice rain

Gold

Please join our Digi-Key Continuing Education Center LinkedIn Group at http://linkd.in/yoNGeY

Blogger

Hello again from Beaverton, Oregon.

Iron

In creating software archeticture Step 5 slide 19 and step7 slide 21 are the same

Iron

The streaming audio player will appear on this web page when the show starts at 2 PM Eastern time today. Note however that some companies block live audio streams. If when the show starts you don't hear any audio, try refreshing your browser. If that doesn't work, try using Firefox or Google Chrome as your browser. Some users experience audio interruptions with IE. If that doesn't work, the class will be archived immediately following our live taping.

Blogger

Hello from El Pao, TX

 

Iron

Be sure to click 'Today's Slide Deck' under Special Educational Materials above right to download the PowerPoint for today's session.

Blogger

Hello from sunny SE Lake Simcoe area of Ontario Canada.

Where's Toronto?

Iron

"Hello" from north of Toronto ;-)

Iron

Greetings from a chilly (but sunny) Chicago!

Iron

Good morning from rainy San Ramon, CA.

Hello from Summerville, SC. How is everyone doing?

Iron

Good morning from Scottsdale,AZ

Iron

Good morning from Mobile, AL

Jacob: What does it mean that you're a fan of pineapple? The edible fruit..a band? and hardware platform?

Good morning from cloudy and cold Mayfield Hts. Ohio, home of Rockwell Automation's Advanced Technology Lab.

Morning from Portland Oregon

Iron

Early morning - or - late night from Valdez

Hi from Beaverton, Oregon. Getting the slidess.

Iron

Where do you operate from, Jacob ?



Partner Zone
Latest Analysis
Take a look at the top 20 US undergraduate engineering programs. Then tell us -- did your school make the cut?
Producing high-quality end-production metal parts with additive manufacturing for applications like aerospace and medical requires very tightly controlled processes and materials. New standards and guidelines for machines and processes, materials, and printed parts are underway from bodies such as ASTM International.
Engineers at the University of San Diego’s Jacobs School of Engineering have designed biobatteries on commercial tattoo paper, with an anode and cathode screen-printed on and modified to harvest energy from lactate in a person’s sweat.
A Silicon Valley company has made the biggest splash yet in the high-performance end of the electric car market, announcing an EV that zips from 0 to 60 mph in 3.4 seconds and costs $529,000.
The biggest robot swarm to date is made of 1,000 Kilobots, which can follow simple rules to autonomously assemble into predetermined shapes. Hardware and software are open-source.
More:Blogs|News
Design News Webinar Series
7/23/2014 11:00 a.m. California / 2:00 p.m. New York
7/17/2014 11:00 a.m. California / 2:00 p.m. New York
6/25/2014 11:00 a.m. California / 2:00 p.m. New York
5/13/2014 10:00 a.m. California / 1:00 p.m. New York / 6:00 p.m. London
Quick Poll
The Continuing Education Center offers engineers an entirely new way to get the education they need to formulate next-generation solutions.
Sep 8 - 12, Get Ready for the New Internet: IPv6
SEMESTERS: 1  |  2  |  3  |  4  |  5  |  6


Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.
Next Class: September 30 - October 2
Sponsored by Altera
Learn More   |   Login   |   Archived Classes
Twitter Feed
Design News Twitter Feed
Like Us on Facebook

Sponsored Content

Technology Marketplace

Copyright © 2014 UBM Canon, A UBM company, All rights reserved. Privacy Policy | Terms of Service