Software Engineering
-
At a recent computer software engineering course, the participants were given an awkward question to answer: "If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?" Among the ensuing forest of raised hands only one man sat motionless. When asked what he would do, he replied that he would be quite content to stay aboard. With his team's software, he said, the plane was unlikely to even taxi as far as the runway, let alone take off.
Regards, Satips.
Satips wrote:
"If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?"
Since I'm the only one on my team, I would have to politely excuse myself.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
-
Satips wrote:
"If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?"
No. I would not disembark. In fact we have F4 flying falcon Phantom's remote flown via software regularly. So yes, we fly planes via software all the time, and they fly and land. -- modified at 10:40 Friday 29th December, 2006 (I claim as an excuse, lack of coffee and distraction from girlfriend in town. ;) )
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
From a serious military aircraft enthusiast I offer a correction: There is either an F-4 in it's various modifications "Phantom" or there is an F-16 in it's various modifications "Falcon" also known as a "Fighting Falcon" but I do not believe there is an "F4 Flying Falcon". Now perhaps I'm wrong but I've been following these things since I was about 6 and think I'm right. The key word of course being *think*.:-D
-
At a recent computer software engineering course, the participants were given an awkward question to answer: "If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?" Among the ensuing forest of raised hands only one man sat motionless. When asked what he would do, he replied that he would be quite content to stay aboard. With his team's software, he said, the plane was unlikely to even taxi as far as the runway, let alone take off.
Regards, Satips.
There are airliners out there flying with software that I've written...so I'd have to say that I would have no hesitation in getting on board!
-
From a serious military aircraft enthusiast I offer a correction: There is either an F-4 in it's various modifications "Phantom" or there is an F-16 in it's various modifications "Falcon" also known as a "Fighting Falcon" but I do not believe there is an "F4 Flying Falcon". Now perhaps I'm wrong but I've been following these things since I was about 6 and think I'm right. The key word of course being *think*.:-D
you are right, talking F16 and F4 in same context mixed me up. Our Falcon's are from Kirtland, our Phantoms are targets. :) I stand... errr.. sit corrected. thank you.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
Satips wrote:
"If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?"
No. I would not disembark. In fact we have F4 flying falcon Phantom's remote flown via software regularly. So yes, we fly planes via software all the time, and they fly and land. -- modified at 10:40 Friday 29th December, 2006 (I claim as an excuse, lack of coffee and distraction from girlfriend in town. ;) )
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
Some days ago, inside a plane coming back from Germany one coworker and me were talking about the software that a plane would need to fly automatically. We talked a lot on the devices that the plane should have in order to know it's exact position and then we arrived to the point on how to make it behave correctly without sudden movements and taking the best decisions all time. We finally decided that fuzzy logic and neural networks should do the trick, we arrived at that decision because we believed that PID's wouldn't be the right choice as the environment is changing constantly (wind, air pressures, ...). Were we very far away from what is needed in order to control a plane? We are machine builders and they don't need to fly, so at least our equipment cannot crash during landing ;). (of course it can crash in other situations, but don't tell this to anybody ;P).
-
Hmm. If it was an F-16 (not exactly an airliner), I would board immediately. I used to work for a company that did independent verification and validation testing for an experimental version of the F-16 flight control software. We built an emulator of the flight control system from the original design documents. During our tests, we uncovered one minor design flaw, and a couple of minor performance issues. None of these problems affected normal flight or pilot survivability.
Software Zen:
delete this;
Some days ago, inside a plane coming back from Germany one coworker and me were talking about the software that a plane would need to fly automatically. We talked a lot on the devices that the plane should have in order to know it's exact position and then we arrived to the point on how to make it behave correctly without sudden movements and taking the best decisions all time. We finally decided that fuzzy logic and neural networks should do the trick, we arrived at that decision because we believed that PID's wouldn't be the right choice as the environment is changing constantly (wind, air pressures, ...). Were we very far away from what is needed in order to control a plane? We are machine builders and they don't need to fly, so at least our equipment cannot crash during landing ;). (of course it can crash in other situations, but don't tell this to anybody ;P).
-
Some days ago, inside a plane coming back from Germany one coworker and me were talking about the software that a plane would need to fly automatically. We talked a lot on the devices that the plane should have in order to know it's exact position and then we arrived to the point on how to make it behave correctly without sudden movements and taking the best decisions all time. We finally decided that fuzzy logic and neural networks should do the trick, we arrived at that decision because we believed that PID's wouldn't be the right choice as the environment is changing constantly (wind, air pressures, ...). Were we very far away from what is needed in order to control a plane? We are machine builders and they don't need to fly, so at least our equipment cannot crash during landing ;). (of course it can crash in other situations, but don't tell this to anybody ;P).
Joan Murt wrote:
We finally decided that fuzzy logic and neural networks should do the trick, we arrived at that decision because we believed that PID's wouldn't be the right choice as the environment is changing constantly (wind, air pressures, ...).
hehehe, you are making it very difficult. Drop back to the simple idea. When a plane is in the air, you only need to report its position, control should be based on immediate effects without respect to anything else. If the plane position is dropping, pitch up, if rising, pitch down. Give a little leeway so that you are not "always" adjusting position due to error in position calculation and keep things steady. The times you care most for "accuracy" is landing and take off. Add additional position correction for pinpoint accuracy, and apply the same logic above with greater accuracy and control.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
Joan Murt wrote:
We finally decided that fuzzy logic and neural networks should do the trick, we arrived at that decision because we believed that PID's wouldn't be the right choice as the environment is changing constantly (wind, air pressures, ...).
hehehe, you are making it very difficult. Drop back to the simple idea. When a plane is in the air, you only need to report its position, control should be based on immediate effects without respect to anything else. If the plane position is dropping, pitch up, if rising, pitch down. Give a little leeway so that you are not "always" adjusting position due to error in position calculation and keep things steady. The times you care most for "accuracy" is landing and take off. Add additional position correction for pinpoint accuracy, and apply the same logic above with greater accuracy and control.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
Sure... the easiest answer tends to be the best one. In that case, while you are in the air, I suppose that what you search for is to more or less provide a comfortable flight, so you can afford precision errors because they will be corrected in short... In my machines I'm used to speak about - A precision of micrometers (that must be exactly the same in each repetitive cycle). - Speeds of up to 10 m/s. (in one axis the TCP can reach 30 m/s). - Accelerations up to 30 g (in each axis). This is why I cannot rely on the direct response and placing time filters make it even more difficult. Of course in my machines I can rely the control part on simple PID's that can be adjusted. This is because there are no significant external changes. You are working on a nice and interesting job. Regards.
-
At a recent computer software engineering course, the participants were given an awkward question to answer: "If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?" Among the ensuing forest of raised hands only one man sat motionless. When asked what he would do, he replied that he would be quite content to stay aboard. With his team's software, he said, the plane was unlikely to even taxi as far as the runway, let alone take off.
Regards, Satips.
I would stay in my unconfortable seat, order a stiff drink, and fall asleep.
Maximilien Lincourt Your Head A Splode - Strong Bad
-
Sure... the easiest answer tends to be the best one. In that case, while you are in the air, I suppose that what you search for is to more or less provide a comfortable flight, so you can afford precision errors because they will be corrected in short... In my machines I'm used to speak about - A precision of micrometers (that must be exactly the same in each repetitive cycle). - Speeds of up to 10 m/s. (in one axis the TCP can reach 30 m/s). - Accelerations up to 30 g (in each axis). This is why I cannot rely on the direct response and placing time filters make it even more difficult. Of course in my machines I can rely the control part on simple PID's that can be adjusted. This is because there are no significant external changes. You are working on a nice and interesting job. Regards.
Joan Murt wrote:
Speeds of up to 10 m/s. (in one axis the TCP can reach 30 m/s).
30? that is only 58knots, that is slow. Are you driving rather than flying? or running miniatures? of course that is fast for our tanks, but we do hold the land-speed record for remote controlled full-scale trucks. :rolleyes:
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
you are right, talking F16 and F4 in same context mixed me up. Our Falcon's are from Kirtland, our Phantoms are targets. :) I stand... errr.. sit corrected. thank you.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
I take it you find computer games boring after that :laugh:
-
Joan Murt wrote:
Speeds of up to 10 m/s. (in one axis the TCP can reach 30 m/s).
30? that is only 58knots, that is slow. Are you driving rather than flying? or running miniatures? of course that is fast for our tanks, but we do hold the land-speed record for remote controlled full-scale trucks. :rolleyes:
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
Jeffry J. Brickley wrote:
Are you driving rather than flying? or running miniatures?
No! :-O we are not making anything related to vehicles neither planes, my comment started inside a plane a couple of weeks ago, and my question was about being curious. We make special machine prototypes, this last month we have had an article in an electronic magazine about our job. so if you want, I could send you the link, but again it has nothing to do with planes or vehicles. It's completely different. I was telling you that we are used to those other value ranges because our job needs that and that the most important thing here is to get it as precise as possible 100 micrometers would be nice. But again, this has nothing to do with vehicles (flying, driving or going under water) (but I can promise you that sometimes I would drive far away from here in order to kick a machine in order to make it fly and then leave it fall into the see). Regards.
-
ednrgc wrote:
Taking off in an F16 isn't a problem. Landing one needs to be (almost) pinpoint exact.
About ten years ago, I remember an F16 running out of fuel. The pilot had to glide it in. There was a camera onboard the plane. CNN played the film along with the sound of the pilot's voice as he brought it in. You could tell he was pretty scared by the heavy breathing in his voice, but he stuck with it and brought it in safely instead of bailing. Never forget watching that.
-
I take it you find computer games boring after that :laugh:
Trollslayer wrote:
I take it you find computer games boring after that
only flight simulation. I prefer ancient fantasy, or futuristic Sci-Fi types, far away from the real world. WWII and army sims are too close to day-to-day work, so I go for the outlandish, martial arts games (providing they have a good story), sci-fi games (sometimes even if they don't have a good story), and magic. :-D
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
I would stay in my unconfortable seat, order a stiff drink, and fall asleep.
Maximilien Lincourt Your Head A Splode - Strong Bad
:laugh: Same here :rolleyes:
-
Joan Murt wrote:
We finally decided that fuzzy logic and neural networks should do the trick, we arrived at that decision because we believed that PID's wouldn't be the right choice as the environment is changing constantly (wind, air pressures, ...).
hehehe, you are making it very difficult. Drop back to the simple idea. When a plane is in the air, you only need to report its position, control should be based on immediate effects without respect to anything else. If the plane position is dropping, pitch up, if rising, pitch down. Give a little leeway so that you are not "always" adjusting position due to error in position calculation and keep things steady. The times you care most for "accuracy" is landing and take off. Add additional position correction for pinpoint accuracy, and apply the same logic above with greater accuracy and control.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
Jeffry J. Brickley wrote:
Drop back to the simple idea. When a plane is in the air, you only need to report its position, control should be based on immediate effects without respect to anything else. If the plane position is dropping, pitch up, if rising, pitch down. Give a little leeway so that you are not "always" adjusting position due to error in position calculation and keep things steady.
Yes!
-
Hmm. If it was an F-16 (not exactly an airliner), I would board immediately. I used to work for a company that did independent verification and validation testing for an experimental version of the F-16 flight control software. We built an emulator of the flight control system from the original design documents. During our tests, we uncovered one minor design flaw, and a couple of minor performance issues. None of these problems affected normal flight or pilot survivability.
Software Zen:
delete this;
Exactly ! I think you can by no means compare the development process of "normal" software with the development process of Software where the life of humans could be at stake, if an error occurs. I myself worked for a few years for a company that is a well known supplier for motormanagement systems and Software for Diesel engines in cars. And I can say that beginning with design, coding rules, use of a huge number of predefined and well tested macros (instead using your own stuff), code review by at least 3 persons for every single piece of software you write, testing the software on system simulators, after this, testing the software on real engines, exact documentation of the outcome of testcases, etc... it's a VERY well defined process that minimizes the risk of failures. A process that is lightyears ahead of the processes used in non-critical software. (As far as I have found out till now). Marius
--------------------------------------------------------- Complete freedom is a state without context ---------------------------------------------------------
-
Exactly ! I think you can by no means compare the development process of "normal" software with the development process of Software where the life of humans could be at stake, if an error occurs. I myself worked for a few years for a company that is a well known supplier for motormanagement systems and Software for Diesel engines in cars. And I can say that beginning with design, coding rules, use of a huge number of predefined and well tested macros (instead using your own stuff), code review by at least 3 persons for every single piece of software you write, testing the software on system simulators, after this, testing the software on real engines, exact documentation of the outcome of testcases, etc... it's a VERY well defined process that minimizes the risk of failures. A process that is lightyears ahead of the processes used in non-critical software. (As far as I have found out till now). Marius
--------------------------------------------------------- Complete freedom is a state without context ---------------------------------------------------------
marius_romanus wrote:
I myself worked for a few years for a company that is a well known supplier for motormanagement systems and Software for Diesel engines in cars. And I can say that beginning with design, coding rules, use of a huge number of predefined and well tested macros (instead using your own stuff), code review by at least 3 persons for every single piece of software you write, testing the software on system simulators, after this, testing the software on real engines, exact documentation of the outcome of testcases, etc... it's a VERY well defined process that minimizes the risk of failures. A process that is lightyears ahead of the processes used in non-critical software. (As far as I have found out till now).
...and calender years more time consuming, which is why normal software development doesn't use anything like it.
-- Rules of thumb should not be taken for the whole hand.
-
marius_romanus wrote:
I myself worked for a few years for a company that is a well known supplier for motormanagement systems and Software for Diesel engines in cars. And I can say that beginning with design, coding rules, use of a huge number of predefined and well tested macros (instead using your own stuff), code review by at least 3 persons for every single piece of software you write, testing the software on system simulators, after this, testing the software on real engines, exact documentation of the outcome of testcases, etc... it's a VERY well defined process that minimizes the risk of failures. A process that is lightyears ahead of the processes used in non-critical software. (As far as I have found out till now).
...and calender years more time consuming, which is why normal software development doesn't use anything like it.
-- Rules of thumb should not be taken for the whole hand.
dan neely wrote:
...and calender years more time consuming, which
Of course that is true ! But in this area the customers are willing to pay for it ! I only came up with this because of the initial post that leaves me thinking that people who won't board a plane if their developers wrote the software for it, do not know what the standards for writing security relevant software are. Marius
--------------------------------------------------------- Complete freedom is a state without context ---------------------------------------------------------
-
At a recent computer software engineering course, the participants were given an awkward question to answer: "If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?" Among the ensuing forest of raised hands only one man sat motionless. When asked what he would do, he replied that he would be quite content to stay aboard. With his team's software, he said, the plane was unlikely to even taxi as far as the runway, let alone take off.
Regards, Satips.
Having spent 5 years writing air traffic control software, I nonetheless continue to board planes, since I tend to fly in a somewhat well lubricated state anyway. It's the people that know me who are nervous. :-D
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com