JF-17/FC-1 Fighter Aircraft thread

Brumby

Major
All sensible discourse is grounded on the fact that the exchanges are logical reasoned. Unfortunately, in many cases such as this the arguments made invoking hand phones and motor vehicles in place of fighter planes are straw man arguments. In layman terms it is an apples vs oranges comparison.

During the mid-60s, the IBM operating system OS360 (©IBM Corporation), which had a million lines of code and a price tag of 500 million dollars, was considered as the most complex human artifact ever produced up to then. This size was subsequently dwarfed by Microsoft’s Windows operating systems (©Microsoft): The 1993 version (Windows NT 3.1) is estimated to be 5 million lines of code, whereas the 2003 version (Windows Server 2003) is estimated to be 50 million lines of code.
(Source : Page 6, Software testing by Ali Mili and Fairouz Tchier)

What has this example got to do with the present conversation on radar and ECM integration – nothing because they are apples vs oranges comparison.

On the same page of the book it described that between 1960 and 2000, the percentage of flight control functionality that is delegated to software jumped from 8 to 80%, leading to an increase in size from one generation of aircrafts to another; hence it went from 1000 lines of code for the F-4A to 1.7 million lines of code for the F-22.

More importantly, 90 % of the lines of code were related to its avionic systems and radar functions.

Why is this relevant to the JF-17 conversation? We know that more than likely the JF-17 Block 3 will get an AESA radar. AESA radar are highly capable because they are software centric and all those wonderful things like frequency agility, variable power management and LPI waveforms are because they are software driven. ECM likewise are progressively digital and software driven. Integrating two different systems will be challenging especially when built by two very different groups. Arguing that it is simply plug and play is at best misguided and at worst delusional.
 

Tam

Brigadier
Registered Member
I read that the JF-17 Thunder uses the C++ programming language rather than the ADA. The reason for this is to allow the jets program to gain access to the large numbers of civilian programmers.

True. Though I would expect things like image recognition, such as used on IRST and MAWS, or with optical seekers used to air to ground missiles, to be on Python. Python is also very popular in China.

Lets not forget that the FBW system used on a plane is going to use a ton of code. I would expect the J-20 to use more than a ton of code on its FBW because a delta canard is less stable (pitch happy) than a conventional layout and would require frequent corrections.
 

Tam

Brigadier
Registered Member
All sensible discourse is grounded on the fact that the exchanges are logical reasoned. Unfortunately, in many cases such as this the arguments made invoking hand phones and motor vehicles in place of fighter planes are straw man arguments. In layman terms it is an apples vs oranges comparison.

During the mid-60s, the IBM operating system OS360 (©IBM Corporation), which had a million lines of code and a price tag of 500 million dollars, was considered as the most complex human artifact ever produced up to then. This size was subsequently dwarfed by Microsoft’s Windows operating systems (©Microsoft): The 1993 version (Windows NT 3.1) is estimated to be 5 million lines of code, whereas the 2003 version (Windows Server 2003) is estimated to be 50 million lines of code.
(Source : Page 6, Software testing by Ali Mili and Fairouz Tchier)

What has this example got to do with the present conversation on radar and ECM integration – nothing because they are apples vs oranges comparison.

No. You are talking about oranges vs. bigger orange comparison when it comes to code integration.

Why is this relevant to the JF-17 conversation? We know that more than likely the JF-17 Block 3 will get an AESA radar. AESA radar are highly capable because they are software centric and all those wonderful things like frequency agility, variable power management and LPI waveforms are because they are software driven. ECM likewise are progressively digital and software driven. Integrating two different systems will be challenging especially when built by two very different groups. Arguing that it is simply plug and play is at best misguided and at worst delusional.

Radar and ECM don't integrate directly and there is no need for that. There is no need for direct radar and ECM subsystem exchange, but rather go into a common system, usually referred to as the CMS or combat management system which also handles the HMI to the pilot (or ship's crew). The combat systems consist of separate subsystems that communicate each other through a common bus.

All these things like LPI, frequency agility, and things like spoofing for the ECM, they are so fast you can't do them using conventional software code. They are microcoded into FPGAs, or you simply hard wire them in a circuit.
 

TerraN_EmpirE

Tyrant King
You absolutely have no idea. In a game, graphics are often panned out as calls to a library or is done by the game engine. Depending on what kind of game you are developing they may often use AI algorithms. There are also tons of code in the server back end, including motion prediction.
Exactly my point where as a fighter self contained and almost all it’s operations are simple. You are not loading an app to play Asian pop music on a fighter jet.
The graphics are more based on porting inputs from radar and optical sensors than generating your favorite finishing move in The latest Fortnight.
Yet by that same token until F35 No fighter had 8 Million lines of code even F22 had a fourth of that and that dwarfed the systems that came before it. That is a sign of the degree of sensor inputs and system management involved. Fighters like F16 got away with Nintendo level processing.
Someone mentioned F22 as “PlayStation” level processing. Well yeah okay but how many times has an app in your phone or computer crashed? How many times has a video game lagged?
You can’t have that happen in a military machine. So simpler code the better. Just the other day was the 50th anniversary of the Apollo 11 landing on the moon. Most people miss it but during the landing there was a near disaster as the navigation computer a marvel of its age suffered a 1202 error. The Navigation computer crashed. For Neil Armstrong that was an easy fix he went manual. Eagle was analog a few simple tricks and One Small step... history. By contrast those simple programming means less room for errors to compound and for the flight control to crash... and the Pilot with it.
 
The US DoD still uses ADA, which has been revised to ADA 2012. A lot of mission critical software written by aerospace companies like Boeing that are also done on civilian applications, such as FBW let's say on a Boeing jet, might still be on ADA. Problem is that few developers know ADA, and its down on the list for language popularity which limits the base of developers the DoD can use.

However, for Europe, China, Russia and the rest of the world, its not likely ADA is used with not even with mission critical code. Europe has used Object Pascal and Modula from what I have heard, while China and Russia might likely use C++, Python and local development language such as Kotlin for the Russians and EPL or Yi for China. Then your typical Javascript and PHP for web; Java, Python, Go (very popular in China), Kotlin, for Android; C# for Windows; Obj C for iOS. But for Chinese military, I would most likely assume C++ would be used, with Python on areas such as facial and image recognition.

Its also known that Chinese and Russian developers are freaking good, the best in the world, with the Chinese just nosing out the Russians in a hair.

Please, Log in or Register to view URLs content!

Hackerrank is as bad a measure of real engineering ability as lines of code is for software complexity or capability.
 
Last edited:

Tam

Brigadier
Registered Member
Exactly my point where as a fighter self contained and almost all it’s operations are simple. You are not loading an app to play Asian pop music on a fighter jet.
The graphics are more based on porting inputs from radar and optical sensors than generating your favorite finishing move in The latest Fortnight.
Yet by that same token until F35 No fighter had 8 Million lines of code even F22 had a fourth of that and that dwarfed the systems that came before it. That is a sign of the degree of sensor inputs and system management involved. Fighters like F16 got away with Nintendo level processing.
Someone mentioned F22 as “PlayStation” level processing. Well yeah okay but how many times has an app in your phone or computer crashed? How many times has a video game lagged?

I won't say military software is that reliable. Its been known, and the F-22 in particular, to require reboots.

Code on mobile devices is far more than just graphics. You forget they handle the I/O, such as the touch screens --- and most particularly, like the radar systems --- they handle the RF management and communication which is the heart of it all. Nowadays, smartphones have become even more sophisticated due to the security features, such as image recognition, facial recognition, fingerprint recognition, image processing. These things might sound mundane but they have very high end and have dual use (military and security) implications. There are also things like cryptos in your phone to hide sensitive data.

Games are even more complicated. RPGs for example are very database reliant, and in a multiplayer game, you are simultaneously handling data from different clients, putting them on a map, constantly checking for hit collisions. Depending on game, you see different levels of AI being used, such as pathfinding for bots. You will see a lot of pathfinding used on RTS games for example. Games also replicate physics. Shooter games maybe simulating actual rifles closely, down to the physics of the bullet. Then there are simulation games, where you are replicating F-16s and Su-27s right in your computer. Then all games are highly reliant on their netcode for client to server to client, and their multiplayer handling, and on top of that, all those microtransactions to get your money.

You can’t have that happen in a military machine. So simpler code the better. Just the other day was the 50th anniversary of the Apollo 11 landing on the moon. Most people miss it but during the landing there was a near disaster as the navigation computer a marvel of its age suffered a 1202 error. The Navigation computer crashed. For Neil Armstrong that was an easy fix he went manual. Eagle was analog a few simple tricks and One Small step... history. By contrast those simple programming means less room for errors to compound and for the flight control to crash... and the Pilot with it.

Not anymore. Any software developer worth his or her salt should know how to manage complexity. Its part of the profession.

Think of this. You are in a ground attack mission, and your plane is carrying an optical targeting pod. Do you think you can spend so much time scanning the ground and looking at your MFD for targets? What if the pod has the software to optically scan the ground and identify potential targets, match them with an image recognition database, create a positive ID of the target, all within seconds.

Or lets say, you use a drone instead that will do all that.

More than just making things for the warfighter to be easier and quicker, the whole advent of the Unmanned will introduce the need for more code in the battlefield applications, and we are talking about more high end things that deal with AI and stuff.
 
Last edited:

TerraN_EmpirE

Tyrant King
Yes down the line. But at the core of where we stand today so much of the applications of aviation is streamlined.
The graphics engine is what eats up massive data on games. I know I killed two laptops playing Kerbal Space Program.
Applications will get larger but military systems tend to be bare bones. The military is very conservative and high demand on reliability. Programming has gotten better and reboots have to happen with all computers but the Military tends to lag far behind Moore’s law which really is already obsolete.
 

Tam

Brigadier
Registered Member
Yes down the line. But at the core of where we stand today so much of the applications of aviation is streamlined.
The graphics engine is what eats up massive data on games. I know I killed two laptops playing Kerbal Space Program.
Applications will get larger but military systems tend to be bare bones. The military is very conservative and high demand on reliability. Programming has gotten better and reboots have to happen with all computers but the Military tends to lag far behind Moore’s law which really is already obsolete.

Graphics is usually done now by a subset in the game engine, a library that is making calls to DirectX or OpenGL.

Games nowadays are high level, using Python as a script. That means they skip doing low level actions like graphics. That lets them focus on the real content, such as game modes. Again, there are huge differences in the game genre, such as RTS, MOBA, RPG, MMORPG, Battle Royale, or just story scripted linear games you buy in a store. A multiplayer game can feature in game chat, in game VOIP, clan management, in game stores and microtransactions and so on.

Military yes, lags behind Moore's Law. But systems need to be smart and smarter, even just for the sake of threat identification alone. For example, your radar has picked up 20 targets and needs to prioritize four targets out of the 20. How does it determine which of the 20 is the most threatening? If you ask the pilot to do this while he's flying the jet, that's going to be work overload. If you have a second person in the plane to do the job, that would help, but that's not going to help fighters that are already single seat. Threat identification is a high level job.

If you go to a ship that is tracking over a thousand targets in its radar, that's going to be an even harder job.

There was a time, for example, that Intel 8080 level 8 bit processors were running systems like Patriots and S-300. Time goes, things are upgraded. But don't worry, most systems allow for some form of software and hardware upgrades where you take out the PC board, slip a new one with a new processor and firmware on it. You honestly think that a plane that has been flying since 2000 still keeps its original electronics? Maybe, if you have a poor defense budget, but assuming you have a healthy one, you can assume there will be periodic upgrades to the electronics that includes fixing the bugs, improving the general reliability and performance, adding new capabilities and to the threat library and so on.
 

Pmichael

Junior Member
The US DoD still uses ADA, which has been revised to ADA 2012. A lot of mission critical software written by aerospace companies like Boeing that are also done on civilian applications, such as FBW let's say on a Boeing jet, might still be on ADA. Problem is that few developers know ADA, and its down on the list for language popularity which limits the base of developers the DoD can use.

However, for Europe, China, Russia and the rest of the world, its not likely ADA is used with not even with mission critical code. Europe has used Object Pascal and Modula from what I have heard, while China and Russia might likely use C++, Python and local development language such as Kotlin for the Russians and EPL or Yi for China. Then your typical Javascript and PHP for web; Java, Python, Go (very popular in China), Kotlin, for Android; C# for Windows; Obj C for iOS. But for Chinese military, I would most likely assume C++ would be used, with Python on areas such as facial and image recognition.

Its also known that Chinese and Russian developers are freaking good, the best in the world, with the Chinese just nosing out the Russians in a hair.

Please, Log in or Register to view URLs content!

ADA was used for the complete software of the Eurofighter. Not that the language is that important, you will not be capable of writing faster with C or whatver because DO-178B standard will slow you down to a handful lines a day anyway.
 
Top