Pase el obj de la directiva al controlador en AngularJS

Estoy tratando de escribir una directiva que obtenga el controlador principal y el controlador de formulario principal y los pase como un solo objeto a mi controlador, esto es lo que tengo:

HTML:

<div ng-controller="ParentController as self" ng-form="ParentForm">

  <div ng-controller="ChildController1 as self" my-parent="self.parent">
    ChildController1 parent:<br/>
    {{self.parent}}
  </div>

  <br/>

  <div ng-controller="ChildController2 as self" my-parent="self.parent">
    ChildController2 parent:<br/>
    {{self.parent}}
  </div>

</div>

JS:

myApp.directive('myParent', function() {
  var directive = {
    restrict: 'A',
    link: link
  };

  return directive;

  function link(scope, element, attrs) {
    var parentElement = element.parent();
    var parentCtrl = parentElement.controller();
    var formCtrl = parentElement.controller('form');

    var parent = parentCtrl;
    parent.form = formCtrl;

    console.log("directive parent obj: ", parent);

    // How can I pass the parent obj to controller???
  }
});

He escrito un saqueador aquí para explicar mejor la situación:https://plnkr.co/edit/axnR6t2Q82IVtzftq7y7?p=preview

Sé que en este caso podría usar controllerAs con diferentes nombres en mis controladores, pero necesito que funcione con una directiva (directiva "restrict: A").

¿Puede alguien ayudarme con este problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta