コード例 #1
0
ファイル: Program.cs プロジェクト: Phalap/SWTGroup10
        static void Main(string[] args)
        {
            // TEST AF SYSTEM UDEN SEPARATION EVENT
            FileLogger      filelogger    = new FileLogger();
            ConsoleRenderer consolerender = new ConsoleRenderer();
            Airspace        airspace      = new Airspace(10000, 90000, 10000, 90000, 500, 20000);

            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var system   = new ATM.TransponderReceiver(receiver);

            ATMclass atm = new ATMclass(filelogger, consolerender, airspace);

            system.Attach(atm);

            // TEST AF SYSTEM MED SEPARATION EVENTS
            //TrackData trackData1 = new TrackData("TEST1", 12000, 12000, 1000, "14322018", 10, 270);
            //TrackData trackData2 = new TrackData("TEST2", 12000, 12000, 1000, "14322018", 10, 270);

            //atm._currentTracks.Add(trackData1);

            //atm.CheckForSeperationEvents(trackData2);
            //atm.CheckForSeperationEvents(trackData2);

            // TEST AF SYSTEM MED LOGGER

            while (true)
            {
                Thread.Sleep(1000);
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            ITransponderReceiver transponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            IFlightTrackDataSource dataConverter = new DataConverter(transponderReceiver);
            IFlightTrackManager    flightManager = new SensorAreaManager(dataConverter);

            var airspace = new AirspaceManager(flightManager, new AirspaceArea(10000, 10000, 90000, 90000, 500, 20000));

            IEnterExitEventDetector   airspacEnterExitEventDetector = new EnterExitEventDetector(airspace);
            IEnterExitEventController airspaceEnterExitEventCtrl    = new EnterExitEventController(airspacEnterExitEventDetector);

            ISeperationEventDetector airspaceSeperationDetector = new SeperationEventDetector(airspace, 300, 5000);
            //ISeperationEventDetector seperationDetector = new SeperationEventDetector(flightManager, 5000, 10000);
            ISeperationEventController airspaceSeperationEventCtrl = new SeperationEventController(airspaceSeperationDetector);

            IMonitor monitor = new Monitor();
            var      airspaceContentDisplayer = new AirspaceContentDisplayer(monitor, airspace, 40, 20);
            var      aispaceEventDisplayer    = new EnterExitEventDisplayer(monitor, airspaceEnterExitEventCtrl);
            var      seperationEventDisplayer = new SeperationEventDisplayer(monitor, airspaceSeperationEventCtrl);

            while (true)
            {
                Thread.Sleep(250);
            }
            ;
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: sunero4/AirTrafficMonitor
        static void Main(string[] args)
        {
            var airspace = new Airspace(new Coordinates()
            {
                X = 10000, Y = 10000
            },
                                        new Coordinates()
            {
                X = 90000, Y = 90000
            }, 500, 20000);

            var trackLogging               = new TrackConsoleLogging();
            var velocityCalculator         = new VelocityCalculator();
            var degreesCalculator          = new DegreesCalculatorWithoutDecimals();
            var airspaceMovementMonitoring = new AirspaceMovementMonitoring(airspace, velocityCalculator, degreesCalculator, trackLogging);

            var separationConsoleLogger = new SeparationConsoleLogger();
            var separationXmlLogger     = new SeparationXmlLogging();

            var separation                = new Separation(separationXmlLogger, separationConsoleLogger);
            var airspaceMonitoring        = new AirspaceMonitoring(airspace, airspaceMovementMonitoring);
            var transponderDataConversion = new TransponderDataConversion(airspaceMonitoring);
            var transponderDataReceiver   = new TransponderDataReceiver(
                TransponderReceiverFactory.CreateTransponderDataReceiver(), transponderDataConversion, separation, airspace);

            transponderDataReceiver.StartReceivingData();
            Console.ReadLine();
        }
コード例 #4
0
        static void Main(string[] args)
        {
            ITransponderReceiver transponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            ITrackingSystem      trackingSystem      = new TrackingSystem(transponderReceiver);

            Console.ReadLine();
        }
コード例 #5
0
        static void Main(string[] args)
        {
            var positionCalculator = new PositionCalculator();

            // Using the real transponder data receiver
            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            // Dependency injection with the real TDR
            var formatter = new Formatter(receiver);

            var speed      = new SpeedCalculator();
            var position   = new PositionCalculator();
            var clear      = new ClearConsole();
            var render     = new RenderData(clear);
            var writer     = new LogWriter();
            var log        = new Log(writer);
            var seperation = new SeperationCalculator(log);
            var system     = new AirTrafficController(formatter, seperation, render, position, speed, clear);

            // Let the real TDR execute in the background
            while (true)
            {
                Thread.Sleep(1000);
            }
        }
コード例 #6
0
        static void Main(string[] args)
        {
            ITransponderReceiver receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            Decoder       d1  = new Decoder(receiver);
            AMSController ams = new AMSController(d1, new Airspace(

                                                      South: 10000,
                                                      West: 10000,
                                                      North: 90000,
                                                      East: 90000,
                                                      LowerAltitude: 500,
                                                      UpperAltitude: 20000
                                                      ));

            CollisionAvoidanceSystem cas = new CollisionAvoidanceSystem(ams, 20000, 10000);
            Logger fl     = new Logger(cas);
            Output output = new Output();

            ConsoleOutput c = new ConsoleOutput(ams, cas, output);

            while (true)
            {
                Thread.Sleep(1000);
            }
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: SWTGruppe29/ATM
        public static void Main(string[] args)
        {
            ConcreteATMFactory ATMfactory = new ConcreteATMFactory();
            ATMSystem          atm        = new ATMSystem(ATMfactory, TransponderReceiverFactory.CreateTransponderDataReceiver());



            //var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            //var airSpace = new AirSpace(10000, 90000, 90000, 10000, 20000, 500);
            //var separationCondition = new SeparationCondition(300, 5000);

            //var consolePrinter = new ConsolePrinter();
            //var logger = new Logger();
            //var trackCalc = new TrackCalculator();
            //var spChecker = new SeparationChecker(airSpace, separationCondition);
            //ATMSystem atm = new ATM.Classes.ATMSystem(receiver, airSpace, separationCondition, consolePrinter, logger, trackCalc, spChecker);



            while (true)
            {
                Thread.Sleep(1000);
            }
        }
コード例 #8
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var transponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var atm = new Lib.AirTrafficMonitor(new BillundAirTrafficMonitorFactory(), transponderReceiver);

            atm.TrackingsChanged        += RenderTrackings;
            atm.SeparationEventsChanged += RenderSeparationEvents;
        }
コード例 #9
0
        public ATM(IPlaneTracker plane)
        {
            planeTracker = plane;

            ITransponderReceiver receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            receiver.TransponderDataReady += Receiver_TransponderDataReady;
        }
コード例 #10
0
        static void Main(string[] args)
        {
            ITransponderReceiver transponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            new Factory(transponderReceiver);

            Console.ReadKey();
        }
コード例 #11
0
        public void TransponderReceiver_DetachATMwithoutAttachingIt_observersCountIs0()
        {
            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var system   = new ATM.TransponderReceiver(receiver);

            system.Detach(uut);

            Assert.That(() => system.getObserverCount().Equals(0));
        }
コード例 #12
0
        public Client()
        {
            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            _convertFilter       = new ConvertFilter(receiver, new CompasCourse(), new Velocity());
            _airplaneValidation  = new AirplaneValidation(_convertFilter);
            _outputFilter        = new OutputFilter(_airplaneValidation);
            _separationCondition = new CheckSeparationCondition(_airplaneValidation);
        }
コード例 #13
0
        static void Main(string[] args)
        {
            var reciever    = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var trackfilter = new TrackFilter(reciever);

            while (true)
            {
            }
        }
コード例 #14
0
        static void Main(string[] args)
        {
            //Dependencies for Airport
            DecodeFactory.DecodeFactory trackFactory = new TrackFactory();
            AirSpace airspace = new AirSpace
            {
                Height_from = 500,
                Height_to   = 20000,
                X           = 80000,
                Y           = 80000
            };
            IExceptionHandler exceptionHandler = new NullReferenceExceptionHandler();

            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            var Airport = new Airport(receiver, trackFactory, airspace, exceptionHandler);

            //Dependencies for ATM
            IOccurenceDetector Detector  = new TrackOccurrenceDetector();
            IDisplay           Display   = new MonitorConsole();
            IOccurrenceLogger  Logger    = new OccurrenceLogger();
            IFormat            Formatter = new TrackFormater();
            IExceptionHandler  Exception = new NullReferenceExceptionHandler();
            IConsoleClear      Consoler  = new ConsoleClear();

            Air_Traffic_Monitor ATM = new Air_Traffic_Monitor(Airport, Detector, Display, Logger, Formatter, Consoler, Exception);


            #region DecodeFactory Test

            /*
             * var Aircrafts = new List<string>
             * {
             *  "BTR312;2004;18204;5500;20151006213456789",
             *  "BTR312;3200;18602;5500;20151006213456789",
             *  "BTR312;4200;18802;5500;20151006213456789"
             * };
             *
             * var factory = new TrackFactory();
             * var tracks = factory.CreateTracks(Aircrafts);
             *
             * foreach(var track in tracks)
             * {
             *  Console.WriteLine($"Tag: {track.Tag}");
             *  Console.WriteLine($"Current altitude: x:{track.CurrentPositionX.ToString()}, y:{track.CurrentPositionY.ToString()}");
             *  Console.WriteLine($"Current altitude (Meters): {track.CurrentAltitude.ToString()}");
             *  Console.WriteLine($"Current Horizontal Velocity (m/s): {track.CurrentHorizontalVelocity.ToString()}");
             *  Console.WriteLine($"Current Compass Course: {track.CurrentCompassCourse}");
             *  Console.WriteLine( $"Timestamp: {track.TimeStamp.ToString()}\n");
             *
             * }
             */
            #endregion


            Console.ReadLine();
        }
コード例 #15
0
        public ATM(int minimumDistance, int minimumAltitude)
        {
            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            _stringFormatter  = new StringFormatter(receiver, new CompassCourseDegreeCalculator(), new VelocityCalculator());
            _airspaceFilter   = new AirspaceFilter(_stringFormatter);
            _conditionChecker = new ConditionChecker(minimumDistance, minimumAltitude, _airspaceFilter);
            _display          = new DisplaySeparator(_airspaceFilter, _conditionChecker);
        }
コード例 #16
0
        public void TransponderReceiver_AttachATM_observersCountIs1()
        {
            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var system   = new ATM.TransponderReceiver(receiver);

            system.Attach(uut);

            Assert.That(() => system.getObserverCount().Equals(1));
        }
コード例 #17
0
        public void TransponderReceiver_AttachATMthenDetach_observersCountIs0()
        {
            var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var system   = new ATM.TransponderReceiver(receiver, consoleOutput);

            system.Attach(uut);
            system.Detach(uut);

            Assert.That(() => system.getObserverCount().Equals(0));
        }
コード例 #18
0
ファイル: Program.cs プロジェクト: Tue2407/SWT22_ATM
        static void Main(string[] args)
        {
            ITransponderReceiver transponderDataReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            ITrackReceiver trackReceiver = new TrackDataReceiver();

            var decoder = new DecodingWithMethod(transponderDataReceiver, trackReceiver);

            System.Console.ReadLine();
        }
コード例 #19
0
 public ControllerFactory()
 {
     Decoder           = new Decoder();
     Filter            = new TrackDataFilter();
     CollisionDetector = new CollisionDetector(new Logger());
     Display           = new Display();
     Receiver          = TransponderReceiverFactory.CreateTransponderDataReceiver();
     FlightCalculator  =
         new FlightCalculator(new VelocityCalculator(), new DirectionCalculator());
 }
コード例 #20
0
ファイル: Program.cs プロジェクト: mat0pad/SWT-ATM
        public static void SimulationThread(Airspace airspace)
        {
            CoordinateMapper coordinate = new CoordinateMapper(new TransponderDataFormat());

            coordinate.Attach(airspace);

            TrackSimulator simulator = new TrackSimulator(coordinate, TransponderReceiverFactory.CreateTransponderDataReceiver());

            simulator.StartSimulation();
        }
コード例 #21
0
        static void Main(string[] args)
        {
            var tr       = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var decoding = new Decoding(tr);

            while (true)
            {
                Thread.Sleep(1000);
            }
        }
コード例 #22
0
ファイル: Program.cs プロジェクト: NianLiv/SWT_Handin_3
        private static void Main()
        {
            Console.CursorVisible = false;
            var tos = new Tos(TransponderReceiverFactory.CreateTransponderDataReceiver());
            var atm = new AirTrafficController(new CollisionDetector(), new TrackStorage(), new AirSpace(), new ConsoleView(new ConsoleOutput()), new FileLogger());

            tos.Attach(atm);

            Console.ReadLine();
        }
コード例 #23
0
ファイル: Program.cs プロジェクト: JulieAlberte/SWT1_ATM
        static void Main(string[] args)
        {
            ITransponderReceiver transponderDataReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            var decoder = new DecodingWithEvent(transponderDataReceiver);

            decoder.TrackDataReady += (o, trackArgs) => PrintTracks(trackArgs.TrackData);

            System.Console.ReadLine();
        }
コード例 #24
0
        static void Main(string[] args)
        {
            var receiver       = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var trackReciever  = new TrackReciever(receiver);
            var dataCalculator = new DataCalculator(trackReciever);
            var controller     = new AirTrafficController(dataCalculator);

            while (true)
            {
            }
        }
コード例 #25
0
ファイル: ViewModel.cs プロジェクト: JonasRasborg/GUI
        public ViewModel()
        {
            Renderer = new Renderer(new Controller(new Relay(TransponderReceiverFactory.CreateTransponderDataReceiver()), new Area(), new CompassCourse(), new Conflict(),
                new Speed(), new EventDetector(new FileLog())));

            Renderer.RenderTracks += RenderAllEventHandler;
            Renderer.RenderEvent += RenderEventHandler;
            notificationEvents = new List<Event>();
            warningEvents = new List<Event>();

        }
コード例 #26
0
ファイル: Program.cs プロジェクト: sskieller/SWT_HandIn3
        public ATM()
        {
            _detector = new CollisionDetector();
            _detector.SeparationEvent   += DetectorOnSeparationEvent;
            _detector.NoSeperationEvent += DetectorOnNoSeperationEvent;
            _dataParser = new TransponderDataParser();
            _receiver   = TransponderReceiverFactory.CreateTransponderDataReceiver();
            _receiver.TransponderDataReady += ReceiverOnTransponderDataReady;

            UpdateScreen();
        }
コード例 #27
0
        public Decoder()
        {
            _airspace         = new Airspace(90000, 10000, 90000, 10000, 20000, 500);
            Writer            = new LogWriter();
            CollisionDetector = new CollisionDetector();
            Tracks            = new List <ITrack>();
            Track             = new Track();

            TransponderReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();
            TransponderReceiver.TransponderDataReady += DecodeTransData;
        }
コード例 #28
0
        static void Main(string[] args)
        {
            Console.CursorVisible = false;
            Console.SetWindowSize(200, 60);

            var trackFactory = new TrackFactory(TransponderReceiverFactory.CreateTransponderDataReceiver());
            var airspace     = new Airspace(trackFactory);
            var separation   = new Separation(airspace);

            new Output(trackFactory, airspace, separation);

            Console.ReadKey();
        }
コード例 #29
0
        static void Main(string[] args)
        {
            IFlightRecordFactory  factory             = new FlightRecordFactory();
            IFlightRecordReceiver recordReceiver      = new FlightRecordReceiver(TransponderReceiverFactory.CreateTransponderDataReceiver(), factory);
            IView                view                 = new ConsoleView(new CustomConsole());
            ILogger              logger               = new Logger();
            IAirspace            monitoredAirspace    = new Airspace(90000, 10000, 20000, 500);
            ISeperationHandler   handler              = new SeparationHandler();
            FlightObserver       flightObserver       = new FlightObserver(monitoredAirspace, recordReceiver, view, handler);
            AirspaceEventHandler airspaceEventHandler = new AirspaceEventHandler(flightObserver, view, logger, handler);

            Console.ReadKey();
        }
コード例 #30
0
        static void Main(string[] args)
        {
            var receiver          = TransponderReceiverFactory.CreateTransponderDataReceiver();
            var decrypting        = new Decrypting(receiver);
            var airspace          = new Airspace(decrypting);
            var trackCalculator   = new TrackCalculator(airspace);
            var rendering         = new Rendering(trackCalculator);
            var conflictDetection = new ConflictDetection();

            while (true)
            {
            }
        }