Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Software Engineering

Software Engineering

Scheduled Pinned Locked Moved The Lounge
questioncollaborationlearning
35 Posts 20 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Maximilien

    I would stay in my unconfortable seat, order a stiff drink, and fall asleep.


    Maximilien Lincourt Your Head A Splode - Strong Bad

    P Offline
    P Offline
    Paul Conrad
    wrote on last edited by
    #23

    :laugh: Same here :rolleyes:

    1 Reply Last reply
    0
    • E El Corazon

      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)

      1 Offline
      1 Offline
      123 0
      wrote on last edited by
      #24

      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!

      E 1 Reply Last reply
      0
      • G Gary R Wheeler

        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;

        Fold With Us![^]

        M Offline
        M Offline
        marius_romanus
        wrote on last edited by
        #25

        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 ---------------------------------------------------------

        D 1 Reply Last reply
        0
        • M marius_romanus

          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 ---------------------------------------------------------

          D Offline
          D Offline
          Dan Neely
          wrote on last edited by
          #26

          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.

          M 1 Reply Last reply
          0
          • D Dan Neely

            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.

            M Offline
            M Offline
            marius_romanus
            wrote on last edited by
            #27

            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 ---------------------------------------------------------

            1 Reply Last reply
            0
            • S Sathesh Sakthivel

              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.

              C Offline
              C Offline
              Christopher Duncan
              wrote on last edited by
              #28

              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

              1 Reply Last reply
              0
              • S Sathesh Sakthivel

                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.

                W Offline
                W Offline
                WillemM
                wrote on last edited by
                #29

                :laugh:

                WM. What about weapons of mass-construction? "You can always try to smash it with a wrench to fix that. It might actually work" - WillemM

                I 1 Reply Last reply
                0
                • E El Corazon

                  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)

                  P Offline
                  P Offline
                  peterchen
                  wrote on last edited by
                  #30

                  Jeffry J. Brickley wrote:

                  distraction from girlfriend in town

                  Think of the poor guys who have this all the time :cool:


                  Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
                  We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                  Linkify!|Fold With Us!

                  E 1 Reply Last reply
                  0
                  • W WillemM

                    :laugh:

                    WM. What about weapons of mass-construction? "You can always try to smash it with a wrench to fix that. It might actually work" - WillemM

                    I Offline
                    I Offline
                    Iain Clarke Warrior Programmer
                    wrote on last edited by
                    #31

                    Well, a significant proportion of modern airliners have several parts tested on machines my company makes and I write the software for.... And they wonder why I wanted a USB Ice maker for my morning whisky.... OK, I'm kidding about the drinking at work, and other people do put my stuff through tests, but the responsilbility does occasionally blow me away when I think about it. And as my customers are all around the world, I fly on those planes too. Even if I don't care about *your* life, I care about my own! Iain. [I'm sure I replied to the main message of this thread. ah well... I'll blame shog!]

                    1 Reply Last reply
                    0
                    • 1 123 0

                      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!

                      E Offline
                      E Offline
                      El Corazon
                      wrote on last edited by
                      #32

                      I never said your reasons were wrong, only your conclusions. Simplification can never replace accuracy and in many situations speed. In the example above, you know where you need accuracy, landing and take off, and increase accuracy to the sub-foot. In air, accuracy is based on mission need, which in some cases may be more than you can imagine, but the ultimate accuracy is based on preservation of the craft which means altitude and smooth flight (a rough flight puts more effort on the control structures). What you ignore is that some of us have a great deal of experience in putting accuracy where it is needed. When we tell you we need more accuracy than you want to give people, you throw a hissy fit saying all of us don't know what we are talking about, quote some idiotic irrelevant paper and quote your math education. The world is larger than what you imagine, and accuracy is very important in some places. I, for one, would not want to pilot a UAV at low-altitude through a canyon using your ideas on math. Of course, the good news, it wouldn't be much effort, since the vehicle would crash rapidly and your job would be done.

                      _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                      1 1 Reply Last reply
                      0
                      • P peterchen

                        Jeffry J. Brickley wrote:

                        distraction from girlfriend in town

                        Think of the poor guys who have this all the time :cool:


                        Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
                        We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                        Linkify!|Fold With Us!

                        E Offline
                        E Offline
                        El Corazon
                        wrote on last edited by
                        #33

                        peterchen wrote:

                        Think of the poor guys who have this all the time

                        Eventually I hope to be one of them. :-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)

                        1 Reply Last reply
                        0
                        • E El Corazon

                          I never said your reasons were wrong, only your conclusions. Simplification can never replace accuracy and in many situations speed. In the example above, you know where you need accuracy, landing and take off, and increase accuracy to the sub-foot. In air, accuracy is based on mission need, which in some cases may be more than you can imagine, but the ultimate accuracy is based on preservation of the craft which means altitude and smooth flight (a rough flight puts more effort on the control structures). What you ignore is that some of us have a great deal of experience in putting accuracy where it is needed. When we tell you we need more accuracy than you want to give people, you throw a hissy fit saying all of us don't know what we are talking about, quote some idiotic irrelevant paper and quote your math education. The world is larger than what you imagine, and accuracy is very important in some places. I, for one, would not want to pilot a UAV at low-altitude through a canyon using your ideas on math. Of course, the good news, it wouldn't be much effort, since the vehicle would crash rapidly and your job would be done.

                          _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                          1 Offline
                          1 Offline
                          123 0
                          wrote on last edited by
                          #34

                          Jeffry J. Brickley wrote:

                          Simplification can never replace accuracy and in many situations speed.

                          Of course not. But simplification can increase reliability and usually does speed things up.

                          Jeffry J. Brickley wrote:

                          When we tell you we need more accuracy than you want to give people...

                          But I place absolutely no restrictions on accuracy - except, of course, necessity. Whatever degree of accuracy is necessary is not only fine with me, but is exactly what I would recommend. No more, no less.

                          Jeffry J. Brickley wrote:

                          I, for one, would not want to pilot a UAV at low-altitude through a canyon using your ideas on math.

                          I'm not so sure, because I think, in the end, we'd do it essentially the same way. Too far to the left, go right; too far to the right, go left. With a bit of hysteresis, of course. I know I wouldn't, and I don't think you would try to "calculate" the required path in its entirety; that sort of thing just doesn't work in real life - even with extreme precision. The place, I think, where we would differ is that I would ultimately choose to work with integers or fixed-point numbers representing a sufficiently small unit of measure on one or more trivial, dedicated (but networked) stack machines, while you would prefer (I think) to work with floating point numbers on a multi-tasking, multi-core, parallel processing CISC computer. But that's a difference in technique, not essence, because my "collection" of stack machines, taken as a whole, is a multi-tasking, multi-core parallel processing system; it's just more loosely coupled and is based on a simpler architecture and a smaller instruction set.

                          E 1 Reply Last reply
                          0
                          • 1 123 0

                            Jeffry J. Brickley wrote:

                            Simplification can never replace accuracy and in many situations speed.

                            Of course not. But simplification can increase reliability and usually does speed things up.

                            Jeffry J. Brickley wrote:

                            When we tell you we need more accuracy than you want to give people...

                            But I place absolutely no restrictions on accuracy - except, of course, necessity. Whatever degree of accuracy is necessary is not only fine with me, but is exactly what I would recommend. No more, no less.

                            Jeffry J. Brickley wrote:

                            I, for one, would not want to pilot a UAV at low-altitude through a canyon using your ideas on math.

                            I'm not so sure, because I think, in the end, we'd do it essentially the same way. Too far to the left, go right; too far to the right, go left. With a bit of hysteresis, of course. I know I wouldn't, and I don't think you would try to "calculate" the required path in its entirety; that sort of thing just doesn't work in real life - even with extreme precision. The place, I think, where we would differ is that I would ultimately choose to work with integers or fixed-point numbers representing a sufficiently small unit of measure on one or more trivial, dedicated (but networked) stack machines, while you would prefer (I think) to work with floating point numbers on a multi-tasking, multi-core, parallel processing CISC computer. But that's a difference in technique, not essence, because my "collection" of stack machines, taken as a whole, is a multi-tasking, multi-core parallel processing system; it's just more loosely coupled and is based on a simpler architecture and a smaller instruction set.

                            E Offline
                            E Offline
                            El Corazon
                            wrote on last edited by
                            #35

                            The Grand Negus wrote:

                            The place, I think, where we would differ is that I would ultimately choose to work with integers or fixed-point numbers representing a sufficiently small unit of measure on one or more trivial

                            which is EXACTLY where you loose accuracy. You are so hot on the idea that you can simply achieve "accuracy" by using an integer to represent an accurate measurement by saying the unit is a centimeter. BUT you forget the errors in multiplication and division when you have round-off errors. The result can be loss of meters in resolution due to multiplication round off, even when you return the final result to centemeter, and down goes the craft. Integers cannot replace floating point numbers, no matter what you "call" the accuracy, you cannot have it. floating point numbers are more accurate because of preservation of the round-off bits.

                            _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups